Hatalar, hatalar, sorular - sayfa 3047

 
Yury Lemeshev :
Güzel gün. Yardım. SymbolSelect ve SymbolExist farklı çalışıyor mu?

Print(SymbolSelect( "EURUSD" ,doğru)); Bir yanıt alıyorum - doğru
Print(SymbolExist("EURUSD",yanlış)); Bir hata alıyorum - 'true' - değişken bekleniyor

Belgeleri dikkatlice okuyun: SymbolExist

 bool    SymbolExist (
   const string   name,     // имя символа
   bool &    is_custom       // признак пользовательского символа
   );


İşte kodda nasıl göründüğü:

   Print ( SymbolSelect ( "EURUSD" , true ));
   bool exist= false ;
   Print ( SymbolExist ( "EURUSD" , exist ));
Документация по MQL5: Получение рыночной информации / SymbolExist
Документация по MQL5: Получение рыночной информации / SymbolExist
  • www.mql5.com
SymbolExist - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov :

Belgeleri dikkatlice okuyun: SymbolExist


İşte kodda nasıl göründüğü:

teşekkürler Vladimir

 

Görsel modda test ederken bir uzman tarafından göstergelerin başlatılması hakkında bir soru.

Expert Advisor'ın OnInit() { } öğesinde göstergeleri başlatırsam, gösterge genellikle görsel test cihazında görünmez veya çizim yapmaz.

Aynı zamanda, başlatma günlükte geçti, tanıtıcı alındı. Görsel modda, test cihazının bir şeyler yapmak için zamanı olmadığı ve göstergenin grafiğe yapışmadığı görülüyor.

Expert Advisor'ın OnTick() { } içindeki göstergeleri başlatırsam, sorun ortadan kalkar, ancak bu gereksiz yazma, kontroller vb. üretir.


OnTick'te IndicatorInitialization() işlevini kaldırırsanız ve OnInit'te yorum yaparsanız, çalışmaya başlar.

 int  TicksTesterIndicatorHandle = INVALID_HANDLE ;
bool InitComplite= false ;
int OnInit ()
  {
   IndicatorInitialization();
   return ( INIT_SUCCEEDED );
  }

void OnDeinit ( const int reason)
  {
   IndicatorRelease (TicksTesterIndicatorHandle);
  }

void OnTick ()
  {
//if(!InitComplite)
//  {
//   IndicatorInitialization();
//  }
  }
//+------------------------------------------------------------------+
bool IndicatorInitialization()
  {
//---Получить хэндл индикатора TicksTesterIndicator
   TicksTesterIndicatorHandle= iCustom ( NULL , _Period , "OnInit_TestIndicator" );

//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if (TicksTesterIndicatorHandle< 0 )
     {
       Print ( "Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: " , GetLastError (), "!!!" );
       return ( false );
     }
   else
     {
       Print ( "TicksTesterIndicator инициализирован, хэндл: " , TicksTesterIndicatorHandle);
       ArraySetAsSeries (Buf, true );
      InitComplite= true ;
     }
   return ( true );
  }
 

Sihirli dosyaların tarihinin devamı:

MetaEditor donduktan ve ardından yeniden başlatıldıktan sonra - bu dosya bir dizi hata olarak görüntülenmeye başladı, ancak aynı not defteri onu normal şekilde açıyor (fazlalık kaldırıldı)

Dosyalar:
main.txt  1 kb
 

Tünaydın,

Android MT5/MT4: Sipariş yerleştirme penceresinde onay çizgisi renkleri karışıyor. Ayrıca çizelgelerin renk şemalarında.

 

Merhaba!

Bekleyen bir emir verirken [Geçersiz fiyat] hatasının üstesinden gelemiyorum. Bütün sorun, bu tür hataların bir danışmanın yayınlanması için standart kontroller sırasında ortaya çıkmasıdır. Buna göre, sebebinin ne olduğunu anlamak için günlüklere bakamıyorum. Testlerde bir kez bile üremedi. Tabii zorluk şu ki standart kontrollerde hangi sembol parametrelerinin olduğunu bilmiyorum. MetaQuotes terminalinde yeniden oluşturmaya çalıştım. Emir aynı yerde, hatta aynı fiyattan açılıyor ve hata yok. Fiyatlar CSymbolinfo::NormilizePrice() tarafından normalleştirilir, StopsLevel, dondurma seviyesi için kontroller var, bekleyen fiyatın doğruluğu için fiyat verilerini her kontrolde güncelliyorum.

Standart kontrol raporu

Belki birisi gecikmeler sırasında böyle bir hatanın meydana gelebileceği tüm durumları bilir? Sadece aklıma geliyor:

  • Normalleştirilmemiş fiyat
  • Belirli bir emir türü için piyasa fiyatının üstünde/altında fiyat belirleme
  • Donma seviyesi (emin değilim)
Herhangi bir ipucu için mutlu olacağım :)
 

Günaydın.

Test cihazındaki parametrelere göre testleri kesmek mümkün mü?

Örneğin, testte %40'lık bir düşüşe ulaşılırsa, durur ve kaynaklar sonraki testler lehine gider.

 
Dmitry Homenkov :

Merhaba!

Bekleyen bir emir verirken [Geçersiz fiyat] hatasının üstesinden gelemiyorum. Bütün sorun, bu tür hataların bir danışmanın yayınlanması için standart kontroller sırasında ortaya çıkmasıdır. Buna göre, sebebinin ne olduğunu anlamak için günlüklere bakamıyorum. Testlerde bir kez bile üremedi. Tabii zorluk şu ki standart kontrollerde hangi sembol parametrelerinin olduğunu bilmiyorum. MetaQuotes terminalinde yeniden oluşturmaya çalıştım. Emir aynı yerde, hatta aynı fiyattan açılıyor ve hata yok. Fiyatlar CSymbolinfo::NormilizePrice() tarafından normalleştirilir, StopsLevel, dondurma seviyesi için kontroller var, bekleyen fiyatın doğruluğu için fiyat verilerini her kontrolde güncelliyorum.


Belki birisi gecikmeler sırasında böyle bir hatanın meydana gelebileceği tüm durumları bilir? Sadece aklıma geliyor:

  • Normalleştirilmemiş fiyat
  • Belirli bir emir türü için piyasa fiyatının üstünde/altında fiyat belirleme
  • Donma seviyesi (emin değilim)
Herhangi bir ipucu için mutlu olacağım :)

Makale: Bir ticaret robotu Market'te yayınlanmadan önce hangi kontrollerden geçmelidir?

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Yury Lemeshev :

Test cihazındaki parametrelere göre testleri kesmek mümkün mü?

Örneğin, testte %40'lık bir düşüşe ulaşılırsa, durur ve kaynaklar sonraki testler lehine gider.

Uzman Danışmanlarınız için mümkündür: İçerideki çıkış kriterinin (ağır ise - OnTimer'da) eşik değerine ulaştığını düşünüyorsunuz - TesterStop()/ExpertRemove().

 

Ekstra bir şey.