Hatalar, hatalar, sorular - sayfa 1917

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2017.06.15 10:08

Neden derleme yapıyor?
 class A {};

class B : public A
{
public :  
   int i;
};

void OnStart ()
{
  A* a = new B;
  
   ((B*)a).i = 1 ;
  
   dynamic_cast <B*>(a).i = 1 ;
  
   delete a;
}
Support Team   2017.06.29 12:04
Bu kod neden derlenmesin?

A, B'nin atasıdır, bu nedenle böyle bir döküm geçerli olabilir, yürütme sırasında geçerlilik kontrol edilir ve nesnenin dökümü imkansızsa bir istisna atılır ve MQL programı sona erer.

Açık dökümden farklı olarak, dynamic_cast bir istisna oluşturmaz, ancak sonuç yerine NULL döndürülür, bu durumda program yürütmeye devam eder.
 
Vladimir Karputov :

Hızı maksimumdan üç adım eksi olarak ayarlayın - aksi takdirde arayüz güncellemesi garanti edilmez.

Bu hız ortada - maksimuma çok uzak
 
SymbolInfoDouble ( _Symbol , SYMBOL_MARGIN_INITIAL )

SymbolInfoDouble ( _Symbol , SYMBOL_MARGIN_MAINTENANCE )
nedense test cihazında her zaman 0.0 döndürür

hata kodu da 0

 
Anton Ohmat :
nedense her zaman 0.0 döndürür

hata kodu da 0

Anladığım kadarıyla bu şey sadece Moskova Borsasında çalışıyor.

 
Lütfen bana söyle!!!!!!!! 1090 terminali "1-Tıkla Ticaret" düğmesini göstermiyor. mümkün olan her şeyi yaptı. Ve özelliklerde bir kene çok koydu. Açık sipariş satırı da görüntülenmiyor!!! Ne yapalım?
 
vati-vv :
Lütfen bana söyle!!!!!!!! 1090 terminali "1-Tıkla Ticaret" düğmesini göstermiyor. mümkün olan her şeyi yaptı. Ve özelliklerde, kutuyu da işaretledim. Açık bir emir de satır olarak görüntülenmez!!! Ne yapalım?

Şimdi MQL5 bölümünde bir soru yayınladınız. Eski terminal için MQL4 ve MetaTrader 4 bölümüne soru göndermeniz gerekiyor.

Hızlı ticaret paneli yalnızca bir ticaret hesabına gerçekten bağlı olduğunuzda görüntülendiğinden , ticaret sunucusuna kesinlikle giriş yaptığınızı kontrol etmeniz önerilir.

 

iyi günler, mql5'te bu seçeneği fill_mode belirtmek için kullanıyorum

   if ( SymbolInfoInteger ( Symbol (), SYMBOL_FILLING_MODE )== SYMBOL_FILLING_FOK )
     {
      tradeBuy.SetTypeFilling( ORDER_FILLING_FOK );
      tradeSell.SetTypeFilling( ORDER_FILLING_FOK );
     }

   else if ( SymbolInfoInteger ( Symbol (), SYMBOL_FILLING_MODE )== SYMBOL_FILLING_IOC )
     {
      tradeBuy.SetTypeFilling( ORDER_FILLING_IOC );
      tradeSell.SetTypeFilling( ORDER_FILLING_IOC );
     }

   else
     {
      tradeBuy.SetTypeFilling( ORDER_FILLING_RETURN );
      tradeSell.SetTypeFilling( ORDER_FILLING_RETURN );
     }


Test cihazındaki EA pozisyonları açıyor , ancak yaklaşık bir pozisyon açılmıyor ve hata desteklenmeyen doldurma modu, neyi yanlış yapıyorum?

 
Dmitry Melnichenko :

iyi günler, mql5'te bu seçeneği fill_mode belirtmek için kullanıyorum


Test cihazındaki EA pozisyonları açıyor , ancak yaklaşık bir pozisyon açılmıyor ve hata desteklenmeyen doldurma modu, neyi yanlış yapıyorum?


Bir değer değil, bir veya ikinin birleşimi döndürülür - bu nedenle yanlış bir kontrolle sonuçlanabilir.

Bu yapıyı deneyin:

 //---
   if (IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_FOK ))
      m_trade.SetTypeFilling( ORDER_FILLING_FOK );
   else if (IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_IOC ))
      m_trade.SetTypeFilling( ORDER_FILLING_IOC );
   else
      m_trade.SetTypeFilling( ORDER_FILLING_RETURN );
...
//+------------------------------------------------------------------+ 
//| Checks if the specified filling mode is allowed                  | 
//+------------------------------------------------------------------+ 
bool IsFillingTypeAllowed( string symbol, int fill_type)
  {
//--- Obtain the value of the property that describes allowed filling modes 
   int filling=( int ) SymbolInfoInteger (symbol, SYMBOL_FILLING_MODE );
//--- Return true, if mode fill_type is allowed 
   return ((filling & fill_type)==fill_type);
  }


Eklendi: Eğer yardımcı olursa, lütfen bana bildirin.

 
Vladimir Karputov :

Bir değer değil, bir veya ikinin birleşimi döndürülür - bu nedenle yanlış bir kontrolle sonuçlanabilir.

Bu yapıyı deneyin:


Eklendi: Eğer yardımcı olursa, lütfen bana bildirin.


teşekkürler ama fayda etmedi ara sıra yine aynı hatayı veriyor

 

Bir nesnenin pencere/alt pencere numarası nasıl bulunur? Uygun bir mülk göremiyorum.