Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 663

 
new-rena :

Cevap için 5 dolar mı?

)

Beklemek...

Peki, soru bireysel çalışma gerektiriyorsa ve sonuç hazır kod ise, o zaman her şey olabilir ...
 

Tünaydın. Göstergede, başka bir göstergeden veri almanız gerekiyor , gösterge yüklendiğinde, geçmiş görüntüleniyor, yeni değerler güncellenmiyor, döngüde veya başka bir yerde hatanın ne olduğunu söyleyin:

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,   // Количество просчитанных баров
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   int limit;
   int counted_bars = IndicatorCounted ();
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   limit = Bars - counted_bars - 500 ;
   for ( int i=limit; i>= 0 ; i--)
   {
     Buf_1[i]= iCustom ( Symbol (), 0 , "ATR" , 0 , i); //При подстановке любого индикатора нет обновления!!!
   }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 

Böyle bir durumda bir hata alıyorum - hatanın neden oluştuğunu anlamama yardım et - MQL5'te kullanıcı tarafından girilen bir değişkenin değerini değiştirmek imkansız mı?

'Slippage' - sabit değiştirilemez Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

 
-Aleks- :

Böyle bir durumda bir hata alıyorum - hatanın neden oluştuğunu anlamama yardım et - MQL5'te kullanıcı tarafından girilen bir değişkenin değerini değiştirmek imkansız mı?

'Slippage' - sabit değiştirilemez Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

Bu 5 rke'de değil

Pazar Bilgisi

ama Slippage hakkında bilgim yok)

 
new-rena :

Bu 5 rke'de değil

Pazar Bilgisi

Ne enfeksiyon - neden onu yanlış yere koymuyor ...

Hangi analog kullanılmalı?

 
-Aleks- :

Ne enfeksiyon - neden onu yanlış yere koymuyor ...

Hangi analog kullanılmalı?

Geçen hafta sonu aynı başlıkta 5-rku'ya geçişi anladık.

Gönderimden ve arkadan 2-3 sayfadaki tüm gönderileri okuduk

https://www.mql5.com/ru/forum/6343/page662#comment_2930149

Вопросы от начинающих
Вопросы от начинающих
  • www.mql5.com
Форум трейдеров MQL5.community
 
new-rena :

Geçen hafta sonu aynı başlıkta 5-rku'ya geçişi anladık.

Gönderimden ve arkadan 2-3 sayfadaki tüm gönderileri okuduk

https://www.mql5.com/ru/forum/6343/page662#comment_2930149

Evet, evet, bu makaleyi zaten açtım - teşekkürler. MarketInfoMQL4 işlevini ekledim ama sonuç olumsuz.... belki yanlış yere ekledim...

 
-Aleks- :

Evet, evet, bu makaleyi zaten açtım - teşekkürler. MarketInfoMQL4 işlevini ekledim ama sonuç olumsuz.... belki yanlış yere ekledim...

MarketInfo(Symbol(),MODE_DIGITS) (int) SymbolInfoInteger (Symbol(), SYMBOL_DIGITS )

Makalenin işlevlerinde değiştirmenin bağırsaklarına daha derinden bakmak daha iyidir.

Daha zarif ve MQL5'e daha yakın olacak

Kısacası, zaman ayırın.

Kitaplıklara veya başka işlevlere gerek yoktur. Saf MQL5'te nasıl yazılacağını öğrenmeniz gerekiyor.

 
-Aleks- :

Böyle bir durumda bir hata alıyorum - hatanın neden oluştuğunu anlamama yardım et - MQL5'te kullanıcı tarafından girilen bir değişkenin değerini değiştirmek imkansız mı?

'Slippage' - sabit değiştirilemez Kamikadze_MA-may.mq5 67 7

extern int Slippage    = 10;                       // Проскальзывание

int init()
  {
//3,5 знаков
   if(MarketInfo(Symbol(),MODE_DIGITS)==3 || MarketInfo(Symbol(),MODE_DIGITS)==5)
     {
      Slippage*=10;
     }
   return(INIT_SUCCEEDED);
  }

  }

Evet, giriş parametreleri değiştirilemez. Dürüst olmak gerekirse, bu değeri neden 3/5 haneli tırnaklara göre değiştirdiğimi anlamıyorum? Sonuçta bu değeri giriş parametrelerinde ayarladınız. Sadece 100 yazıp (3/5 rakam ise) ve acı çekmez misin?
 
new-rena :

MarketInfo(Symbol(),MODE_DIGITS), (int)SymbolInfoInteger (Symbol(), SYMBOL_DIGITS )

Makalenin işlevlerinde değiştirmenin bağırsaklarına daha derinden bakmak daha iyi

Daha zarif ve MQL5'e daha yakın olacak

Kısacası, zaman ayırın.

Kitaplıklara veya başka işlevlere gerek yoktur. Saf MQL5'te nasıl yazılacağını öğrenmeniz gerekiyor.

Bu arada, MarketInfoMQL4() makalesindeki işlev bir hataya yol açıyor - nasıl düzeltilir? (iki dil öğrenmek için - beyin kaynar - şimdilik derinlemesine kodlama yapmadan fikir çalışmalarını borsada test edebilmeniz gerekir)

'(' - beklenen ad Kamikadze_MA-may.mq5 332 17
'::' - beklenen ad Kamikadze_MA-may.mq5 332 17


double MarketInfoMQL4(string symbol,
                      int type)
  {
   switch(type)
     {
      case MODE_LOW:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTLOW));
      case MODE_HIGH:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTHIGH));
      case MODE_TIME:
         return(SymbolInfoInteger(symbol,SYMBOL_TIME));
      case MODE_BID:
        {
         MqlTick last_tick;
         SymbolInfoTick(symbol,last_tick);
         double Bid=last_tick.bid;
         return(Bid);
        }
      case MODE_ASK:
        {
         MqlTick last_tick;
         SymbolInfoTick(symbol,last_tick);
         double Ask=last_tick.ask;
         return(Ask);
        }
      case MODE_POINT:
         return(SymbolInfoDouble(symbol,SYMBOL_POINT));
      case MODE_DIGITS:
         return(SymbolInfoInteger(symbol,SYMBOL_DIGITS));
      case MODE_SPREAD:
         return(SymbolInfoInteger(symbol,SYMBOL_SPREAD));
      case MODE_STOPLEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
      case MODE_LOTSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE));
      case MODE_TICKVALUE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));
      case MODE_TICKSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE));
      case MODE_SWAPLONG:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_LONG));
      case MODE_SWAPSHORT:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_SHORT));
      case MODE_STARTING:
         return(0);
      case MODE_EXPIRATION:
         return(0);
      case MODE_TRADEALLOWED:
         return(0);
      case MODE_MINLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN));
      case MODE_LOTSTEP:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
      case MODE_MAXLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));
      case MODE_SWAPTYPE:
         return(SymbolInfoInteger(symbol,SYMBOL_SWAP_MODE));
      case MODE_PROFITCALCMODE:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE));
      case MODE_MARGINCALCMODE:
         return(0);
      case MODE_MARGININIT:
         return(0);
      case MODE_MARGINMAINTENANCE:
         return(0);
      case MODE_MARGINHEDGED:
         return(0);
      case MODE_MARGINREQUIRED:
         return(0);
      case MODE_FREEZELEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_FREEZE_LEVEL));

      default: return(0);
     }
   return(0);
  }