4756 hatası - sayfa 3

 
BHC :

EA'm yapı 778 ile size garip hatalar getiriyor. 0.1'in hacmi normalleştirildi ve açıkça geçersiz değil.

Gümüş için sembol özelliklerini kontrol edebilir ve SYMBOL_VOLUME_MIN ve SYMBOL_VOLUME_STEP'in ne olduğunu bize bildirebilir misiniz? Sadece Normalleştirmek her zaman yeterli değildir, örneğin Ses Adımınız 0,5 olsaydı, Normalleştirme size yardımcı olmaz.
 
RaptorUK :
Gümüş için sembol özelliklerini kontrol edebilir ve SYMBOL_VOLUME_MIN ve SYMBOL_VOLUME_STEP'in ne olduğunu bize bildirebilir misiniz? Sadece Normalleştirmek her zaman yeterli değildir, örneğin Ses Adımınız 0,5 olsaydı, Normalleştirme size yardımcı olmaz.

Bu kaynak

 Print ( " volume step: " , SymbolInfoDouble (_trade_symbol, SYMBOL_VOLUME_STEP ), ", volume minimum: " , ", " , SymbolInfoDouble (_trade_symbol, SYMBOL_VOLUME_MIN )); return ;
         

Bunu test kullanıcısı günlüklerinde verir ...

2013.03.12 12:46:01 çekirdek 1 2013.01.23 13:32:59 hacim adımı: 0.1, minimum hacim: , 0.1

 
BHC :

Bu kaynak

Bunu test kullanıcısı günlüklerinde verir ...

2013.03.12 12:46:01 çekirdek 1 2013.01.23 13:32:59 hacim adımı: 0.1, minimum hacim: , 0.1

Sorun, hata bildiriminizde olabilir, mql5 ile kontrol etmedim ama bu mql4 ile çalışmayacak. . .

 if (_result.retcode != ( 0 || TRADE_RETCODE_PLACED || TRADE_RETCODE_DONE ))

bunun yerine şunu deneyin. .

 if ( _result.retcode != 0 && _result.retcode != TRADE_RETCODE_PLACED && _result.retcode != TRADE_RETCODE_DONE )
 
Bu hatalardan kurtuldu! Teşekkür
 
BHC :
Bu hatalardan kurtuldu! Teşekkür
 if (_result.retcode != ( 0 || TRADE_RETCODE_PLACED || TRADE_RETCODE_DONE ))

Bu sözdiziminin geçerli olduğu herhangi bir dil var mı?

 
Aslında buna hiç rastlamadım... Sanırım bunu birinin ordercheck uygulamasından aldım. bu sitede vardı...
 
angevoyageur :

Bu sözdiziminin geçerli olduğu herhangi bir dil var mı?

Belki, değişkenler bool türünde olsaydı, bir anlam ifade edebilirdi. Birkaç kişinin mql4 forumunda benzer şeyler yaptığını gördüm, bu yapılması basit bir hata.
 
RaptorUK :
Bulduğunuz konu bu muydu? https://www.mql5.com/en/forum/10850 , yaşadığım sorunu bildiriyor

Bu konuyu görmedim.

Çözüm, size söylediğim gibi, OnTradeTransaction() olay işleyicisi ile (BU KODU OLDUĞU GİBİ KULLANMAYIN, DENEME VE TEST İÇİNDİR):

 void OnTradeTransaction( const MqlTradeTransaction& trans,
                         const MqlTradeRequest & request,
                         const MqlTradeResult & result)
                        {

     if (trans.type == TRADE_TRANSACTION_DEAL_ADD) {

         if (execution == SYMBOL_TRADE_EXECUTION_MARKET ) {
             if (!trade.PositionModify( _Symbol , _sl, _tp))
                 if (debugMode) {
                     Print ( "Modify SL & TP failed. Return code=" , trade.ResultRetcode(), ". Code description: " , trade.ResultRetcodeDescription());
                     Print ( "Deal ticket : " , trans.deal);
                }
             else
                 if (debugMode) Print ( "Modify SL & TP executed successfully. Return code=" , trade.ResultRetcode(), " (" , trade.ResultRetcodeDescription(), ")" );
        }

    }
}   

Bu çalışıyor. _sl ve _tp global değişkenlerdir, yerel olarak işlemek kesinlikle daha iyidir. ticaret CTrade sınıf tipindedir. Sanırım aynısını OrderSend() ile de yapabilirsiniz.

 
angevoyageur :

Bu konuyu görmedim.

Çözüm, size söylediğim gibi, OnTradeTransaction() olay işleyicisi ile (BU KODU OLDUĞU GİBİ KULLANMAYIN, DENEME VE TEST İÇİNDİR):

Bu çalışıyor. _sl ve _tp global değişkenlerdir, yerel olarak işlemek kesinlikle daha iyidir. ticaret CTrade sınıf tipindedir. Sanırım aynısını OrderSend() ile de yapabilirsiniz.

Temel bilgileri öğrenmek amacıyla CTrade sınıfından uzak duruyorum, OOP'yi hiç kullanmadım, bu nedenle sınıflar, yapılar vb. hepsi mql5 ile öğrenme eğrimin bir parçası.

OnTradeTransaction()'ın bir geçici çözüm sunacağına eminim, ancak üzerinde çalıştığım basit EA için bile kullanmak benim için oldukça korkunç bir çözüm gibi görünüyor, ayrıca belgelerde kullanma gereğinden söz edilmiyor. OrderSend() ve sanırım, aynı sorunu Strateji Test Cihazında gördüğümü onaylayacağım, bunun tam olarak nasıl olabileceğinden emin değilim, emin olmak için eklenmiş bazı hata raporlarıyla tekrar deneyeceğim.

 
RaptorUK :

Temel bilgileri öğrenmek amacıyla CTrade sınıfından uzak duruyorum, OOP'yi hiç kullanmadım, bu nedenle sınıflar, yapılar vb. hepsi mql5 ile öğrenme eğrimin bir parçası.

OnTradeTransaction()'ın bir geçici çözüm sunacağına eminim, ancak üzerinde çalıştığım basit EA için bile kullanmak benim için oldukça korkunç bir çözüm gibi görünüyor, ayrıca belgelerde kullanma gereğinden söz edilmiyor. OrderSend() ve sanırım, aynı sorunu Strateji Test Cihazında gördüğümü onaylayacağım, bunun tam olarak nasıl olabileceğinden emin değilim, emin olmak için eklenmiş bazı hata raporlarıyla tekrar deneyeceğim.

OOP hakkındaki konumunuzu anlıyorum. Her zaman "geleneksel" yaklaşımdan daha fazla zaman alır ve büyük (veya orta) proje için gerçekten yararlıdır.

Sorunumuz için "klasik" bir çözüm olup olmadığını bilmekle çok ilgileniyorum .