任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 974

 
大家好!我真的很期待你们的帮助。我想我的问题的解决方案会让很多人感兴趣。当市场非常活跃时,专家顾问经常设置错误的止损和止盈水平。是否可以编写代码,强制EA在开仓后检查仓位的平仓水平是否设置正确,如果与最初设置的不同,那么EA将正确设置止损和止盈水平。例如,我希望以50个单位的平等止损和止盈水平开立交易,这已在EA中设定。但由于强烈的震荡,一笔交易在47点止损,53点止,这并不适合我。请帮助我写一段代码,使交易开始后的收盘价等于50。我将非常感激,我相信我不是唯一的一个人。
 
Hali:
大家好!我非常希望得到你们的帮助。我想,我的问题的解决方案会让很多交易者感兴趣。当市场非常活跃时,专家顾问往往会错误地设置止损和止盈水平。是否可以编写代码,强制EA在开单后检查收盘价是否设置正确,如果与最初设置的不同,那么EA将正确设置止损和止盈。例如,我希望以50个单位的平等止损和止盈水平开立交易,这已在EA中设定。但由于强烈的震荡,一笔交易在47点止损,53点止盈,这并不适合我。请帮助我写一段代码,使交易开始后的收盘价等于50。我将非常感激,我相信我不是唯一的一个人

我确信有一个。

除了OrderSend()之外,在同一组函数"交易函数"中还有OrderModify()。此外,有些账户类型,你不能同时开出非零止损的订单和持仓。这意味着我们首先开立一个订单,然后使用OrderModify()函数下一个止损和取货订单,取货和止损水平应从价格OrderOpenPrice()中计算出来。

我希望这个答案足够清楚。

 
答案很清楚,但不幸的是,我不知道该怎么做(。你能给我看一个实现这一点的代码例子吗?我将非常感谢你。
 
Hali:
答案很清楚,但不幸的是,我不知道该怎么做(。你能给我看一个实现这一点的代码例子吗?我将非常感谢你。

那么,在文件 中就有例子

void OnStart()
  {
   int TrailingStop=50;
//--- модифицирует цену Stop Loss ордера на покупку №12345
   if(TrailingStop>0)
     {
      OrderSelect(12345,SELECT_BY_TICKET);
      if(Bid-OrderOpenPrice()>_Point*TrailingStop)
        {
         if(OrderStopLoss()<Bid-_Point*TrailingStop)
           {
            bool res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-_Point*TrailingStop,_Digits),OrderTakeProfit(),0,Blue);
            if(!res)
               Print("Ошибка модификации ордера. Код ошибки=",GetLastError());
            else
               Print("Цена Stop Loss ордера успешно модифицирована.");
           }
        }
     }
  }
 

问题删除。

 
Alligator:

问题删除。

谢谢你的回答。不幸的是,我在这方面是个新手。我有一个EA(写的时候离不开本论坛成员的帮助),我想按照上面的帖子中描述的那样,用修改取舍和停止来补充它,但我没有办法做到。如果不是太麻烦的话,请谁来帮我完成这项任务。
 

我现在看不到mql4.com上的 "按网站搜索 "按钮了。

在mql5.com上,这个按钮仍然存在。

是巧合还是应该完全改用mql5?

 
Hali:
谢谢你的回答。不幸的是,我在这方面完全是个新手。我有一个EA(在本论坛成员的帮助下写的)。 我想通过修改取舍和止损来修改它,就像上面的帖子中描述的那样,但我做不到。如果不是太麻烦的话,请谁来帮我完成这项任务。

自己写吧!如果你在马丁号上输了,你会责怪自己的!没有人愿意被指责!或者去找Freelance公司,他们会以专业的方式做任何事情,而且价格低廉!

 
BAS581:

我现在看不到mql4.com上的 "按网站搜索 "按钮了。

在mql5.com上,这个按钮仍然存在。

是巧合还是应该完全改用mql5?

有一个搜索!把你的光标移到放大镜上,然后写下你需要的东西!
 
borilunad:
有一个搜索!将你的光标悬停在放大镜上,然后写下你所需要的东西!

谢谢你的帮助。如果你知道有一个解决方案,就会更容易找到它。)))

在这种情况下,解决方案是这样的:在FireFox中,放大页面,然后出现放大镜。

它只是在正常规模下无法使用。