[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 533

 
Sancho77:

亲爱的,我在测试器中测试一个EA,日志显示错误138。我的意思是,测试者产生了重新报价?我怀疑我在这部分代码的某个地方出了错误

如果你真的有错误,请告知我哪里出了问题?

可能是OrderClose()中的错误价格
 
PapaYozh:

可能是OrderClose()中的价格不正确
我怎样才能检查/纠正?
 
Sancho77:
你是如何检查/纠正的?

使用请求被发送到服务器时的有效价格。
 
PapaYozh:

使用请求被发送到服务器时的有效价格。
我不使用RefreshRates来获得有效的价格吗?
 
Sancho77:
我怎样才能检查/纠正?


实际上,有一个通灵师的分支在等待这个问题。从你的代码中不清楚你在关闭什么样的订单。

是OP_BUY吗?

OrderSymbol()与Symbol()相同?

 
Sancho77:
使用RefreshRates我得不到有效的价格吗?


如果RefreshRates()返回真,你就会这样做。

唯一的问题是:"买入价是可以关闭订单的价格吗?"

 
PapaYozh:


实际上,通灵分支正在等待这个问题。从你的代码中不清楚你关闭的是什么顺序。

是OP_BUY吗?

OrderSymbol()与Symbol()相同?


OrderSymbol()等同于Symbol()。

我关闭所有未结订单,包括多头和空头。

PapaYozh:


如果RefreshRates()返回真,你就会这样做。

唯一的问题是:"Bid是可以关闭订单的价格吗?"

即把多头和空头的平仓分开?

 
Sancho77:

OrderSymbol()与Symbol()相同。

我关闭所有未结订单,包括多头和空头。


还有哪些短线的竞价?

只有OP_BUY类型的订单可以通过Bid关闭

 
PapaYozh:


还有什么其他短线的投标价格?

只有OP_BUY类型的订单可以在Bid时关闭

谢谢你的帮助!
 
Sancho77:

OrderSymbol()与Symbol()相同。

我关闭所有未结订单,包括多头和空头。

即把多头和空头的平仓分开?


if ( OrderType()=OP_BUY )
   OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Orange);
else if ( OrderType()=OP_SELL )
   OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Orange);