Hatalar, hatalar, sorular - sayfa 1925

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.07.10 20:16

MqlTradeRequest yapısının doğru doldurulmasıyla ilgili çok sayıda soruyu kaldırmak için, alanları manuel olarak doldururken terminalde F9 tuşuna bastığınızda, ilgili ticaret yapısının tüm alanlarının girileceği bir "Ayrıntılar" dipnot yapmanızı öneririm. görünür olun (tek tıklamayla kopyalama imkanı ile). Şimdi, F9 penceresinin eylemine bastıktan sonra, OnTradeTransaction'da yakalarsanız, bu yapıya tamamen erişilebilir.

Reddedildi. OnTradeTransaction aracılığıyla doldurulmuş bir yapının yakalanması uygulaması burada görüntülenebilir.

 
Yury Kirillov :

En azından derleme 1625'ten başlayarak, MT5 test sırasında çöküyor.

1626'yı inşa et:

En azından "every tick..." ve "every tick" modlarında oynanabilir.


Tünaydın. Çoğaltmak için adımlar gerekiyor. Bir uzmana/göstergeye ve test ayarlarına ihtiyacınız var. Lütfen servis masasına yazınız.

 
Alexander :

Tünaydın. Çoğaltmak için adımlar gerekiyor. Bir uzmana/göstergeye ve test ayarlarına ihtiyacınız var. Lütfen servis masasına yazınız.


TP #1794147'de yayınlandı .

Crash, mevcut anlaşma sayısından daha büyük bir parametreyle HistoryDealGetTicket(i) kullanılarak oluşturulmuş gibi görünüyor.

 
Yury Kirillov :

TP #1794147'de yayınlandı .

Crash, mevcut anlaşma sayısından daha büyük bir parametreyle HistoryDealGetTicket(i) kullanılarak oluşturulmuş gibi görünüyor.

Evet gördüm. teşekkürler

 

Hata mesajı yok

 struct A {
         int z;
};
void OnStart ()
{
         int const b; //'b' - 'const' variable must be initialized
        A   const a; //нет сообщения об ошибке //по сути равнозначно записи: int const а.z; 
}
Ya açık bir kurucu ya da bir başlatma dizisi mevcut olmalıdır
 
A100 :

Hata mesajı yok

Yapıcı yüzünden. Yani her şey yolunda.

 
fxsaber :

Yapıcı yüzünden. Yani her şey yolunda.

Hiçbir şey yapmayan bir kurucu yüzünden mi?

 struct A {
        A() {}
         int a;
}; 
void OnStart ()
{
         const A a; //нормально
}

const int A::a'yı başlatamıyorsanız, önceki durumda const int b'yi başlatmak neden gerekli?

 
A100 :

Hiçbir şey yapmayan bir kurucu yüzünden mi?

Evet, varsayılan boş kurucu nedeniyle.

const int A::a'yı başlatamıyorsanız, önceki durumda const int b'yi başlatmak neden gerekli?

Neden Uyarı yerine Hata veriyor? Sonuçta, mümkün

 void OnStart ()
{
   int a;
   const int b = a;
}

IMHO, basit türde bir const değişkeni başlatılmadığında Uyarı olmalıdır. Ve OrderSend değeri kontrol edilmediğinde hiçbir Warning olmamalıdır. Ancak bu, doğru geliştiricilerin vizyonu gibi görünüyor. Onlar. mantık sübjektiftir.

 
fxsaber :

Neden Uyarı yerine Hata veriyor? Sonuçta, mümkün

Başlatılmamış bir sabit değişkenin kullanılması anlamsız olduğundan - bu nedenle hata (rastgele bir değer içerir ve bu daha sonra değiştirilemez)

 
A100 :

Başlatılmamış bir sabit değişkenin kullanılması anlamsız olduğundan - bu nedenle hata (rastgele bir değer içerir ve daha fazla kullanımı ince hatalara yol açar)

Alıntıdaki bir kelimenin üzerini çizdim, ancak gelecekte yalnızca salt okunur işlemler varsa anlam değişmeyecek. Const olmayan için Warning, const için Error döndürür. Bu, geliştiricilerin tartışmalı kararlarından sadece biri.