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

 
Vladimir Tkach:

两天来,我一直在做一个漂亮的面板。但事实证明,我无法 通过它改变 设置为输入的专家顾问参数

我现在该怎么做呢?

完全没有想象力?

input double _PARAM=1.0; // да, input менять в коде нельзя, они типа const

double PARAM=0;         // но никто не заставляет использовать только и исключительно их

int OnInit()

{

   if (MoonPhaze()==0 && _PARAM>0.1) {

       PARAM=_PARAM;       // всё что задаёт пользователь через input должно проверяться и использоваться только внутри OnInit - это просто хороший тон

   }

}
 

我似乎被误解了。

我改变了面板上的参数(在图形上),但它们在专家顾问中没有变化。悲哀,悲哀。


 
尽管他们的价值观在节目 过程中发生了变化。好的,这很好。
 
missha32:

请帮助我,我在写这个函数时完全糊涂了

我需要这个函数来返回一天内关闭的订单数量


我想这样写。

int CountInHistoryCloseOrder() 
{
int kp=0;
for(int i=OrdersHistoryTotal(); i>=0; i--) 
 {
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) 
   {
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==mn) 
     {//mn - должна быть глобальной
      if(TimeToString(OrderCloseTime(),TIME_DATE)==TimeToString(TimeCurrent(),TIME_DATE))
       {
        kp++;
       }
     }
   }
 }
return(kp);
 
missha32:

请帮助我,我在写这个函数时完全糊涂了

我需要这个函数来返回一天内关闭的订单数量

int OrdersClosedInDay(datetime time) {

datetime from=time-TimeHour(time)*60*60-TimeMinutes(time)*60-TimeSeconds(time);

datetime to=from+24*60*60;

int count=0;

for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--) {

   if (!OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)) continue;

   if (OrderCloseTime()>=from && OrderCloseTime()<to)   count++;

}

return count;

}

 
Valerius:


我想这样写。

谢谢你的帮助,它开始有意义了,但只有在新的一天开始时,数值才会被重置,我们需要它保持到下一系列订单在一天内被关闭。

我想明白了,又增加了一个函数

 
Artyom Trishkin:
你不能画物体。但你可以使用CCanvas类来绘制--你可以在那里
谢谢你!
 
Vladimir Tkach:

我似乎被误解了。

我改变了面板上的参数(在图形上),但它们在专家顾问中没有变化。悲伤。


如果你不想创建重复的实例并在程序中进一步使用它们,你总是可以将用户参数设置为 "外部"--它们的值可以在工作过程中以程序方式改变。
 
请告知。我如何设置我的EA在下一个蜡烛上关闭?
 
AlGuru:
请告知。我如何在EA中指定在下一个蜡烛上关闭?
如果开仓 的条形图是1,那么就关闭该头寸。
原因: