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

 
chinaski :

Merhaba angevoyageur,

sorunu gösteren basit bir EA ekli bulabilirsiniz. EA, stop ve target ile birlikte uzun açılır, sonra kısa, sonra uzun vb.

Bir döküm yöntemi de bulunur. Sadece 1 hafta 1 dakika EUR.USD uygulayın ve geriye dönük test günlüğünde işlem dökümlerini izleyin.

Yardımın için teşekkürler.

Burada stoploss tetiklenir:

2013.05.03 16:52 106 EURUSD satın almak içinde 0.01 1.31240 106 0,00 0,00 0,00 9 978,84
2013.05.03 18:35 107 EURUSD satmak dışarı 0.01 1.31040 107 0,00 0,00 -2.00 9 976.84 sl 1.31040

2013.05.07 18:45:27    Core 1    2013.05.03 18:35:40   trans=symbol=EURUSD price=1.3104000 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

 
angevoyageur :

Burada stoploss tetiklenir:

2013.05.03 16:52 106 EURUSD satın almak içinde 0.01 1.31240 106 0,00 0,00 0,00 9 978,84
2013.05.03 18:35 107 EURUSD satmak dışarı 0.01 1.31040 107 0,00 0,00 -2.00 9 976.84 sl 1.31040

2013.05.07 18:45:27    Core 1    2013.05.03 18:35:40   trans=symbol=EURUSD price=1.3104000 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

Merhaba,

ancak bu input-type=IN , out değil. ...

 
chinaski :

Merhaba,

ancak bu input-type=IN , out değil. ...

Belki, ama yine de sl'niz tetiklendi. Bir programın size söylediklerine asla dini olarak inanmayın ;-)
 
angevoyageur :
Belki, ama yine de sl'niz tetiklendi. Bir programın size söylediklerine asla dini olarak inanmayın ;-)

Haklısınız, diğer yandan, sl=0.0'a güvenebileceğimi nasıl bilebilirim ve tp=0.0 bunun durma veya hedef sipariş olduğu anlamına gelir ve değil: sl ve tp basitçe cevapsız (işlem yapısında)..?

 
chinaski :

Haklısınız, diğer yandan, sl=0.0'a güvenebileceğimi nasıl bilebilirim ve tp=0.0 bunun durma veya hedef sipariş olduğu anlamına gelir ve değil: sl ve tp basitçe cevapsız (işlem yapısında)..?

Bir yapının eksik alanı olamaz. Bu, bir anlaşma ( DEAL_TYPE_SELL ) ile ilgili işlemdir, bir anlaşmanın SL/TP'si olamaz, bu hiçbir anlam ifade etmez. Bir SL (veya TP) bir emirdir (bir tür özel bekleyen emir), tetiklendiğinde emir bir anlaşma ile sonuçlanır. Bunların hepsini OnTradeTransaction içinde kontrol edebilirsiniz.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties - Documentation on MQL5
 
angevoyageur :

Bir yapının eksik alanı olamaz. Bu, bir anlaşma ( DEAL_TYPE_SELL ) ile ilgili bir işlemdir, bir anlaşmanın SL/TP'si olamaz, bu hiçbir anlam ifade etmez. Bir SL (veya TP) bir emirdir (bir tür özel bekleyen emir), tetiklendiğinde emir bir anlaşma ile sonuçlanır. Bunların hepsini OnTradeTransaction içinde kontrol edebilirsiniz.

Tabii ki yapı elemanlarını kastetmiyorum, değerleri kastediyorum.
 
chinaski :
Tabii ki yapı elemanlarını kastetmiyorum, değerleri kastediyorum.
Yani ? Biraz kafa karıştırıcı, yine de yardımcı olabilir miyim?
 
angevoyageur :
Yani ? Biraz kafa karıştırıcı, yine de yardımcı olabilir miyim?

Evet, bir yardımdı. karıştırarak ne demek? Her zaman ENTRY_IN almayı merak ettim. Programın bana söylediklerine asla inanma demiştin. Haklısın diyorum, bu yüzden sl=0.0 veya tp=0.0 (kaçırılan değerler) de sunucu tarafından bir hata olabilir - değerleri yazmayı unuttum.

Benim için önemli olan: Hangi işlemin durdurulacağını belirlemek için bir kaydetme yöntemi. MT harika ama birçok yönden kafa karıştırıcı, bu durumda olduğu gibi normalde beklediğiniz şeyi yapmıyor.

ne demek istediğimi biliyor musun?

 
chinaski :

Evet, bir yardımdı. karıştırarak ne demek? Her zaman ENTRY_IN almayı merak ettim. Programın bana söylediklerine asla inanma demiştin. Haklısın diyorum, bu yüzden sl=0.0 veya tp=0.0 (kaçırılan değerler) de sunucu tarafından bir hata olabilir - değerleri yazmayı unuttum.

Benim için önemli olan: Hangi işlemin durdurulacağını belirlemek için bir kaydetme yöntemi. MT harika ama birçok yönden kafa karıştırıcı, bu durumda olduğu gibi normalde beklediğiniz şeyi yapmıyor.

ne demek istediğimi biliyor musun?

Kafam karışan benim ;-) Birçok konuyu okuyup yanıtlıyorum . Ne dediğini anlıyorum , MT4 ile alışkanlıkları değiştirebilmek lazım .
 
chinaski :

Evet, bir yardımdı. karıştırarak ne demek? Her zaman ENTRY_IN almayı merak ettim. Programın bana söylediklerine asla inanma demiştin. Haklısın diyorum, bu yüzden sl=0.0 veya tp=0.0 (kaçırılan değerler) de sunucu tarafından bir hata olabilir - değerleri yazmayı unuttum.

Benim için önemli olan: hangi işlemin stop out olduğunu belirlemek için bir kaydetme yöntemi . MT harika ama birçok yönden kafa karıştırıcı, bu durumda olduğu gibi normalde beklediğiniz şeyi yapmıyor.

ne demek istediğimi biliyor musun?

Kontrol ettim. Bir SL/TP tetiklendiğinde şu işlemlere sahip olursunuz:

  1. SL ve TP ayarlıyken TRADE_TRANSACTION_POSITION (ancak henüz anlaşma yok), ardından
  2. TRADE_TRANSACTION_DEAL_ADD

TRADE_TRANSACTION_POSITION

Bir anlaşmanın yürütülmesiyle ilgili olmayan bir pozisyonun değiştirilmesi. Bu işlem türü, ticaret sunucusu tarafında bir pozisyonun değiştirildiğini gösterir. Pozisyon hacmi, açık fiyat, Zarar Durdur ve Kâr Al seviyeleri değiştirilebilir. Değişikliklerle ilgili veriler MqlTradeTransaction yapısında OnTradeTransaction işleyicisi aracılığıyla gönderilir. Bir anlaşmanın yürütülmesi sonucunda pozisyon değişikliği (ekleme, değiştirme veya kapatma), TRADE_TRANSACTION_POSITION işleminin gerçekleşmesine yol açmaz.