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

 
Andrey Khatimlianskii :

Bu noktayı MT4Orders seviyesinde atlamak harika olurdu..

Şimdi maalesef çift sipariş var. Büyük ihtimalle bu yüzden.

https://www.mql5.com/ru/forum/93352/page40#comment_13943845 öyle mi?

 
traveller00 :

https://www.mql5.com/ru/forum/93352/page40#comment_13943845 öyle mi?

Ne yazık ki, bu koltuk değneği ile de iki katına çıkar.

Hangi yolla hata ayıklayacağımı bilmiyorum.

 
Andrey Khatimlianskii :

Ne yazık ki, bu koltuk değneği ile de iki katına çıkar.

Hangi yolla hata ayıklayacağımı bilmiyorum.

İşte sebep (başkalarının olmaması değil).

         // Открытие руками единственной позиции.

         1
         PositionsTotal () = 0 OrdersTotal () = 1 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
         # 2249767032 2021.05 . 04 02 : 10 : 01.089 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22776 0.00 0.00 0.00 0
        ----------------
         2
         PositionsTotal () = 0 OrdersTotal () = 1 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
         # 2249767032 2021.05 . 04 02 : 10 : 01.089 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22776 0.00 0.00 0.00 0
        ----------------
         3
         PositionsTotal () = 0 OrdersTotal () = 1 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
         # 2249767032 2021.05 . 04 02 : 10 : 01.089 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22776 0.00 0.00 0.00 0
        ----------------
         4
         PositionsTotal () = 0 OrdersTotal () = 1 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
         # 2249767032 2021.05 . 04 02 : 10 : 01.089 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22776 0.00 0.00 0.00 0
        ----------------
         5
         PositionsTotal () = 0 OrdersTotal () = 1 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
         # 2249767032 2021.05 . 04 02 : 10 : 01.089 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22776 0.00 0.00 0.00 0
        ----------------
         6 // Полностью исчез открывающий позицию ордер - его нет ни в одной таблице. Позиции так и нет.
         PositionsTotal () = 0 OrdersTotal () = 0 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 57 
        ----------------
         7 // Ордер появился в исторической таблице. Позиции так и нет.
         PositionsTotal () = 0 OrdersTotal () = 0 HistoryDealsTotal () = 57 HistoryOrdersTotal () = 58 
        ----------------
         8 // Появилась позиция и сделка.
         PositionsTotal () = 1 OrdersTotal () = 0 HistoryDealsTotal () = 58 HistoryOrdersTotal () = 58 
         # 2249767032 2021.05 . 04 02 : 10 : 01.124 buy 0.01 USDCAD 1.22776 0.00000 0.00000 1.22769 - 0.02 0.00 - 0.05 0
        ----------------

S.6. en tatsız. Bu hatanın üstesinden nasıl gelinir MT5 - ortaya çıkmadı.

 
fxsaber :

İşte sebep (başkalarının olmaması değil).

S.6. en tatsız. Bu hatanın üstesinden nasıl gelinir MT5 - ortaya çıkmadı.

Burada, "eksik" sipariş kontrolü işe yarayacaktır. Ve çalışmıyor.

Belli ki bir şeyleri karıştırmış.

 
Andrey Khatimlianskii :

Burada, "eksik" sipariş kontrolü işe yarayacaktır. Ve çalışmıyor.

Belli ki bir şeyleri karıştırmış.

7. paragrafta. "Eksik" bir tane var, ama hala pozisyon yok.

 
fxsaber :

7. paragrafta. "Eksik" bir tane var, ama hala pozisyon yok.

Bu, MT4Orders::OrdersTotal() döngüsünün sırayı veya konumu görmeyeceği anlamına mı geliyor?

Bu anın henüz çözüldüğünü düşündüm: ya listede bir düzen/pozisyon var ya da düzen "kayboldu". Üçüncü bir şey nasıl olabilir?

 
Andrey Khatimlianskii :

Bu, MT4Orders::OrdersTotal() döngüsünün sırayı veya konumu görmeyeceği anlamına mı geliyor?

6. ve 7. paragraflar hariç tüm paragraflarda bir konumun görünür olduğu gösterilmiştir.

Bu anın henüz çözüldüğünü düşündüm: ya listede bir düzen/pozisyon var ya da düzen "kayboldu". Üçüncü bir şey nasıl olabilir?

Danışmanınızın bir tür düzen olduğu gerçeği hakkında hiçbir şey bilmeden 6. noktaya düştüğünü hayal edin. Bu durumda, durumun kayıp arama emrine tekabül ettiğini bilmesine imkan yoktur.

Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)
Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)
  • 2021.05.03
  • www.mql5.com
Хочу затронуть самую что ни на есть щекотливую тему терминалов МТ4 и МТ5. Их влияние и популярность среди пользователей и брокеров / ДЦ...
 
fxsaber :

Danışmanınızın bir tür düzen olduğu gerçeği hakkında hiçbir şey bilmeden 6. noktaya düştüğünü hayal edin. Bu durumda, durumun kayıp arama emrine tekabül ettiğini bilmesine imkan yoktur.

Fiyattan belirli bir mesafede (spreadde değil) limitler kullanılıyorsa böyle bir durumu hayal edemiyorum.

Listedeki yerleşik düzeni görmek için her zaman zamanı olacaktır. Ve daha sonra emir ya "kayıp" olacak ya da bir pozisyona dönüşecek.


Başka bir danışmanın mevcut fiyata bir emir vermesi ve hemen taşmaya başlaması durumunda böyle bir durumun mümkün olduğunu kabul ediyorum (s. 6).

Ama yine de ilk EA'nın MT4Orders::OrdersTotal() listesindeki sırasını (sihriyle) görmeyi neden bıraktığını açıklamıyor.

 

Durumu bir savaş danışmanında şaşırtıcı bir şekilde kolayca yeniden üretti - emirlerden birinin yerine getirilmesi sırasında danışman ikincisini gözden kaybetti.

Ancak üreme için basit bir örnek oluşturmaya çalışırken her şey net bir şekilde çalışıyor. Görünüşe göre kodunun vahşi alanlarında bir yere gerçekten bir hata getirmiş.

 

İşte belgelerden:

" Bu işlemlerin terminale ulaşma sırası garanti edilmez, bu nedenle alım satım algoritmanızı diğerlerinin gelmesinden sonra bazı alım satım işlemlerinin gelmesini beklemek üzerine kuramazsınız. " https://www.mql5.com/ ru/docs/event_handlers/ontradetransaction

Ve deneyime göre, TRADE_TRANSACTION_ORDER_DELETE , TRADE_TRANSACTION_DEAL_ADD , TRADE_TRANSACTION_HISTORY_ADD işlemleri herhangi bir sırayla gelebilir.

Bu nedenle, tarihte henüz anlaşma ve emir olmadığı, ancak artık emir olmadığı durumlar ortaya çıkar. Ya da tam tersi, hala bir sipariş var ama zaten bir anlaşma var. Bu sadece düzenin hem güncelde hem de tarihte olduğu bir durum, pek mümkün değil.

Aslında, bu yüzden CTrade sınıfını kullanmayı reddetti - tüm bu komisyonun üzerine basıyor.

Mücadele yolu - her danışman emirlerinin bir listesini tutar ve durumlarını izler. dahil "standart dışı" - "sipariş gönderildi, ancak aktif olanlarda henüz görünmedi" (burada iki katına çıkarılabilir), "sipariş silindi, ancak tarihte görünmedi". Aynı zamanda netleştirme sırasında tek bir sembol üzerinde aynı anda çalışmaya yardımcı olur.

Документация по MQL5: Обработка событий / OnTradeTransaction
Документация по MQL5: Обработка событий / OnTradeTransaction
  • www.mql5.com
OnTradeTransaction - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5