OnTradeTransaction geriye dönük testinde durdurma tetikleyicisini algıla - sayfa 4

 
angevoyageur :

Yani, sadece geriye dönük testten bahsediyoruz. Kendi kodumla test ettim ve bir stop tetiklendiğinde 3 işlem elde ettim:

2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_DEAL_ADD(6)
2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_ORDER_DELETE(2)
2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_HISTORY_ADD(3)

DEAL_ADD ile anlaşmanın fiyatını alıyorum, yani benim durumumdaki SL. Bana her şey doğru görünüyor. Bana kullandığın kodu, geriye dönük test günlüğünü (dosya olarak) ve Strateji test cihazı Ayarlarının ekran görüntüsünü göndermeni öneririm. Sonra sizinkiyle aynı testi tekrarlayabilir ve sonucu analiz edebilirim. Dilerseniz PM gönderebilirsiniz.

Merhaba,

Bana yürütülen stop veya hedef fiyatın tam olarak nerede saklandığını söyleyebilir misiniz:

a) MqlTradeİşlem

b) MqlTradeRequest

c) MqlTradeResult

üyesi ile birlikte. Hangi MetaTrader sunucusu?

Teşekkür ederim

Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure - Documentation on MQL5
 
angevoyageur :

Yani, sadece geriye dönük testten bahsediyoruz. Kendi kodumla test ettim ve bir stop tetiklendiğinde 3 işlem elde ettim:

2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_DEAL_ADD(6)
2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_ORDER_DELETE(2)
2013.05.15 10:22:27    Core 1    2013.05.10 16:20:37   Symbol : EURUSD  event : TRADE_TRANSACTION_HISTORY_ADD(3)

DEAL_ADD ile anlaşmanın fiyatını alıyorum, yani benim durumumdaki SL. Bana her şey doğru görünüyor. Bana kullandığın kodu, geriye dönük test günlüğünü (dosya olarak) ve Strateji test cihazı Ayarlarının ekran görüntüsünü göndermeni öneririm. Sonra sizinkiyle aynı testi yeniden üretebilir ve sonucu analiz edebilirim. Dilerseniz PM gönderebilirsiniz.

TRADE_TRANSACTION_DEAL_ADD ve MqlTradeTransaction .price'ı kastediyorsanız, bu fiyat her zaman 0'dır.

TRADE_TRANSACTION_DEAL_ADD için filtreleme yapmasam bile, giriş emri gönderildikten sonra fiyat her zaman 0'dır.

kullanırım

CTrade.Buy(...)   // place entry

ve

CTrade.PositionModify // to attach stop and target

ve

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

işlemleri yakalamak için.

 
chinaski :

TRADE_TRANSACTION_DEAL_ADD ve MqlTradeTransaction.price'ı kastediyorsanız , bu fiyat her zaman 0'dır .

TRADE_TRANSACTION_DEAL_ADD için filtreleme yapmasam bile, giriş emri gönderildikten sonra fiyat her zaman 0'dır.

kullanırım

ve

ve

işlemleri yakalamak için.

Bu, MqlTradeTransaction .price ile olur, her zaman 0 değildir.

 2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    stop loss triggered buy 0.10 EURUSD 1.30163 sl: 1.29663 tp: 1.30663 [ # 47 sell 0.10 EURUSD at 1.29663 ]
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    deal # 47 sell 0.10 EURUSD at 1.29663 done (based on order # 47 )
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    deal performed [ # 47 sell 0.10 EURUSD at 1.29663 ]
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    order performed sell 0.10 at 1.29663 [ # 47 sell 0.10 EURUSD at 1.29663 ]
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    ----------------TRANSACTION START---------------------------
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    Symbol : EURUSD  event : TRADE_TRANSACTION_DEAL_ADD ( 6 )
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    Order # 47    type : ORDER_TYPE_BUY ( 0 )  state : ORDER_STATE_STARTED ( 0 )
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    Deal # 47 type : DEAL_TYPE_SELL ( 1 )
2013.05 . 15 10 : 22 : 27      Core 1    2013.05 . 10 16 : 20 : 37    Price = 1.29663 Volume = 0.1 SL = 0.0 TP = 0.0 Activation price = 0.0

Sonuçlarınızda garip bir şey var, ancak sağladığınız kodda ne olduğunu göremiyorum.

 

İşte EA tc_ea_trans ile günlük:

 2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    take profit triggered buy 0.01 EURUSD 1.31553 sl: 1.31503 tp: 1.31603 [ # 331 sell 0.01 EURUSD at 1.31603 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    deal # 331 sell 0.01 EURUSD at 1.31603 done (based on order # 331 )
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    deal performed [ # 331 sell 0.01 EURUSD at 1.31603 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    order performed sell 0.01 at 1.31603 [ # 331 sell 0.01 EURUSD at 1.31603 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    price corrected from 1.31609 to 1.31604 , deviation: 10 (instant sell 0.01 EURUSD at 1.31609 sl: 1.31659 tp: 1.31559 )( 1.31604 / 1.31609 / 1.31604 )
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    instant sell 0.01 EURUSD at 1.31604 sl: 1.31659 tp: 1.31559 ( 1.31604 / 1.31609 / 1.31604 )
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    deal # 332 sell 0.01 EURUSD at 1.31604 done (based on order # 332 )
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    deal performed [ # 332 sell 0.01 EURUSD at 1.31604 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    order performed sell 0.01 at 1.31604 [ # 332 sell 0.01 EURUSD at 1.31604 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    CTrade:: OrderSend : instant sell 0.01 EURUSD at 1.31609 sl: 1.31659 tp: 1.31559 [done at 1.31604 ]
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    TRADE_TRANSACTION_DEAL_ADD
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    trans=symbol=EURUSD price= 1.31603 00 volume= 0.01 sl= 0.0000000 tp= 0.0000000 order= 331 deal= 331 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type= DEAL_TYPE_SELL type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    TRADE_TRANSACTION_ORDER_DELETE
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    trans=symbol=EURUSD price= 1.3160300 volume= 0.01 sl= 0.0000000 tp= 0.0000000 order= 331 deal= 0 entry-type=IN trans-type=ORDER_DELETE order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 prof
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    TRADE_TRANSACTION_HISTORY_ADD
2013.05 . 15 18 : 43 : 48      Core 1    2013.05 . 02 08 : 39 : 15    trans=symbol=EURUSD price= 1.3160300 volume= 0.00 sl= 0.0000000 tp= 0.0000000 order= 331 deal= 0 entry-type=IN trans-type=HISTORY_ADD order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profi
 

Merhaba Angevoyageur,

ekli tekrar basit EA bulun. Bu onu göstermelidir. Sadece sıkı durma ve hedef (giriş parametresi) olan bir sipariş verir ve her işlemi günlüğe kaydeder.

Yardımın için sağol.

(Belki giriş işlemlerinizi de gösterebilirsiniz)

Bana da mt-server ip verebilir misiniz?

Dosyalar:
tc_ea_trans.mq5  11 kb
 
chinaski :

Merhaba Angevoyageur,

ekli tekrar basit EA bulun. Bu onu göstermelidir. Sadece sıkı durma ve hedef (giriş parametresi) olan bir sipariş verir ve her işlemi günlüğe kaydeder.

Yardımın için sağol.

(Belki giriş işlemlerinizi de gösterebilirsiniz)

Bana da mt-server ip verebilir misiniz?

Az önce gönderdiğiniz EA'yı kullanıyorum. MQ demosu, Erişim noktası Avrupa. Şununla geriye dönük test:


Günlükten rastgele bir alıntı yapıyorum:

 2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    take profit triggered buy 0.01 EURUSD 1.31751 sl: 1.31681 tp: 1.31821 [ # 107 sell 0.01 EURUSD at 1.31821 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    deal # 107 sell 0.01 EURUSD at 1.31821 done (based on order # 107 )
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    deal performed [ # 107 sell 0.01 EURUSD at 1.31821 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    order performed sell 0.01 at 1.31821 [ # 107 sell 0.01 EURUSD at 1.31821 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    requote 1.31823 / 1.31836 / 1.31823 (instant sell 0.01 EURUSD at 1.31836 sl: 1.31906 tp: 1.31766 )
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    CTrade:: OrderSend : instant sell 0.01 EURUSD at 1.31836 sl: 1.31906 tp: 1.31766 [requote ( 1.31823 / 1.31836 )]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    instant buy 0.01 EURUSD at 1.31840 sl: 1.31770 tp: 1.31910 ( 1.31827 / 1.31840 / 1.31827 )
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    deal # 108 buy 0.01 EURUSD at 1.31840 done (based on order # 108 )
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    deal performed [ # 108 buy 0.01 EURUSD at 1.31840 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    order performed buy 0.01 at 1.31840 [ # 108 buy 0.01 EURUSD at 1.31840 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    CTrade:: OrderSend : instant buy 0.01 EURUSD at 1.31840 sl: 1.31770 tp: 1.31910 [done at 1.31840 ]
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    trans=symbol=EURUSD price= 1.31821 00 volume= 0.01 sl= 0.0000000 tp= 0.0000000 order= 107 deal= 107 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type= DEAL_TYPE_SELL type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    trans=symbol=EURUSD price= 1.3182100 volume= 0.01 sl= 0.0000000 tp= 0.0000000 order= 107 deal= 0 entry-type=IN trans-type=ORDER_DELETE order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 prof
2013.05 . 15 21 : 54 : 11      Core 1    2013.05 . 01 20 : 02 : 15    trans=symbol=EURUSD price= 1.3182100 volume= 0.00 sl= 0.0000000 tp= 0.0000000 order= 107 deal= 0 entry-type=IN trans-type=HISTORY_ADD order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profi

Yani, tetiklenen bir SL/TP tespit etmede hala sorun mu yaşıyorsunuz?

Dosyalar:
 
angevoyageur :

Az önce gönderdiğiniz EA'yı kullanıyorum. MQ demosu, Erişim noktası Avrupa. Şununla geriye dönük test:


Günlükten rastgele bir alıntı yapıyorum:

Yani, tetiklenen bir SL/TP tespit etmede hala sorun mu yaşıyorsunuz?

ah. Anladım.Dün koşularımda yemin edebilirim böyle bir fiyat verilmedi. Backtest günlüğünde bu fiyat için bir metin araması yaptım.

Ama şimdi, logentry'den SONRA bu işlemi görebiliyorum

"tetiklenen kârı al "

son çalıştırmamda da - yürütme fiyatıyla birlikte.

Her zaman için özür dilerim.

 
chinaski :

ah. Anladım.Dün koşularımda yemin edebilirim böyle bir fiyat verilmedi. Backtest günlüğünde bu fiyat için bir metin araması yaptım.

Ama şimdi, logentry'den SONRA bu işlemi görebiliyorum

...
Size verdiğim log Viewer'dandır, logu doğrudan Strategy Tester Journal sekmesinden okuduğunuzda ters sırada görüntülenir .
 
angevoyageur :
Size verdiğim log Viewer'dandır, logu doğrudan Strategy Tester Journal sekmesinden okuduğunuzda ters sırada görüntülenir .
Ben genellikle günlük dosyasını, siparişin yukarıdan aşağıya olduğu arka test günlük sekmesinden açarım. Yani aslında fiyat gösteren logentry işlem gerçekleşmeden önce yazılır.
 

Merhaba Angevoyageur,

" Erişim noktası Avrupa. Şununla geriye dönük test : "

bana bu sunucunun tam IP adresini verir misin?

Neden: