Hatalar, hatalar, sorular - sayfa 42

 
Kos :
MQL5 programının yüklenmesini imkansız kılacaksa, böyle bir yapıyı derlemenin anlamı nedir?

Mesaj için teşekkürler. Onditional operatör için NULL ayrıştırma hatası düzeltildi.
 

Göstergedeki maksimum dinamik dizi sayısı nedir?

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 
dentraf :

Göstergedeki maksimum dinamik dizi sayısı nedir?

Sınırlamalar, donanım kaynaklarınız tarafından belirlenir.

Ne kadar bellek yeterlidir.

 
dentraf :

Göstergedeki maksimum dinamik dizi sayısı nedir?

512'den fazla gösterge dizisi yoktur.Genel olarak, herhangi bir dizi - ne kadar bellek yeterlidir
 

işlevi test etmek için bu betiği yazdı

OrderCalcMargin()

4002 hatası veriyor, neyi yanlış yaptım?

 void OnStart ()
  {
   int total= SymbolsTotal (false);
   double marginbay;
   double marginsell;
   MqlTick pr;
   for ( int i= 0 ;i<=total;i++)
     {
       if (OrderCalcMargin( ORDER_TYPE_BUY , SymbolName (i,false), 1.0 ,pr.ask,marginbay))
         Print ( "Маржа для покупки " + SymbolName (i,false)+ " = " , DoubleToString (marginbay));
       else Print ( "Ошибка  № - " , GetLastError ());

       if (OrderCalcMargin( ORDER_TYPE_SELL , SymbolName (i,false), 1.0 ,pr.bid,marginsell))
         Print ( "Маржа для продажи " + SymbolName (i,false)+ " = " , DoubleToString (marginsell));
       else Print ( "Ошибка  № - " , GetLastError ());

     }
  }
 

Mevcut fiyat talep yapısını kullanmazsanız garip, o zaman #AA tipi enstrümanlar dışında her şey sayılır, bu durumda sıfıra döner, acaba neden? o zaman bu tür enstrümanlar için marj nasıl hesaplanır

 void OnStart ()
  {
   int total= SymbolsTotal (false);
   double marginbay;
   double marginsell;
   //MqlTick pr;
   for ( int i= 0 ;i<=total;i++)
     {
       if (OrderCalcMargin( ORDER_TYPE_BUY , SymbolName (i,false), 1.0 , SymbolInfoDouble ( SymbolName (i,false), SYMBOL_ASK ),marginbay))
         Print ( "Маржа для покупки " + SymbolName (i,false)+ " = " , DoubleToString (marginbay));
       else Print ( "Ошибка  № - " , GetLastError ());

       if (OrderCalcMargin( ORDER_TYPE_SELL , SymbolName (i,false), 1.0 , SymbolInfoDouble ( SymbolName (i,false), SYMBOL_BID ),marginsell))
         Print ( "Маржа для продажи " + SymbolName (i,false)+ " = " , DoubleToString (marginsell));
       else Print ( "Ошибка  № - " , GetLastError ());

     }
  }
Документация по MQL5: Получение рыночной информации / SymbolInfoTick
Документация по MQL5: Получение рыночной информации / SymbolInfoTick
  • www.mql5.com
Получение рыночной информации / SymbolInfoTick - Документация по MQL5
 
herkes ilk seçeneğin neden çalışmadığını anladı, bir işlevi kaydetmek gerekiyordu
 SymbolInfoTick ( SymbolName (i,false),pr);
istenen enstrümanın alıntılarını almak için döngünün gövdesine.
 void OnStart ()
  {
   int total= SymbolsTotal (false);
   double marginbay;
   double marginsell;
   MqlTick pr;
   for ( int i= 0 ;i<=total;i++)
     {
       SymbolInfoTick ( SymbolName (i,false),pr);
       if (OrderCalcMargin( ORDER_TYPE_BUY , SymbolName (i,false), 1.0 ,pr.ask,marginbay))
         Print ( "Маржа для покупки " + SymbolName (i,false)+ " = " , DoubleToString (marginbay));
       else Print ( "Ошибка  № - " , GetLastError ());

       if (OrderCalcMargin( ORDER_TYPE_SELL , SymbolName (i,false), 1.0 ,pr.bid,marginsell))
         Print ( "Маржа для продажи " + SymbolName (i,false)+ " = " , DoubleToString (marginsell));
       else Print ( "Ошибка  № - " , GetLastError ());

     }
  }
#AA gibi araçların sıfır değerleriyle ilgili soru geçerliliğini koruyor
 
sergey1294 :

işlevi test etmek için bu betiği yazdı

4002 hatası veriyor, neyi yanlış yaptım?


sergey1294 :
herkes ilk seçeneğin neden çalışmadığını anladı, istenen enstrümanın tırnaklarını almak için döngü gövdesine bir fonksiyon yazmak gerekiyordu. #AA gibi araçların sıfır değerleriyle ilgili soru geçerliliğini koruyor

Peki, yardım etmeye karar verirsen... :)

not

Diğerlerini bilmem ama #AA'ya göre piyasa kapalı gibi...

 
hala böyle bir soru doğru, anlıyorum ki tip kodu
 AccountInfoDouble ( ACCOUNT_FREEMARGIN ) - OrderCalcMargin();
MT4'teki işlevin bir analogudur
AccountFreeMarginCheck()
 
sergey1294 :
başka bir soru, tip kodunun MT4'ten bir fonksiyonun analogu olduğunu doğru anlıyorum

Açık pozisyon yoksa, o zaman ifade büyük olasılıkla doğru olacaktır, açık pozisyonlar varsa, biraz farklı bir resim olacaktır...
Neden: