OrderSend() Soruları - sayfa 7

 

Doldurulması gereken alanlar farklı mı?

SYMBOL_TRADE_EXECUTION_CHANGE

Exchange yürütme

alanlarından

SYMBOL_TRADE_EXECUTION_MARKET

Piyasa yürütme

???

yardımda sadece pazar için bir örnek var

Piyasa yürütme

Piyasa Yürütme modunda (piyasada işlem emirlerinin yürütülme modu) bir pozisyon açmak için bir işlem emri. 5 alan gereklidir:

  • eylem
  • semboller
  • Ses
  • tip
  • type_filling

Sihir ve yorum alanlarını da ayarlayabilirsiniz.

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

Belgeleri okudum, forumu aradım ... Kafam tamamen karıştı . Lütfen sakıncası yoksa N+1 kez açıklayınız.

1. OrderSend kullanarak bir ticaret talebi gönderirim. Bu işlev true değerini döndürür.

2. Yeniden kodu analiz edin ( MqlTradeResult ). Değişken, TRADE_RETCODE_DONE değerine sahiptir.

Bu durum, siparişin sunucuda fiilen yürütülmesini garanti ediyor mu? Yoksa OnTrade, OnTradeTransaction'da herhangi bir kontrol yapılması hala gerekli mi? O zaman işe yaramazsa neden ret kodunu analiz ediyorsun?

Onlar. OrderSend Async () kullanılırken OnTrade, OnTradeTransaction ihtiyacı benim için açık.

OrderSend() işlevini kullanırken bunlara ihtiyaç var mı? Sonraki EA kodunun yürütülmesine geçmeden önce sunucuda bir emrin yürütülmesini/reddedilmesini koşulsuz olarak bekler mi?

 
voix_kas :

...

OrderSend() kullanırken bunlara ihtiyaç var mı? Sonraki EA kodunun yürütülmesine geçmeden önce sunucuda bir emrin yürütülmesini/reddedilmesini koşulsuz olarak bekler mi?

OrderSend yanılmıyorsam emrin gerçekleşmesini beklemez sadece emrin doğru olduğunu ve sunucudaki kuyruğa gönderildiğini bildirir.

Geri dönüş değeri

Başarılı bir temel yapı kontrolü durumunda (işaretçilerin kontrolü), true döndürülür - bu, bir ticaret işleminin başarılı bir şekilde yürütüldüğünü göstermez . İşlev yürütme sonucunun daha ayrıntılı bir açıklamasını elde etmek için sonuç yapısının alanlarını analiz etmelisiniz.
 
voix_kas : 1. OrderSend kullanarak bir ticaret talebi gönderme . Bu işlev true değerini döndürür.

2. Yeniden kodu analiz edin ( MqlTradeResult ). Değişken, TRADE_RETCODE_DONE değerine sahiptir.

Bu durum, siparişin sunucuda fiilen yürütülmesini garanti ediyor mu?

retcode sadece RETCODE_DONE döndüremez :) Ama ticaret sunucusu tam olarak TRADE_RETCODE_DONE ( Talep tamamlandı ) döndürürse, neden başka bir şeyi kontrol edin? Benim düşünceme göre, bu durumda OnTrade, OnTradeTransaction işlevleri ret kodunu çoğaltacaktır.
 
fyords :

OrderSend yanılmıyorsam siparişin gerçekleşmesini beklemez sadece siparişin doğru olduğunu ve sunucudaki kuyruğa gönderildiğini bildirir .

Böyle bir durumda tek başına "doğru" yeterli olacaktır. Ancak geliştiriciler, plana göre " ticaret sunucusu dönüş kodunu " içermesi gereken bir ret kodu sağladı.

Onlar. OrderSend() işlevi tamamlandıktan sonra, EA kodunun ikinci satırında TRADE_RETCODE_DONE görüyorum ve kodun üçüncü satırında örneğin yeni açılan bir pozisyonu (mantıksal olarak olması gereken) değiştirmeye çalışıyorum. Ancak, PositionSelect false döndürür. İterasyon tekrarlanır. Sonuç olarak çift volümde bir pozisyon yanlışlıkla açıldı.

Kendinizi böyle bir durumdan nasıl koruyabilirsiniz?

1. OnTrade'de yalnızca retcode ve "puan" ile yönlendirilmek mi?

2. Yalnızca OnTrade ve retcode'da "puan" tarafından yönlendirilmek mi?

 
Yedelkin :
retcode sadece RETCODE_DONE döndüremez :) Ama ticaret sunucusu tam olarak TRADE_RETCODE_DONE ( Talep tamamlandı ) döndürürse, neden başka bir şeyi kontrol edin? Benim düşünceme göre, bu durumda OnTrade, OnTradeTransaction işlevleri ret kodunu çoğaltacaktır.

" Ticaret sunucusu dönüş kodları " listesine bakılırsa, piyasa sorgusu yürütme modunda yalnızca bir belirsizlik mümkündür: TRADE_RETCODE_LOCKED. Ve burada, belki de OnTrade olmadan yapamazsınız.

Size sorayım, kişisel olarak hangi bağlantıyı kullanıyorsunuz?

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - Документация по MQL5
 
voix_kas : " Ticaret sunucusu dönüş kodları " listesine bakılırsa, piyasa sorgusu yürütme modunda yalnızca bir belirsizlik mümkündür: TRADE_RETCODE_LOCKED. Ve burada, belki de OnTrade olmadan yapamazsınız.

Size sorayım, kişisel olarak hangi bağlantıyı kullanıyorsunuz?

Ayrıca Yerleştirildi. İsteği gönderme başarısı açısından kontrol ettiğim onlar (Yerleştirildi / Bitti).
 
Belirli bir kod verebilir misiniz?
 
voix_kas : Belirli bir kod verebilir misiniz?
Hayır, belirli bir kod sağlayamam. Birincisi, bir yıl öncesinden sınıflarda mühürlendi ve ikincisi, aranması gerekiyor. ..Sen sordun - Hangi paketi kullanıyorum? - içtenlikle cevap verdim.
 
voix_kas :

Kendinizi böyle bir durumdan nasıl koruyabilirsiniz?

1. OnTrade'de yalnızca retcode ve "puan" ile yönlendirilmek mi?

2. Yalnızca OnTrade ve retcode'da "puan" tarafından yönlendirilmek mi?

OnTrade tarafından yönlendirilmek en güvenilir yöntemdir, ancak bunu onsuz da yapabilirsiniz - tamamlanan anlaşmayı analiz edin (ResultDeal()).

Yakında bu konuyla ilgili bir yazı gelecek.