MQL5'te birlikte öğrenme ve yazma - sayfa 34

 
Yedelkin :

İşte benim için anlaşılmaz bir sonuç üreten basit bir betik

Belki birisi sebebinin ne olduğunu açıklayabilir? 254 sayısını açıkça uchar türüne çevirdiğinizde, istendiği gibi çalışır.

Mesajınız için teşekkürler, bir göz atacağız.
 
Rosh :
Mesajınız için teşekkürler, bir göz atacağız.

ushort ile aynı hikaye:

 void OnStart ()
  {
   for ( ushort i= 32760 ;i< 32775 ;i++)
     {
       switch (i> USHORT_MAX - 2 )
        {
         case    true :   Print ( __FILE__ , " " , __FUNCTION__ , ": " ,i, ">(USHORT_MAX-2) - true" );   break ;
         case    false :   Print ( __FILE__ , " " , __FUNCTION__ , ": " ,i, ">(USHORT_MAX-2) - false" );   break ;
        }
     }
  }
 

Ve koşulların başlaması üzerine Mouzon'un açılmasını nasıl sağlarsınız? Huh-huh, mql'nin biraz garip uygulaması)) Ama anı beklerken resmi izlemek can sıkıcı ve tüm işi tamamen Chota'nın robotuna emanet etmek bir şekilde mantıklı değil. Ben de düşündüm - gerektiğinde Mouzon'un kesilmesine izin verin ve sonra kendim))

Yardıma baktım, iyi aramadım ya da başka bir şey bulamadım))

 
fonksiyona bak ses çal ()
 
Rosh :
fonksiyona bak ses çal ()

Çok teşekkürler)
 

Talepleri izleme hakkında soru.

OrderSend() işlevinin açıklaması, "bir piyasa emri verirken, OrderSend() yönteminin başarıyla tamamlanması her zaman işlemin başarıyla tamamlandığı anlamına gelmez. retcode değerini kontrol etmek gerekir" diyor. . Onlar. Sonuç, OrderSend()==true ile yine de yeniden fiyat teklifi alabileceğinizi gösteriyor. İyi.

Ancak, " Ticaret talebi sonuç yapısı " bölümüne ("Sonuç işleme ile bir ticaret talebi gönderme") örnekte, requote mesajı yalnızca OrderSend() ==false ise kontrol edilir.

Peki, hangi durumlarda yeniden alıntılar izlenir: OrderSend() işlevi tarafından döndürülen herhangi bir değer için mi, yoksa yalnızca OrderSend() ==false ise?

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

Talepleri izleme hakkında soru.

OrderSend() işlevinin açıklaması, "bir piyasa emri verirken, OrderSend() yönteminin başarıyla tamamlanması her zaman başarılı bir işlem anlamına gelmez.

OrderSend()'in başarılı bir şekilde yürütülmesi, yalnızca isteğin doğrulandığı ve yürütme için kuyruğa alındığı anlamına gelir. Ancak daha sonraki kaderi garanti edilmez - sipariş, örneğin doldurma politikasına göre işlenmesi sırasında iptal edilebilir.

Ancak genel olarak, eğer bir alıntı varsa, OrderSend() kesinlikle başarısız oldu.

 
Rosh :

OrderSend()'in başarılı bir şekilde yürütülmesi, yalnızca isteğin doğrulandığı ve yürütme için kuyruğa alındığı anlamına gelir. Ancak daha sonraki kaderi garanti edilmez - sipariş, örneğin doldurma politikasına göre işlenmesi sırasında iptal edilebilir.

Ancak genel olarak, eğer bir alıntı varsa, OrderSend() kesinlikle başarısız oldu.

Başka bir deyişle, yeniden fiyat teklifi , isteğin başlangıçta doğrulama denetimini geçemediği anlamına mı geliyor?
 
Yedelkin :
Başka bir deyişle, yeniden fiyat teklifi, isteğin başlangıçta doğrulama denetimini geçemediği anlamına mı geliyor?

Evet, istekte belirtilen fiyat uymadı ve MqlTradeResult sunucu yanıt yapısından alınabilecek yeni fiyatları dikkate almanız önerilir:

 struct MqlTradeResult
  {
   uint      retcode;           // Код результата операции
   ulong     deal;             // Тикет сделки, если она совершена
   ulong     order;             // Тикет ордера, если он выставлен
   double    volume;           // Объем сделки, подтверждённый брокером
   double    price;             // Цена в сделке, подтверждённая брокером
   double    bid;               // Текущая рыночная цена предложения (цены реквота)
   double    ask;               // Текущая рыночная цена спроса (цены реквота)
   string    comment;           // Комментарий брокера к операции (по умолчанию заполняется расшифровкой)
  };

 
Rosh :

Evet, istekte belirtilen fiyat uymadı ve MqlTradeResult sunucu yanıt yapısından alınabilecek yeni fiyatları dikkate almanız önerilir:

TAMAM!

Belki fazla düşünüyorum ama başka bir sorum var. Bir piyasa emri verme talebi göndermeden önce (pozisyon açmak için), işlem biletini sıfırlarım, yani. Sonuç.deal=0 yapıyorum. Sunucunun MqlTradeResult yanıt yapısında sıfır ticaret bileti döndürmesi mümkün mü, ancak aynı zamanda ticaret biraz daha sonra tamamlanacak ve pozisyon açılacak mı? Yoksa sıfır ticaret biletinin sunucu tarafından iade edilmesi, bu isteğe bağlı olarak pozisyonun açılamadığını ve gelecekte açılmayacağını garanti eder mi?

Neden: