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

 
Vitaly Muzichenko :

Harika çalışıyor!

İkincisini, ekran görüntüsünde görülebileceği gibi, 11. çubukta olmak üzere iki konumdan seçtim:


Doğrulama kodu

Bir pozisyona girme koşulunu değiştirmeye karar verdim, sadece limiti Düşük[2] olarak ayarladım ve işe yaradı, ancak bugün ilk çağrımda olduğu gibi koşul işe yaramadığında, o zaman nokta daha önce koşulun kendisindedir. işlev çağrısı

 
Вадим Мотеюнас :

Bir pozisyona girme koşulunu değiştirmeye karar verdim, sadece limiti Düşük[2] olarak belirledim ve işe yaradı, ancak bugün ilk aramamda olduğu gibi koşul işe yaramıyorsa, sorunun durumda olduğu anlamına gelir.işlev çağrısından önce kendisi

Pozisyona giriş değil, emri veren sizdiniz (Al, Sat).

Tamam, anladım - bu iyi demek.

 
Vitaly Muzichenko :

Pozisyona giriş değil, emri veren sizdiniz (Al, Sat).

Tamam, anladım - bu iyi demek.

İlk başta if ( Open [ 2 ]> Close [ 2 ] && Open [ 1 ]> Close [ 1 ] && Close [ 1 ]< Low [2] girmek için bir koşul olduğunu kastetmiştim.

daha sonra çubuk dizinini döndürmek için bu işlevi çağırdım ve şimdi onu kaldırdım ve Düşük[2]' yi OrderSend'e koydum ve işe yaradı

Evet, yine de, bunun için bir gün geçirmem boşuna değildi, biraz yerden kalktım

 
her şey, bu sorunu çözdüm, geri bildirim veren herkese teşekkürler
 
if(takelimit=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
      Print(takelimit,GetLastError());//здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
      {if(iBarShift(Symbol(),0,OrderOpenTime())==1)
        
      deletelimit=OrderDelete(ticket);
      if(!deletelimit)
         Comment(GetLastError());
         }
 
Вадим Мотеюнас :

belki 1 ve 1 ?/yani doğru ve hata kodu 1

ERR_NO_RESULT 1 Hata yok ama sonuç bilinmiyor
 bool takelimit ;

if (takelimit= OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES ))
       Print ( string (takelimit) +"   :", GetLastError ()); //здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
      { if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 1 )
        
      deletelimit= OrderDelete (ticket);
       if (!deletelimit)
         Comment ( GetLastError ());
         }
 
Вадим Мотеюнас :

Tüm kodunuz yanlış.

 bool takelimit;

if ( takelimit? = OrderSelect ( ticket , SELECT_BY_TICKET , MODE_TRADES ))
       Print ( string (takelimit)+ "   :" , GetLastError ()); //здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
      { if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 1 ) // <<< что это, почему сравнивать с единицей? OrderOpenTime () может вернуть "1"???
        
      deletelimit= OrderDelete (ticket);
       if (!deletelimit)
         Com
 
Vitaly Muzichenko :

Tüm kodunuz yanlış.

oradaki zamana kadar bar numarasını kontrol eder ...

 int ticket;

void Fn()
  {
   ResetLastError ();
   if (! OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES )){ Print ( GetLastError ());}
   else
     {
       if ( iBarShift ( Symbol (), 0 , OrderOpenTime ())== 1 && ! OrderDelete (ticket)){ Comment ( GetLastError ());}
     }
  }
 
Nikolay Gaylis :

oradaki zamana kadar bar numarasını kontrol eder ...

Evet, parantezleri fark etmedim.

 
Nikolay Gaylis :

oradaki zamana kadar bar numarasını kontrol eder ...

Nicholas Gaylis'in fotoğrafı.

belki 1 ve 1 ?/yani doğru ve hata kodu 1

ERR_NO_RESULT 1 Hata yok ama sonuç bilinmiyor

1. değişken bool türünde olduğundan ve GetLastError'a ihtiyaç duymadığından Print (takelimit, GetLastError ()) ifadesinin iki değer döndürdüğü ortaya çıkıyor ve virgül var mı, GetLastError çağrıldığında GetLastError koddaki son hatayı veriyor mu?