[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 216

 
artsnz >> :

这有可能吗?DoC提出以更好的价格关闭一个订单????这是我第一次听说一家经纪公司变得如此马虎。

机器人并不愚蠢,根据定义,它不可能是愚蠢的。

有必要简单地纠正代码,如果你想,你可以在这里布置,你可以在这里帮助,你可以在你的个人信息中写,肯定也会帮助。

1.是的,它发生了--从日志中可以看出。

2.我使用的 "愚蠢 "一词是比喻性的,意思是代码中有些地方出了问题。

3.下面是摆好姿势的代码。

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

但是,这个姿势并不总是关闭,这不是一个错误,它被认为是正常的,这样的信息来自于服务器。

2009.09.08 00:44:42 '64766': 重新报价 1.51893 / 1.51933 为订单 #11573500 卖出 1.80 EURCHF 收于 1.51914

如你所知,这意味着在收盘请求进入服务器时,价格在短期内发生了变化。

而服务器建议一个新的收盘价。给予服务器响应的时间 - 3秒。而问题就在这里--服务器拒绝以新的价格关闭订单!

这种情况如何发生还不清楚...请帮助我理解。

 

伙计们,请解释一下感叹号(!ExistPosition)的含义。

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore *Point)

 
001 >> :

伙计们,请解释一下感叹号(!ExistPosition)的含义。

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

这句话的直译将是

如果cnt大于0并且ExistPosition(OP_BUY)函数返回FALSE并且Ask小于或等于价格-PipsForOpenMore * Point,那么....。

"!"是一个否定词。如果不是这样,if条件将假定ExistPosition(OP_BUY)函数应该返回TRUE。

 
你好,请问如何在EA中捕捉并处理止损或止盈事件?我想请教您如何处理止损或止盈的平仓事件。
 
cdover >> :
你好,请你告诉我如何在EA中捕捉和处理在止损或止盈时关闭交易的情况。>> 谢谢你。

你是否希望在停止/获利关闭前执行一些东西?

 
MrSoros писал(а)>>

你是否希望在停止/获利关闭前执行一些东西?

不,就在收盘后。

 

OrdersTotal() - 一旦订单被关闭,将返回0。

相应地,如果OrdersTotal()返回0,那么你就进行处理......。

这是在只有一个订单开放时的情况。

如果你更详细地描述你的情况,你想在订单结束后做什么,那么我将能够给你一个更好的答案 :)

 
Alex5757000 >> :
同事们,我有一个关于平均数的问题。纯粹的数学问题。让我们假设我们有3次平均数:在1.8和1.6和1.4的价格下,具有相同数量的1手头寸。这里的实际开盘价将是1.6,有了这个就很清楚了。但我不明白,如果我们用不同的手数开仓,例如用N的平均系数开仓,我怎么能计算出实际的开仓价格。// 例如:0.1手和0.2手和0.4手--这里N==2,1.8和1.6和1.4。实际开盘价会是多少?

我不明白这种逻辑。

你能从一个例子中更准确地解释吗?

 
MrSoros писал(а)>>

3.下面是平仓的代码。

将滑点值增加到50,你有5位数,所以0.3个点是不行的。

 
cdover писал(а)>>
你好,请你告诉我如何在我的EA中捕捉和处理在止损或止盈时关闭交易的事件。>> 谢谢你。

看看历史上的最后一个订单,确定订单类型。

例如,对于一个多头头寸。

如果该订单以等于或低于止损的价格收盘,那么它就是止损。

如果在价格等于或高于TakeProfit-TakeProfit。

原因: