检查在市场上发布的EA中的最小止损。 - 页 15

 

挡板。

我搞不清楚原因。

服务器上的最小止损为18点

在日志中的信息。

2016.04.06 08:32:02     Core 1  2016.01.05 21:36:00   Result = 10016 symbol EURUSD volume 0.01 action 1 tp 1.07441 sl 1.07389 type 0 price 1.07415   Invalid stops in the request
2016.04.06 08:32:02     Core 1  2016.01.05 21:36:00   failed instant buy 0.01 EURUSD at 1.07415 sl: 1.07389 tp: 1.07441 [Invalid stops]

开盘价=1.07415

止损=1.07389=26点

获利=1.07441=26点

而且还是写错站。

 
Vladislav Andruschenko:

挡板。

我搞不清楚原因。

服务器上的最小止损为18点

在日志中的信息。

开盘价=1.07415

止损=1.07389=26点

获利=1.07441=26点

而且还是写错站。

你的"滑点"不比 "最小服务器止损18点 "大吗?
 

滑移量=2次

这相当于20个点,更多是的。

 
Vladislav Andruschenko:

滑移量=2次

这相当于20个点,更多是的。

所以计算一下--滑点比SL、TP设定的水平要多。

为了避免这种情况,我首先打开SL; TP=0,然后修改SL; TP= Ask-26*_Point

如果没有,则应根据价格+-滑点计算最低止损水平

 

谢谢你。我将思考滑坡的问题--但我从来没有遇到过这样的问题。代码一直在工作,但在倒数第二个构建之后(自12月以来),如果你将服务器最小级别设置为停止--它就不会打开,就是这样。

 
Vladislav Andruschenko:

服务器上的最小止损为18点

交易开盘价=1.07415

止损=1.07389=26点

获利=1.07441=26点

但它仍然写错站。

买入的止损应该从买入价开始计算(在此价位上会触发)。

而你从SL到Bid只有16个点。

 

那么,是什么阻止了你在发生错误时推回TP/SL?抓住一个错误--移动传播,再抓住它--再移动......。

 
Taras Slobodyanik:

那么,是什么阻止了你在发生错误时推回TP/SL?抓住一个错误--移动传播,再抓住它--再移动......。

不,你需要第一次就把它做对。该代码应能正常工作而不出错 )
 
Igor Volodin:
不,你必须在第一次就猜对。该代码应能正常工作,不会出现错误)。

正是如此

安德烈-哈蒂姆连斯基

买入的止损应该以买入价为基础(在此价位上会触发)。

而你从SL到Bid只有16个点。

点差在那里计算,点差是8点。+最小止损18=26点。

在这里,27岁的人一切都很好。

更进一步说,如果一个人需要设置100点的止损,这意味着他将损失100点,所以对于从ASC价格开始的BAY,你必须要计算100点。

而对于从投标中卖出。

//Вычисляем стоплосс
   if(StopLoss!=0)sl=MarketInfo(Symbol(),MODE_ASK)-StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
   if(TakeProfit!=0)tp=MarketInfo(Symbol(),MODE_ASK)+TakeProfit*Point; else tp=0;
   OPs(Symbol(),OP_BUY,GetSizeLot(),sl,tp,Magic,"");

//Вычисляем стоплосс
   if(StopLoss!=0)sl=MarketInfo(Symbol(),MODE_BID)+StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
   if(TakeProfit!=0)tp=MarketInfo(Symbol(),MODE_BID)-TakeProfit*Point; else tp=0;
   OPs(Symbol(),OP_SELL,GetSizeLot(),sl,tp,Magic,"");
 
Igor Volodin:
不,你必须从第一次就猜对。该代码应能正常工作而不出错 )

所以你怎么能不猜呢?如果经纪人给出一个不合理的止损水平? %)

...很明显,在所有的检查之后,你必须猜测才能知道最小缩进 量。