Sonsuza kadar harika ve korkunç MT4 (veya bir geçiş stratejisinin nasıl doğru bir şekilde geliştirileceği) - sayfa 30

 
MT4'te grafiği dikey fibonacci seviyeleri boyunca sıkıştıramıyorum, grafiğin 8000 pip ile sınırlı olduğunu göremiyorum))) nasıl çözülür?
 

Forts'ta garip geldi. İşte bir pozisyonu kapatmanın ana kısmı.

   if (Trade.PositionClose(mSymbol))
  {
     // --- Введем задержку пока не получим номер сделки, но не более 2-х секунд
     int cnt = 0 ;
     ulong deal = 0 ;
     while (((deal = Trade.ResultDeal()) == 0 ) && cnt < 20 ) { Sleep ( 100 ); ++cnt;}
    
     if (deal == 0 )
    {
       ulong ttOrder = Trade.ResultOrder();
       if ( HistoryOrderSelect (ttOrder))
      {
         ENUM_ORDER_STATE state = ENUM_ORDER_STATE ( HistoryOrderGetInteger (ttOrder, ORDER_STATE ));
        LOG( "После закрытия позиции № сделки=0, Order=" + string (ttOrder) + " state=" + EnumToString (state));
      }
       return false ;
    }
  }

İşte uzman günlüğünden bir alıntı, yani. ResultDeal() kontrolünün 20 yinelemesinden sonra anlaşmanın (anlaşma bileti) sıfır olduğu bölüme basın:


JL    0    10:08:04.462    e-MultiPattern-0.15 (RTS-9.21,M5)    cStoploss::sortSL12 Дистанция контртренд=0 BID=172690.0, закроем Short
JM   0    10:08: 06.695     e-MultiPattern-0.15 (RTS-9.21,M5)     ** 333-cMyTrade::ClosePosition. После закрытия позиции № сделки=0, Order=16868286 state=ORDER_STATE_FILLED

İşte terminal günlüğünden bir alıntı:

IG 0 10:08:04.465 İşlemler '733618': borsada 2 RTS-9.21 satın al
KN 0 10:08:04.480 İşlemler '733618': kabul edilen borsa piyasadan 2 RTS-9.21 satın al
OQ 0 10:08:04.481 İşlemler '733618': işlem için pazarda 2 RTS-9.21 satın al

FG 0 10:08: 04.517 İşlemler '733618': sipariş #16688286 piyasada 2 / 2 RTS-9.21 satın al 52.326 ms'de yapıldı
JN 0 10:08: 04.517 İşlemler '733618': #3413752 numaralı anlaşma, 172780'de 2 RTS-9.21 satın alın yapıldı (sipariş #16868286'ya göre)

SB'nin çalışmalarında ve MT5'in ticaret mantığında kimin tecrübeli olduğunu söyleyin. Terminal günlüğünde, sipariş verme ve anlaşma oluşturma aynı anda gerçekleşti - 04.517 saniye.

Ve while döngüsündeki danışman, anlaşma biletini görmedi ve 06.695 saniyede 20 yinelemeden sonra çıktı. Yapının neden bir sipariş bileti var ama bir anlaşma bileti yok?

Özellikle kısmi kapanış kullanıyorsanız, bir anlaşma bileti alacağınızdan nasıl emin olabilirsiniz?

 
Vasiliy Pushkaryov bir anlaşma bileti alacağınızdan nasıl emin olabilirsiniz?

Bu kolay açıklanamaz çünkü. birçok tuzak var. Kullanıcıların sorunsuz çalışmasını sağlayan bir çözüm yazdı. Ancak dahili uygulamanın analizi özel uzmanlar içindir.

 
mt4 için normal bir test cihazı yapın ve birkaç yıl içinde herkes mt5'i unutacak
 
Dmitry Fedoseev # :

Ve tüm ciddiyetle...

Mizah konusu burada

Aşağıdan yukarıya uyumluluk, yazılım için temel gereksinimlerden biridir. Önceki sürümün kodu, bir sonraki sürüm tarafından yeterince algılanmalıdır. Aksi takdirde, geliştirici önceki geliştirmeyi atar ve yeni bir geliştirme gönderir. Hiçbir yere giden yol.

(Her şeyden önce, geliştiricilerin) MQL4 kodunun MQL5 koduna bir derleyicisine ihtiyaç duyduğuna tamamen katılıyorum.

 
Vladimir Baskakov # :
mt4 için normal bir test cihazı yapın ve birkaç yıl içinde herkes mt5'i unutacak

Baskakov ve kızım MT5 kullanıyor, bulaşma ...

 
Altı ay önce ona bir gösterge sözü verdim ama asla yapmadım.
 
fxsaber # :

ResultDeal sıfıra eşitse, döngüde bir milyon yinelemeden sonra sıfıra eşit olacaktır, çünkü değişmez bir parametredir.

Çünkü verilen piyasa emri, OrderSend'in sonucudur.

Pek net değil. MqlTradeResult yapısının referansı diyor ki

Kapanış bir sipariş bileti verdiyse, ancak anlaşma bileti yoksa, TRADE_ACTION_PENDING işlem türü gerçekleşti mi?

Veya TRADE_ACTION_DEAL ve anlaşma bileti "geç" olabilir ve yapıya giremez mi?

Onlar. O zaman HistorySelect işlevleri aracılığıyla bir anlaşma aramak daha mı iyi?

 

Ve üzgünüm, acıttı. Geliştiriciler: MT4 bakımı için çılgınca ve haksız masraflara maruz kalmayı bırakın, zaten bunu yapan birinci sınıf uzmanların yarısına sahipsiniz.

MQL4-MQL5 derleyicisini bir kez yapın ve ana şeye konsantre olun. Rakipler arasında nihai versiyonun tutarlı bir birinciliğini elde edin.

 
Vasiliy Pushkaryov # :

Pek net değil. MqlTradeResult yapısı için yardım diyor

Kapanış bir sipariş bileti verdiyse, ancak anlaşma bileti yoksa, TRADE_ACTION_PENDING işlem türü gerçekleşti mi?

Veya TRADE_ACTION_DEAL ve anlaşma bileti "geç" olabilir ve yapıya giremez mi?

Onlar. O zaman HistorySelect işlevleri aracılığıyla bir anlaşma aramak daha mı iyi?

SB'deki PositionClose(Symbol) yönteminin TRADE_ACTION_DEAL işlem tipini atamasına rağmen.

Bir işlem bileti olması gerektiği ortaya çıktı, ancak çoğu zaman mevcut değil.

Neden: