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

 
Igor Makanu:

最有可能的是你需要变体1,然后在计算周期的指标中,在搜索条形的地方,你使用以下结构。

在检查完条件后,你在Time[i]中拥有所需的时间

谢谢你的答复。我使用CheckTimer() 函数,我把startTime,endTime作为日期传给根据我的理解,TimeDayOfWeek()返回的值从1到5我如何将它们转换为日期格式,以便在CheckTimer()函数中使用它们?还是我也要修改这个功能?

 
Gerkl:

谢谢你的答复。我使用CheckTimer() 函数,我把startTime,endTime作为日期传给据我所知TimeDayOfWeek()返回值为1到5我如何将它们转换为日期格式,以便在CheckTimer()函数中使用它们?还是我也要修改这个功能?

这个怎么样

int   shift = iBarShift(NULL,PERIOD_W1,Time[i]);  
  
datetime startTime = iTime(NULL,PERIOD_W1,shift); 
datetime endTime = startTime + PeriodSeconds(PERIOD_W1); 
 
Alekseu Fedotov:

也许如此

谢谢你,但它显示的是周日到周日的整个一周,而我需要的是周一到周五(交易周)。


周

 

将10份相同的EA放在一个EA中,但参数不同,有什么好办法?


我想是的...
整个EA的代码在一个函数中。
而只是让输入参数 成为函数的EA参数。

在Ontick中,只需用不同的参数注册10次该函数。


而我们应该通过评论 来划分订单。
为不同的EA副本规定不同的评论。

 
multiplicator:

将10份相同的EA放在一个EA中,但参数不同,有什么好办法?


我想是的...
整个EA的代码在一个函数中。
而只是让输入参数 成为函数的EA参数。

在Ontick中,只要重写该函数10次,参数不同。


而我们应该通过评论来划分订单。
我们将为不同的EA副本撰写不同的评论。

最好是做不同的马吉克

 
Vladimir Pastushak:

最好让梅杰斯变得与众不同

为什么更好?
只是,也许仍会有另一个EA在那里交易。
 
Gerkl:

谢谢你,但它就是这样显示了从周日到周日的整个一周,而我需要周一到周五(交易周)。

如果这适合你,加上5天的时间,以秒为单位=5 * 24 * 60 * 60,你将得到星期五的开始时间。

很难猜测你需要什么,但使用TF中一个酒吧的开放时间 总是更可靠的。


乘法器
为什么更好?
只是也许仍会有另一个EA在那里交易。

由于订单注释并不可靠,一些服务器覆盖了0点的注释,或将专有信息附加到它上面。

magik是可靠的,你不觉得数字很可怜吗?magik是int类型的--在你的帮助中可以读到int....,你能存储的最大数字是什么?你有足够的神奇数字,可供几十亿个专家顾问使用......。不要贪心,花钱的神奇数字 ))))

 
Igor Makanu:

因为订单注释是不可靠的,一些服务器覆盖了0点的注释或将服务信息附加到它上面。

WIZARD是可靠的,你不觉得数字很可怜吗?WIZARD是int类型的--在你的帮助中可以读到int....,可以存储什么最大的数字。你有足够的神奇数字,可供几十亿的EA使用...。不要贪心,花钱的魔法数字 ))))

我有一个刻板印象:一个EA--一个神奇的数字。


你将不必关闭猫头鹰的所有订单,所以你也不需要为猫头鹰准备一个普通的魔法。

 

你好,我需要一些建议。在这个专家顾问中,经常出现滑点,按利润公平原则关闭所有头寸。也就是说,利润达到一定的值,交易就会被关闭,然后就不会,不是从第一次开始,一般来说

extern double EquityProfit  = 1.2;

int start()
  {
   Comment("" ,AccountName(),"\n""ACCOUNT"  ,AccountNumber(),"\n""FREE MARGIN"  ,AccountFreeMargin(),"\n""EQUITY"  ,AccountEquity(),"\n""BALANCE"  ,AccountBalance());

   if(AccountEquity() > AccountBalance()*EquityProfit)
     {
      int total=OrdersTotal();

      for(int i=total-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            int type=OrderType();

            bool result=false;

            switch(type)
              {
               case OP_BUY       : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
               break;
               case OP_SELL      : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
              }

            if(result==false)
              {
               Sleep(0);
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Vladimir Baskakov:

你好,我需要一些建议。这个在Profit Equity上关闭所有头寸的专家顾问,经常出现滑点。即,利润达到指定值,交易就会被关闭,然后不被关闭。

你必须使用标志来解决股权过剩的问题

然后你必须关闭所有的订单,直到它们达到0,并反转旗帜。

现在,一部分订单已经平仓,另一部分没有平仓,股权发生了变化,因此,条件在下一个交易日不能正常运行。

原因: