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)来指定止盈和止损水平,这完全不符合我的策略。
感谢您对此的评价。
答案 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)
,如果可以,则通过设置止损并获利来修改它