MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 214

 
Vladimir Tkach :

İki gün güzel bir prizi çamurladı. Ancak bunun üzerinden girdi olarak belirtilen EA parametrelerini değiştiremediğim ortaya çıktı.

Ve şimdi ne yapabilirim?

hiç fantezi yok mu?

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

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

int OnInit()

{

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

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

   }

}
 

Beni anlamadıklarını söyle.

Paneldeki (tablodaki) parametreleri değiştiriyorum ama uzmanın girdilerinde değişmiyor. Hüzün hüzündür.


 
Programın yürütülmesi sırasında değerleri değişse de. Tamam, öyle olacak.
 
missha32 :

lütfen bana yardım edin, bir işlev yazarken tamamen kafam karıştı

işlevin bir günde kapatılansiparişlerin sayısını döndürmesi gerekir


şöyle yazardım:

 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 :

lütfen bana yardım edin, bir işlev yazarken tamamen kafam karıştı

işlevin bir günde kapatılansiparişlerin sayısını döndürmesi gerekir

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 :


şöyle yazardım:

Yardımın için teşekkürler, temizlenmeye başladı, ancak yalnızca yeni bir gün geldiğinde değerler sıfırlanır ve aynı gün bir sonraki kapanış emri serisine kadar kalması gerekir.

Bir fonksiyon daha eklendi anlaşıldı

 
Artyom Trishkin :
Nesnelere izin verilmez. Ancak CCanvas sınıfını kullanarak çizebilirsiniz - orada yapabilirsiniz
Teşekkür ederim!
 
Vladimir Tkach :

Beni anlamadıklarını söyle.

Paneldeki (tablodaki) parametreleri değiştiriyorum ama uzmanın girdilerinde değişmiyor. Hüzün hüzündür.


Yinelenen girişleri başlatmak için çok tembelseniz ve ardından bunları programda kullanırsanız, kullanıcı parametrelerini her zaman "harici" olarak ayarlayabilirsiniz - değerleri çalışma sırasında programlı olarak değiştirilebilir.
 
Lütfen bana söyle. Danışmandaki bir sonraki mumun kapanışı nasıl belirtilir?
 
AlGuru :
Lütfen bana söyle. Danışmandaki bir sonraki mumun kapanışı nasıl belirtilir?
Pozisyonun açıldığı çubuk 1'e eşitse, bu pozisyonu kapatın.