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

 
Mikhail Rudyk :

robot sadece bu çizelgede duruyor ancak robotlar için bir teknoloji gibi aynı mevcut seçenekleri takas ediyor

Bu satırı yapıştır

 void Open( int lot, string comment)
   {
               bool eror= false ;
               int step= 0 ;
               if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED )== 1 )
                  {
                           while (eror== false &&step< 10 )
                              {
                                 double bid= SymbolInfoDouble (symbolName, SYMBOL_BID );
                                 ResetLastError ();
                                 eror=Trade.Buy(lot,symbolName,bid, 0 , 0 ,comment);
                                 step++;
                                 Sleep ( 200 );
                                 if (eror== false ) Print ( "error - " , GetLastError ());
                              }
                  }
   }
 
Mikhail Rudyk :

ama hatayı sıfırlamanın yardımcı olma ihtimalinin düşük olduğunu düşünüyorum

Yani hala

 #include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

void Open( int lot, string comment)
   {
               bool eror= false ;
               int step= 0 ;
               if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED )== 1 )
                  {
                           while (eror== false &&step< 10 )
                              {
                                 double bid= SymbolInfoDouble (symbolName, SYMBOL_BID );
                                 ResetLastError ();
                                 // eror=Trade.Buy(lot,symbolName,bid,0,0,comment); // закомментировать
                                 eror= OrderSend (symbolName, OP_BUY, lot, bid, 0 , 0 , 0 , comment);
                                 step++;
                                 Sleep ( 200 );
                                 if (eror== false ) Print ( "error - " , GetLastError ());
                              }
                  }
   }
 

Bunu zaten yaptım ve işe yaradı

ancak hatanın gerçeği çözülmedi

yardımın için çok teşekkürler

while(hata==yanlış&&adım<10)
{
double teklif=SymbolInfoDouble(symbolName, SYMBOL_BID );
ResetLastError();
eror=Ticaret.Al(lot,sembolAdı,teklif,0,0,yorum);
adım++;
Uyku(200);
if(hata==yanlış)
{
Print("hata - ",GetLastError());
if(GetLastError()==4754){OnInit();}
}
}

 
Mikhail Rudyk :

hatanın gerçeği çözülmedi

Bu yüzden bu seçeneği önerdim .

 
fxsaber :

Bu yüzden bu seçeneği önerdim .

peki deneyeceğim

ama neden standart sınıf çalışmıyor

 
Mikhail Rudyk :

peki deneyeceğim

ama neden standart sınıf çalışmıyor

Alternatif kitaplık çalışırsa, nereye kazılacağı netleşir.

Sorunu kitaplıkların her biriyle yeniden oluşturamıyorum.

 
Mikhail Rudyk :

Bunu zaten yaptım ve işe yaradı

while(hata==yanlış&&adım<10)
{
double teklif=SymbolInfoDouble(symbolName, SYMBOL_BID );
ResetLastError();
eror=Ticaret.Al(lot,sembolAdı,teklif,0,0,yorum);
adım++;
Uyku(200);
if(hata==yanlış)
{
Print("hata - ",GetLastError());
if(GetLastError()==4754){OnInit();}
}
}

Çalışmamalı. 4754, OrdersTotal sıfırdan büyük olduğunda, ancak OrderSelect veya OrderGetTicket bozulduğunda oluşur.

Bu çok nadirdir, ancak bu durumda değil. Burada, sunucu/sembol o kadar spesifiktir ki aynı çöp, yalnızca 4753 hatasıyla konumlarda gerçekleşir.

Alternatif İncil'de ayarlamalar yapmak zorunda kalacağımı zaten hazırladım, tk. Ortaya çıkan durumlar birçok mantıkçıya kirdyk çeker. Sonuçta orada bir piyasa emri gönderiyorsunuz, sunucuya geliyor, pozisyon oluşturuyor ve aynı milisaniyede kapatıyor. Ve Terminal, ping nedeniyle zaten geriye dönük olarak bilgi alıyor.

Her şeyin mükemmel bir şekilde çalışmasına hoş bir şekilde şaşırdım.


Sunucu/sembolün kendisi ddosed, hiçbir hata oluşmadı.


Not: Bir pozu elinizle açamazsınız, sadece MQL ile açabilirsiniz.

 

Robotun takılmaması için yardımcı oldu demek istedim

 
Mikhail Rudyk :

Robotun takılmaması için yardımcı oldu demek istedim

Ardından OnInit'i gösterin. Şimdi saçmalık gibi görünüyor. devam ederken.