Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Kontrol ettim. Bir SL/TP tetiklendiğinde şu işlemlere sahip olursunuz:
Açığa çıkarken - bakire bir pozisyondan 3 işlem alıyorum:
bir giriş)
Durdurma kaybı tetiklendiğinde, alıyorum
B çıkışı)
TRADE_TRANSACTION_POSITION yok. Bence burayı kullanamazsın.
Özet:
Bir kısa açılır, ilk işlem
entry-type=IN trans-type=DEAL_ADD order_type=SATIN AL sl= 1.3119000 tp= 1.3088000
Kısa kapanış, stop veya hedefle, ilk yansıyan işlem
input-type=IN trans-type=DEAL_ADD order_type=SATIN AL sl=0.0 tp=0.0
Bu kafa karıştırıcı. Olmalı:
açık kısa:
input-type=IN trans-type=DEAL_ADD order_type=SAT sl= 1.3119000 tp= 1.3088000
kısa kapat:
giriş tipi=ÇIKIŞ trans-tipi=DEAL_ADD order_type=SATIN AL sl=0.0 tp=0.0
Kontrol ettim. Bir SL/TP tetiklendiğinde şu işlemlere sahip olursunuz:
Açığa çıkarken - bakire bir pozisyondan 3 işlem alıyorum:
bir giriş)
Durdurma kaybı tetiklendiğinde, alıyorum
B çıkışı)
TRADE_TRANSACTION_POSITION yok . Bence burayı kullanamazsın .
...Bazı işlemleri kaçırıyorsunuz, nedenini bilmiyorsunuz. Çünkü geriye dönük test?
Küçük arasöz, bunun yerine:
kullanabilirsiniz :
EnumToString (t.order_type)
Küçük arasöz, bunun yerine:
kullanabilirsiniz :
EnumToString için teşekkür ederiz. Kullanımı çok daha akıllı.
Evet, endişem backtest'teki işlemle ilgili. Ancak bunu mümkün olduğunca gerçek kılmak için, işlem canlı işlemdekiyle aynı olmalıdır.
TRADE_TRANSACTION_POSITION, daha önce de belirttiğiniz gibi bir anlaşma ile ilgili değil. Sanırım, örneğin, hesabınızda bir miktar para taşıdığınızı gösteriyor.
...
Sorun, geriye dönük test sırasında kullanılamayan bazı işlemler var gibi görünüyor. Bir hata veya geriye dönük test sınırlaması. İleriye dönük bir testte çalışırken, SL/TP tetiklendiğinde bir TRADE_TRANSACTION_POSITION var.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Sorun, geriye dönük test sırasında kullanılamayan bazı işlemler var gibi görünüyor. Bir hata veya geriye dönük test sınırlaması. İleriye dönük bir testte çalışırken, SL/TP tetiklendiğinde bir TRADE_TRANSACTION_POSITION var.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Merhaba angevoyageur,
hala bir postion-in backtest'e iliştirilmiş bir stop veya zararın uygulanan fiyatını alma probleminiz var. Şu ana kadar canlı koşullarda nasıl davrandığını bilmiyorum.
Bu, backtest günlüğünden:
Son satırda görebileceğiniz gibi, yürütülen fiyat günlükte verilmiştir -> [#7, 1.27349'dan 0.01 EURUSD satın al]
Ancak hiçbir yapı, işlem, anlaşma veya sipariş geçmişi bu fiyatı sağlamaz.
Bu satır, tetiklenen durdurmayla ilgili işlemi boşaltır:
Bu döküm fonksiyon kodudur:
Bu yüzden sipariş ve anlaşma geçmişinden yürütme fiyatını almaya çalıştım: sonuç yok
Merhaba angevoyageur,
...Teşekkürler, en kısa zamanda çalışmaya gideceğim.
Bu gerçekten güzel. Acele etmeyin.
OnTradeTransaction'a iletilen her işlemi, isteği ve sonucu kontrol ettim.
Geri test günlüğünde (MetaTrader tarafından oluşturulan) belirtilen tetiklenen stop loss fiyatı, sl fiyatı dışında bulunamaz, ancak fiyat veya işlem fiyatı veya yürütme fiyatı olarak bulunmaz.
Bu gerçekten güzel. Acele etmeyin.
OnTradeTransaction'a iletilen her işlemi, isteği ve sonucu kontrol ettim.
Geri test günlüğünde (MetaTrader tarafından oluşturulan) belirtilen tetiklenen stop loss fiyatı, sl fiyatı dışında bulunamaz, ancak fiyat veya işlem fiyatı veya yürütme fiyatı olarak bulunmaz.
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)