mql4下买单,总是出现ordersend error 130

 

   yesterday_high = iHigh(Symbol(),PERIOD_D1,1);

   ticket=OrderSend(Symbol(),OP_BUY,开仓数量,Ask,0,yesterday_high,0,"",magic,0,Red);

   我想把止损设置在昨日最高价格,请问该如何写代码呢,上面这段代码总是报ordersend error 130

 

1. 滑点参数不能为0.

2. 开多单的止损价格必须位于市价之下一定距离,昨日的最高价不一定位于当前市价之下。

 
Ziheng Zhuang:

1. 滑点参数不能为0.

2. 开多单的止损价格必须位于市价之上一定距离,昨日的最高价不一定位于当前市价之上。

  可是我之前是有判断的,if(close[0]>昨日最高价格)  那么在开多单            这时候我设置多单止损为昨日最高点应该是没问题的啊。
 
Ziheng Zhuang:

1. 滑点参数不能为0.

2. 开多单的止损价格必须位于市价之上一定距离,昨日的最高价不一定位于当前市价之上。

平时手动下多单的时候,止损也可以放在市价之下啊。
 
Ziheng Zhuang:

1. 滑点参数不能为0.

2. 开多单的止损价格必须位于市价之上一定距离,昨日的最高价不一定位于当前市价之上。

该如何解决这个止损的问题呢?
 

重新编辑了原回答。

原问题是止损不对,那止损应该是位于市价之下。

开仓时的市价 减一定止损点数 即可。

 
1092156210:
该如何解决这个止损的问题呢?


先要判断昨天的最高价是不是比市价低,低且满足最小距离要求才能设置止损,查看 SymbolInteger() 的 SYMBOL_TRADE_STOPS_LEVEL。

 
查看一下平台的最近止损距离,止损小于这个距离是不可以的。右击一下货币对名字,看一下规格里面的说明。
 
Ziheng Zhuang:


先要判断昨天的最高价是不是比市价低,低且满足最小距离要求才能设置止损,查看 SymbolInteger() 的 SYMBOL_TRADE_STOPS_LEVEL。

好的,谢谢。
 
fuzhou an:
查看一下平台的最近止损距离,止损小于这个距离是不可以的。右击一下货币对名字,看一下规格里面的说明。

好的,多谢。

 
Ziheng Zhuang:


先要判断昨天的最高价是不是比市价低,低且满足最小距离要求才能设置止损,查看 SymbolInteger() 的 SYMBOL_TRADE_STOPS_LEVEL。

还有一个问题想要请教一下。

我想通过代码形式直接平仓。首先我获取订单的时间,然后选择这个时间的前一个K线,但是如何用时间选择前一根K线呢?

原因: