Hatalar, hatalar, sorular - sayfa 2107

 
Vladislav Andruschenko :

Kabul ediyorum. değiştirilmesi gerekiyor.

Bu kurala göre bir şube var.

Организация цикла перебора ордеров
Организация цикла перебора ордеров
  • 2017.09.16
  • www.mql5.com
MQL4 и MetaTrader 4: Организация цикла перебора ордеров
 
fxsaber :

Bu kurala göre bir şube var.


Evet, sadece ortam değiştiğinde tarihe erişmenin işlevi ile ilgili alıntılar okudum ve diğer konularda linklerinizle tanıştım.

sadece noktaya, sürümünüzü okuduktan sonra hata ortaya çıktı.

 
fxsaber :

Bu yanlış bir mantık. Başarısız ve başarılı bir OrderSend'den sonra mevcut ticaret ortamı tamamen yeniden okunmalıdır. Bu kural her zaman geçerli olmalıdır.

Dönüş kodları hakkında. Bunları Uzman Danışmanlarımda analiz etmiyorum. Bence ticaret mantığı onlara bağlı olmamalı.

Teorik olarak, aracının sunucusuyla iletişimin kesilmesi sırasında bir zaman aşımı meydana gelebilir.

Bu durumda, geri yüklenene ve ticaret ortamı sunucuyla tamamen senkronize olana kadar hiçbir şey yapmamak daha iyidir.

Dönüş kodunu analiz etmeden böyle bir duruma nasıl girilmez?

 

Derleme hatası .


Test.mqh dosyası

 int Tmp = 1 ;


Ana kod

 #include "Test.mqh"

void OnStart ()
{
   Print (Tmp);
   Print (Tmp2); // 'Tmp2' - undeclared identifier
}

#define Tmp Tmp2
#include "Test.mqh"


Yeniden dahil etmenin göz ardı edildiği ortaya çıktı. Ama bu durumda yanlış!

Bir sonraki için böyle bir tasarıma ihtiyacımız var. Uzman Danışman bir mqh dosyasında bulunur. Ancak onu hem gerçek hayatta (ilk dahil etme) hem de test cihazımda (ikinci dahil etme) çalıştırabilmem gerekiyor.

 
Andrey Khatimlianskii :

Teorik olarak, aracının sunucusuyla iletişimin kesilmesi sırasında bir zaman aşımı meydana gelebilir.

Bu durumda, geri yüklenene ve ticaret ortamı sunucuyla tamamen senkronize olana kadar hiçbir şey yapmamak daha iyidir.

Dönüş kodunu analiz etmeden böyle bir duruma nasıl girilmez?

OrderSend'i gönderdik ve sunucudan yanıt beklemedik, log ve _LastError'da zaman aşımı oluştu. Aynı zamanda, _LastError'u yok sayarız ve yalnızca false alırız.

Sonrasında bir bağlantı varsa ticaret ortamını yeniden bir araya getiriyoruz ve bir karar veriyoruz.

Seçilmiş, elbette, bilgi toplamadan önce her zaman kontrol edilmesi arzu edilir.

 
fxsaber :

OrderSend'i gönderdik ve sunucudan yanıt beklemedik, log ve _LastError'da zaman aşımı oluştu. Aynı zamanda, _LastError'u yok sayarız ve yalnızca false alırız.

Sonrasında bir bağlantı varsa ticaret ortamını yeniden bir araya getiriyoruz ve bir karar veriyoruz.

Seçilmiş, elbette, bilgi toplamadan önce her zaman kontrol edilmesi arzu edilir.

OnTick'te çalışırsak bu işe yarar. Ve değilse?

Bağlantı nasıl kontrol edilir?

 
Andrey Khatimlianskii :

OnTick'te çalışırsak bu işe yarar. Ve değilse?

Bağlantı nasıl kontrol edilir?

 TerminalInfoInteger ( TERMINAL_CONNECTED );
 
fxsaber :
 TerminalInfoInteger ( TERMINAL_CONNECTED );

Tarihsel olarak, ona güvenmiyorum. 5-ke'de test etmek zorunda kalacak ..

 

zaman aşımı sorunu bağlantı olmaması değil, istek zaman aşımının alınmış olmasıdır.

Bir yandan şunu görüyorum: bir anlaşma açma sinyali var, bir talepte bulunuyoruz, bir molamız var - ama anlaşma açık.

danışman bir hata almasına rağmen.

ticaret ortamını kontrol edin - açık bir anlaşma görüyoruz.

ama bu anlaşmanın tam olarak bu sinyal üzerine açıldığı nasıl anlaşılır? örneğin 10 sinyal olsaydı?

onlar. tarihte (terminalde) yeni bir anlaşmanın görünüp görünmediğini kontrol edin. ve bu işleme bir sinyal durumu atayın.


fikri alana kadar

@A100

hangi çıktıyı görüyorsun?

 
fxsaber :

Yeniden dahil etmenin göz ardı edildiği ortaya çıktı. Ama bu durumda yanlış!

Bir sonraki için böyle bir tasarıma ihtiyacımız var. Uzman Danışman bir mqh dosyasında bulunur. Ancak onu hem gerçek hayatta (ilk dahil etme) hem de test cihazımda (ikinci dahil etme) çalıştırabilmem gerekiyor.

Her şey doğru ve doğru bir şekilde göz ardı ediliyor.

Sish hileleri çalışmıyor.