新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 552

 
VasiliKolchanov:
Ihor 谢谢你的回答,只有一个问题,这不会是一个延迟,也就是说,在暂停期间,每一个刻度 都会累积警报,而在一段时间后,EA将向我发送所有的警报(所有累积)?这听起来可能很荒谬,但对不起,新手--我正在学习。

它不会,因为它不会达到触发警报的程度。你会收到一个警报,然后在设定的时间段后,会收到另一个警报,以此类推。

 
Vitaly Muzichenko:

其实应该是反过来的)

谢谢你!!!。

 

解释一下这里有什么问题。我在日线蜡烛图的日线分解上设置了一个开仓订单。即,在00:00,一个新的日线蜡烛在前一个蜡烛内打开。



double open1, close1, open, close;

open1=iHigh(NULL,PERIOD_D1,1)。

close1=iLow(NULL,PERIOD_D1,1)。

open=iHigh(NULL,PERIOD_D1,0)。

close=iLow(NULL,PERIOD_D1,0)。


如果(O(m)==false){ //如果没有订单

如果(open1<Ask){

b(......);}//开放订单


如果(close1>Ask){

s(.......);}}/open order



莫斯科时间,订单在00.03的前一根蜡烛内打开,我在晚上00.03观察,因为新的蜡烛形成,它仍然打开订单。就好像EA没有看到一个新的日线蜡烛图一样。

虽然我在每小时的故障上做了完全一样的,但它的效果非常好。

如果我在06.00启用我的EA,它将如期工作,但我不喜欢在06.00之前发生白天的故障,06.00之后订单将在错误的地方打开。问题出在每天的蜡烛和莫斯科时间的时间差上。华盛顿特区大首都


救命啊,求你了

 
叶夫根尼-奥舒尔克维奇 :你已经回答了你自己的问题。烛台是按服务器时间 绘制的。而你当地的可能与之不吻合。

因此,让猫头鹰过夜,如果正常写,它会让你处于一个位置。或者在你感兴趣的时间区间上计算你的蜡烛图。

 
Ihor Herasko:

它不会,因为它不会达到触发警报的程度。你会收到一个警报,然后在设定的时间段后,会收到另一个警报

谢谢你!

 

请教如何处理一个推迟到明天的未平仓订单的情况,在指定的参数上自动打开一个新的时段进行盈利?唯一的问题是:我如何识别一个新的会话?在我的情况下,新的酒吧 检测功能不会起作用。也许有人知道如何分别返回订单的年、月、日,在这种情况下我会解决这个问题,我不知道如何做其他事情。

 
VasiliKolchanov:

请教如何处理一个推迟到明天的未平仓订单的情况,在指定的参数上自动打开一个新的时段进行盈利?唯一的问题是:我如何识别一个新的会话?在我的情况下,识别一个新酒吧 的功能将无法工作。其余的我有一个大概的想法,就是如何做。

很明显--需要有识别新会话的功能)

 
VasiliKolchanov:

也许有人知道如何分别返回这个订单的年、月、日,那么问题就解决了。 我不知道如何做其他的事情。 也不知道是否会对我有帮助,建议以什么格式返回函数OrderOpenTime (year.month.day.hour : min : sec OR hour : min : sec) ?

在这里,我草拟并测试了一个脚本,它将检查历史上的平仓订单(我现在没有市场订单,你可以自己重新做),找到最后的平仓订单并记录下来。

#property strict
//+------------------------------------------------------------------+
void OnStart()
  {
   int i,otype,k=OrdersHistoryTotal();
   string sy=Symbol();
   datetime oclose,t=0;
   for(i=0; i<k; i++) 
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) 
        {
         otype    = OrderType();
         oclose   = OrderCloseTime();
         if(OrderSymbol()==sy)
           {
            if(otype==OP_BUY || otype==OP_SELL)
              {
               if(t<oclose)
                 {
                  t=oclose;
                 }
              }
           }
        }
     }
   Print("Последний ордер закрыт: ",TimeDay(t)," день, ",TimeHour(t),"час, ",TimeMinute(t)," минуты");
  }
//+------------------------------------------------------------------+

结果。

21:12:07.558 test EURUSD,H1: 最后一笔订单关闭:第27天,21小时,17分钟

 
Taras Slobodyanik:

显然--需要一个新的会话识别功能)

它看起来像什么,塔拉斯?
 
Igor Makanu:

我已经草拟并测试了一个脚本,它将检查历史上的平仓订单(我现在没有市场订单,你可以自己重做),并找到最后的平仓订单,并记录有关信息。

结果。

21:12:07.558 test EURUSD,H1: 最后一笔订单关闭:第27天,21小时,17分钟

原因: