Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 181

 
Andrey Khatimlianskii :

Böyle bir terminalde genellikle 1-2 çizelgem olur, kafam karışmak zor. Ama anlamı açık.

Daha fazla sembol ticareti yapıyorum, daha da fazla danışman görevlendiriliyor. Henüz takas edilemeyen sembolleri izleyin. Özel semboller oluşturulur, Tester pulluklar vb.

Genel olarak bir beygir.
 
fxsaber :

Daha fazla sembol ticareti yapıyorum, daha da fazla danışman başlatılıyor. Henüz takas edilemeyen sembolleri izleyin. Özel semboller oluşturulur, Tester pulluklar vb.

Genel olarak bir beygir.

Tüm hesaplar için yalnızca bir yatırım şifresi altında bir işgücüm var. Ve orada danışman olup olmaması umrumda değil.

 
trader_number_one :

Tüm hesaplar için yalnızca bir yatırım şifresi altında bir işgücüm var. Ve orada danışman olup olmaması umrumda değil.

Danışmanlar sadece ticaret yapmazlar. Ayrıca, bir beygir üzerinde ticaret yapabilmeniz gerekir.

 
fxsaber :

On Terminalim var. Birindeki karışıklıkta başka bir hesaba geçti. Zaman geçiyor, Terminal'e bakıyorum ve başka bir hesaba ihtiyacım olduğunu görüyorum - öncekine geçiyorum. Ve danışmanın askıya alınmasını hiç beklemiyorum, danışmanın başladığını görüyorum.

hesabı değiştirirken böyle basit bir kod işe yarar mı?

 bool IsShowMessageBox = true ;
//+------------------------------------------------------------------+
int OnInit ()
{
   if (IsShowMessageBox && MessageBox ( "Произвести запуск эксперта?" , "Run EA" , MB_OKCANCEL ) == IDCANCEL ) return ( INIT_FAILED );
   IsShowMessageBox = false ;
   return ( INIT_SUCCEEDED );
}


ve bağlantı koptuğunda yeniden giriş yapmak bu kodu çalıştıracak mı?

 
Igor Makanu :

hesabı değiştirirken böyle basit bir kod işe yarar mı?

Numara.

ve bağlantı koptuğunda yeniden giriş yapmak bu kodu çalıştıracak mı?

Otomatik yeniden oturum açma olmayacak. Manuel - olacak.

 

Çözüm yüzeyde. Geçiş yaparken grafikte ne değişmez? Bu doğru - grafik nesneler. Robotu başlatırken, DeInit'te sildiğiniz bir grafik nesne oluşturun, sırasıyla normal bir durumda, OnInit'te bir nesnenin varlığını kontrol edin, eğer varsa, bir şeyler ters gitti ve INIT_FAILED'i döndürün.

Aşağı yukarı şöyle:

 #define NAME "test"

int OnInit ()
  {
   static const string symbol= _Symbol ;
   if ( ObjectFind ( 0 ,NAME)>= 0 ||symbol!= _Symbol ) return INIT_FAILED ;
   else ObjectCreate ( 0 ,NAME, OBJ_HLINE , 0 , 0 , 0 );
   return INIT_SUCCEEDED ;
  }

void OnDeinit ( const int reason){
   switch (reason){
       case REASON_PARAMETERS :
       case REASON_PROGRAM :
       case REASON_REMOVE :
       case REASON_INITFAILED :
       case REASON_CLOSE :
       case REASON_CHARTCLOSE :
       case REASON_TEMPLATE :
       case REASON_CHARTCHANGE : ObjectDelete ( 0 ,NAME);
       case REASON_RECOMPILE :
       case REASON_ACCOUNT : break ;
   }
}

void OnTick (){
}
 
Vladimir Simakov :

Çözüm yüzeyde. Geçiş yaparken grafikte ne değişmez? Bu doğru - grafik nesneler. Robotu başlatırken, DeInit'te sildiğiniz bir grafik nesne oluşturun, sırasıyla normal bir durumda, OnInit'te bir nesnenin varlığını kontrol edin, eğer varsa, bir şeyler ters gitti ve INIT_FAILED'i döndürün.

Aşağı yukarı şöyle:

kaydetmek sorun değil, burada genel olarak EA başlatmayı doğru bir şekilde dağıtmanız gerekiyor, hesap değiştirme durumu endişelerimin en küçüğü, ancak grafiğin kendisinin nasıl başladığı ve grafik hazır olmadığında - bu bir gizem kefen karanlıkta )))

ama her şey düzgün gitmiyor - var olmayan bir sembolde hesaplar arasında geçiş yaptığınızda "siyah ekranda" bile görünmüyor;)

 int OnInit ()
{
   string arr_comm[];
   if ( StringSplit ( ChartGetString ( 0 , CHART_COMMENT ), StringGetCharacter ( ";" , 0 ), arr_comm) == 2 ) Print ( "_StopFlag = " , ( bool )(( int )arr_comm[ 0 ]), " ; _UninitReason = " , ( int )arr_comm[ 1 ]);
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   Comment (( string ) _StopFlag + ";" + ( string ) _UninitReason );
}
 
Vladimir Simakov :

Çözüm yüzeyde. Geçiş yaparken grafikte ne değişmez? Bu doğru - grafik nesneler. Robotu başlatırken, DeInit'te sildiğiniz bir grafik nesne oluşturun, sırasıyla normal bir durumda, OnInit'te bir nesnenin varlığını kontrol edin, eğer varsa, bir şeyler ters gitti ve INIT_FAILED'i döndürün.

Aşağı yukarı şöyle:

Aynı başarı ile terminalin global değişkenlerini kullanabilirsiniz. Onlar da kaldırılmaz.

 
Konstantin Nikitin :

Aynı başarı ile terminalin global değişkenlerini kullanabilirsiniz. Onlar da kaldırılmaz.

Tat ve renk ... Onları sevmiyorum ...

 
Vladimir Simakov :

Tat ve renk ... Onları sevmiyorum ...

Örneğin, VDS'deki tüm nesneleri siliyorum. Sadece programı yüklememek gereksiz. Evet ve işe yaramazlar. Global kullanıyorum. Yani her şey duruma bağlı.