İşkence hatası ticaret işlemi yok - sayfa 4

 
Alexey Viktorov :

Bilgisayar bir aptal. © M.M. Botvinnik.

Bu yüzden, bir aptal gibi davranın ve bir aptalın bakış açısından ve bir aptal tarafından belirlenen parametrelerle algoritmayı gözden geçirmeye çalışın. Bu bakış açısından, otomatik doğrulayıcı uygundur. "Geri bildirime" dikkat edin. EA size hataları bildiriyor mu?

Sonunda anladım, belki genel olarak, baykuşta birisine yardımcı olur, MM açıkken sadece minimum lot için bir kontrol yaptım ve hardcore'da lot = 0.01 ayarlandı ve böylece, doğrulayıcıda, depozito 1 $ olarak çıkıyor (bu bilgiyi konulardan birinde buldum), sırasıyla ticaret için çok fazla 0,001 (veya daha fazla) kullanıyor ve tek bir yerde her zaman çok fazla 0,01 bulunduğundan, buna göre, yeterli parası yoktu ve robot ticaret yapmadı)

 
Roman Gergert :

Sonunda anladım, belki genel olarak baykuşta birisine yardımcı olabilir, MM açıkken sadece minimum lot için bir kontrol yaptım ve hardcore'da lot = 0.01 ayarlandı ve böylece, doğrulayıcıda, depozito 1 dolara eşittir (bu bilgiyi konulardan birinde buldum), sırasıyla ticaret için çok fazla 0.001 (ya da öylesine) kullanıyor ve tek bir yerde her zaman çok fazla 0.01 bulunduğundan, buna göre, o yeterli paraya sahip değildi ve robot ticaret yapmadı)

Bu konuyu tekrar gündeme getirmek istiyorum. Cevabınız bana yardımcı olmuyor. Bir hacim hesaplamam var ve her şey uymazsa, minimum hacim kullanılır:

 SymbolInfoDouble (symbol, SYMBOL_VOLUME_MIN )

Sonunda, minimum hacmi herhangi bir hesaplama yapmadan hemen belirledim. Ardından marj kontrolleri gelir... ve ticaret işlemleri yok.

Dün, bazen aynı kodun bir süre sonra gönderilebileceğini ve geçeceğini söyleyen bir forum yanıtına rastladım. Zaman geçti, gönderilmedi.

Ne yapmalı, 2 hafta önce bu hacim algılama işlevi geçti ve o zamandan beri hiç değişmedi!

 
Evgeniy Scherbina :

Bu konuyu tekrar gündeme getirmek istiyorum. Cevabınız bana yardımcı olmuyor. Bir hacim hesaplamam var ve her şey uymazsa, minimum hacim kullanılır:

Sonunda, minimum hacmi herhangi bir hesaplama yapmadan hemen belirledim. Ardından marj kontrolleri gelir... ve ticaret işlemleri yok.

Dün, bazen aynı kodun bir süre sonra gönderilebileceğini ve geçeceğini söyleyen bir forum yanıtına rastladım. Zaman geçti, gönderilmedi.

Ne yapmalı, 2 hafta önce bu hacim algılama işlevi geçti ve o zamandan beri hiç değişmedi!

Yaşlı bir adam gibi homurdanacağım. Böyle bir derecelendirme ile rakamlar profil resminin altında ve bir sorun yaşıyorsanız, bir şekilde tartışıldığı konuyu görmediniz. Ve sadece bir çözüm bulundu.

Автоматический валидатор - проблемы
Автоматический валидатор - проблемы
  • 2019.04.26
  • www.mql5.com
Пытаюсь обновить версию советника и получаю ошибку. Тот же советник в тестере стратегий. Паралельно пишу советники и для MT4, там все ОК...
 
Alexey Viktorov :

Yaşlı bir adam gibi homurdanacağım. Böyle bir derecelendirme ile rakamlar profil resminin altında ve bir sorun yaşıyorsanız, bir şekilde tartışıldığı konuyu görmediniz. Ve sadece bir çözüm bulundu.

Rusya halkları arasında pagan tanrılarına dua edenler var ve cevap veriyorlar.
 
Evgeniy Scherbina :
Rusya halkları arasında pagan tanrılarına dua edenler var ve cevap veriyorlar.

Cevap verdim ama ben bir pagan tanrısı değilim. Bunun soruna geçici bir çözüm olduğunu düşünüyorum, umarım yakında çözülür.

 
Not - bir dahaki sefere "ticaret işlemi yok" hatasını aradığımda bu yorum muhtemelen kendim için daha fazla.
Şüpheli yerlerde ForceStop kullanıldı. Ayrıca, bu zaten raporda sıfırlı bir bölüm ve bu hatanın tam yeri olarak görüntülenecektir.
Benim durumumda örnek:
 //+------------------------------------------------------------------+
//|  Проверяет объем ордера на корректность                          |
//+------------------------------------------------------------------+
int ForceStop= 0 ;
int sstop= 0 ;
bool CheckVolumeValue( double volume, string & description )
  {
  
//--- минимально допустимый объем для торговых операций
   double min_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MIN );
   if (volume<min_volume)
     {     
       description = StringFormat ( "Volume is less than the minimum allowable SYMBOL_VOLUME_MIN=%.2f" ,min_volume);
       sstop= 5 /ForceStop; // force stop, zerro divide
       return ( false );
     }

//--- максимально допустимый объем для торговых операций
   double max_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MAX );
   if (volume>max_volume)
     {
       description = StringFormat ( "Volume is greater than the maximum allowable SYMBOL_VOLUME_MAX=%.2f" ,max_volume);
       sstop= 5 /ForceStop; // force stop, zerro divide
       return ( false );
     }

//--- получим минимальную градацию объема
   double volume_step= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_STEP );

   int ratio=( int ) MathRound (volume/volume_step);
   if ( MathAbs (ratio*volume_step-volume)> 0.0000001 )
     {
       description = StringFormat ( "The volume is not a multiple of the minimum gradation SYMBOL_VOLUME_STEP=%.2f, Closest correct volume %.2f" ,
                               volume_step,ratio*volume_step);
       sstop= 5 /ForceStop; // force stop, zerro divide
       return ( false );
     }
   description = "Correct value of volume" ;
   return ( true );
  }
 

kardeşim, tüm değişkenleri kod başlığına taşımama yardımcı oldu. ve ayrıca eklendi

geçersiz OnDeinit

{
Uyarı(GetLastError());

}

ve init ResetLastError();

yardımcı olan xs, ancak bundan bir şey

 

Koddaki birkaç satırın basit bir değişikliği (düzenlenmesi) bana yardımcı olur.
Peki, ya da sadece boş satırlar ekleyin ve tekrar derleyin.

Sanırım sunucuda bir çeşit bug var.

 
Taras Slobodyanik :

Peki, ya da sadece boş satırlar ekleyin ve tekrar derleyin.

Onaylıyorum, bazen yeniden derlemek ve geçmek kolaydır.

 
Nauris Zukas :

Onaylıyorum, bazen yeniden derlemek ve geçmek kolaydır.

Yeniden derlendiği için değil, testler farklı bir tarihten başladığı için geçer. Ve böyle bir hata fark ettim, daha önce olanı kaydırırsanız, test gerçekleşmez, ancak önceki test sonucu hemen verilir. Bu yüzden bu tür koltuk değneklerine aldanmayın. Doğru yapmaya çalışın. Bir şey eksikse veya parametreler geçersizse, Yazdır aracılığıyla bildirin, her şey yoluna girecek.

Neden: