Zararı durdurmak için bir siparişin kapatılıp kapatılmadığı nasıl kontrol edilir - sayfa 2

 

Lütfen sadece ne hakkında konuştuğunu biliyorsan cevap verebilir misin?

Bu MT5/mql5 ile ilgili bir konu, alakasız tüm gönderileri kaldıracağım .

MT5'te tarihte stoploss fiyatı yoktur.

 

Mql5'teki (hedge hesabı) temel sorun, pozisyon geçmişi eksikliğinden dolayı bir pozisyon kapatıldığında Zarar Durdur fiyatını bilmektir. İlk Zarar Durdurmanızı (ilk emrin Kaybını Durdur) bulmak için HistorySelectByPosition() 'ı kullanabilirsiniz, ancak bu Zararı Durdur'u daha sonra değiştirdiyseniz, aynı POSITION_ID olmadan bunu yapmak için yeni emirler oluşturur ve bu nedenle, bunlar olmaz. HistorySelectByPosition() işlevi tarafından seçilebilir, bu nedenle yerleştirdiğiniz son Stop Loss'u bilmek çok zorlaşır.

Hata olarak kabul edilebilir mi bilmiyorum ama değilse de öyle olmalı.

Saygılarımızla.

Documentation on MQL5: Trade Functions / HistorySelectByPosition
Documentation on MQL5: Trade Functions / HistorySelectByPosition
  • www.mql5.com
Trade Functions / HistorySelectByPosition - Reference on algorithmic/automated trading language for MetaTrader 5
 
Jose Francisco Casado Fernandez :

Mql5'teki (hedge hesabı) temel sorun, pozisyon geçmişi eksikliğinden dolayı bir pozisyon kapatıldığında Zarar Durdur fiyatını bilmektir. İlk Zarar Durdurmanızı (ilk siparişin Kaybını Durdur) bulmak için HistorySelectByPosition() 'ı kullanabilirsiniz ...

Hayır yapamazsın ya da ben seni yanlış anladım.

Mevcut Stoploss tarihte hiçbir yerde yok.

 
Alain Verleyen :

Hayır yapamazsın ya da ben seni yanlış anladım.

Stoploss tarihte hiçbir yerde yok.

POSITION_ID'nizle HistorySelectByPosition() öğesini kullanabilir ve ardından bu POSITION_ID ile ilk siparişi bulabilir ve bu siparişin (HistoryOrderGetDouble(ticket, ORDER_SL) Stop Loss'u kontrol edebilirsiniz.Benim için çalıştı, ancak
.Sorun, Kaybı Durdur'u daha sonra değiştirdiğinizde ortaya çıkar.
 
Jose Francisco Casado Fernandez :
POSITION_ID'nizle HistorySelectByPosition() öğesini kullanabilir ve ardından bu POSITION_ID ile ilk siparişi bulabilir ve bu siparişin (HistoryOrderGetDouble(ticket, ORDER_SL) Stop Loss'u kontrol edebilirsiniz.Benim için çalıştı, ancak
.Sorun, Kaybı Durdur'u daha sonra değiştirdiğinizde ortaya çıkar.

tamam şimdi anladım haklısın

 
Jose Francisco Casado Fernandez :
POSITION_ID'nizle HistorySelectByPosition() öğesini kullanabilir ve ardından bu POSITION_ID ile ilk siparişi bulabilir ve bu siparişin (HistoryOrderGetDouble(ticket, ORDER_SL) Stop Loss'u kontrol edebilirsiniz.Benim için çalıştı, ancak
.Sorun, Kaybı Durdur'u daha sonra değiştirdiğinizde ortaya çıkar.
Ardından , ORDER_POSITION_ID'nin DEAL_POSITION_ID'ye eşit olduğunu kontrol edin ,
OUT ise DEAL_ENTRY'yi kontrol edin , HystoryDealGetDouble'ı alın ( bilet , DEAL_PRICE ) .

DEAL_PRICE , HistoryOrderGetDouble ( bilet , ORDER_SL ) değerine eşitse , bu , Siparişin tamamlandığı anlamına gelir. stop loss nedeniyle kapatın .

İşte benim görüşüm.

 
Alain Verleyen :

tamam şimdi anladım haklısın

Peki, Zarar Durdur'u daha sonra değiştirirseniz, bunu yapmak için oluşturulan yeni siparişin neden aynı POSITION_ID'yi göstermediğini biliyor musunuz? Bu konu için mükemmel bir çözüm olacaktır. Hata mı???. Teşekkürler.
 
Roberto Jacobs :

DEAL_PRICE , HistoryOrderGetDouble ( bilet , ORDER_SL ) değerine eşitse , bu , Siparişin tamamlandığı anlamına gelir. stop loss nedeniyle kapatın .

Peki ya kayma?
 
Roberto Jacobs :
Ardından , ORDER_POSITION_ID'nin DEAL_POSITION_ID'ye eşit olduğunu kontrol edin ,
OUT ise DEAL_ENTRY'yi kontrol edin , HystoryDealGetDouble'ı alın ( bilet , DEAL_PRICE ) .

DEAL_PRICE , HistoryOrderGetDouble ( bilet , ORDER_SL ) değerine eşitse , bu , Siparişin tamamlandığı anlamına gelir. stop loss nedeniyle kapatın .

İşte benim görüşüm.

Evet, söylediğim buydu. Öyle yaptım ve işe yaradı, ancak ilk Stop Loss öğesini değiştirirseniz, aynı POSITION_ID OLMADAN yeni bir sipariş oluşturur. Neden bilmiyorum. Bence bu bir bug. Saygılarımızla,.
 
honest_knave :
Peki ya kayma?

Kayma aramaya gerek yok , çünkü sipariş yakın ve kapanış fiyatı HystoryDealGetDouble'da ( bilet , DEAL_PRICE ) .
Sipariş kapanışta değilse ve kapatmak için bir sipariş verirseniz , o zaman ne kadar slip olduğunu düşünmelisiniz , böylece hiçbir hata yeniden alıntılanmaz.