MQL4(Metatrader 4编程序语言)OrderSend(),获利和止损变量

时间:2018-08-19 05:38:25

标签: mql4 metatrader4 mt4 metatrader5

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)来指定止盈和止损水平,这完全不符合我的策略。

感谢您对此的评价。

1 个答案:

答案 0 :(得分:0)

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