【问题标题】:MQL4 (Metatrader 4 prog language) OrderSend() , take profit and stop loss variablesMQL4 (Metatrader 4 prog 语言) OrderSend() , 止盈和止损变量
【发布时间】:2018-08-20 00:31:39
【问题描述】:
if (Ask > highest_price) { 

double takeprofit=NormalizeDouble(Bid+15*Point,Digits); 

double stoploss=NormalizeDouble(Bid-5*Point,Digits); 

int ticket=OrderSend(Symbol(),OP_BUY,0.1, Ask,0,stoploss,takeprofit,"My order",0,0,clrGreen); }

目前这是我的代码。我想分别使用自定义止损和获利 5 点和 15 点。但我得到一个与此相关的错误代码 130。它只允许我使用 MarketInfo()(例如,与价格所需的最小距离,对于 EURUSD 实际上是 0)来指定止盈和止损水平,这根本不适用于我的策略。

我会很感激你的意见。

【问题讨论】:

    标签: mql4 metatrader4 mt4 metatrader5


    【解决方案1】:

    首先,15 点并不一定意味着 15 点。如果您的经纪人有 5 位数的报价,15*Point 将意味着 1.5 点,这可能与当前价格相比太短。 接下来,在询问我们之前打印值总是更容易。因此,尝试查看所有值(买价、卖价、止损、获利),可能很容易发现问题。 最后一个建议是您的经纪人是 ECN 经纪人或行为类似。在这种情况下,尝试int ticket=OrderSend(_Symbol,OP_BUY,0.1,Ask,10/*slippage in Point*/,0,0,NULL),如果没问题,然后通过设置止损和获利来修改它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      相关资源
      最近更新 更多