Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 266

 
jommerbot:

Ок, даже в самом простейшем случае не работает:

Не понимаю, где моя ошибка. Копирование буфера этого же индикатора в советнике и скрипте работает, а вот в индикаторе - нет. Хендл индикатора инициализируется без ошибки.

Найдите отличия. )

#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
//---
double ExtLineBuffer[];
int    iRocHandleEURUSD =INVALID_HANDLE;
int    iPlotShift       =0;
int    iPeriod          =6;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
   IndicatorSetInteger(INDICATOR_DIGITS,2);
   SetIndexBuffer(0,ExtLineBuffer,INDICATOR_DATA);
   PlotIndexSetInteger(0,PLOT_SHIFT,iPlotShift);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,iPeriod-1);
//---
   iRocHandleEURUSD=iCustom("EURUSD",0,"Examples\\ROC");
   if(iRocHandleEURUSD==INVALID_HANDLE)
      Print("Не удалось получить хендл индикатора ROC EURUSD");
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int    rates_total,
                const int    prev_calculated,
                const int    begin,
                const double &price[])
  {
//---
   if(rates_total<iPeriod)
      return(0);
//---
   int first=0;
   double aRocRatesEURUSD[];
   ArraySetAsSeries(ExtLineBuffer,true);
//---
   if(prev_calculated==0)
      first=0;
   else
      first=prev_calculated-1;
//---
   for(int bar=first; bar<rates_total; bar++)
     {
      CopyBuffer(iRocHandleEURUSD,0,bar,1,aRocRatesEURUSD);
      Print("bar: ",bar,"; value: ",DoubleToString((aRocRatesEURUSD[0]!=EMPTY_VALUE)?aRocRatesEURUSD[0]:0,2));
      ExtLineBuffer[bar]=aRocRatesEURUSD[0];
     }
//---
   return(rates_total);
  }
//+------------------------------------------------------------------+
 

Ага, понял, в последней версии своего кода хендлер индикатора получал не в ту область видимости переменной. Недоглядел, спасибо. Но есть одна проблемка - в тестере, на исторических барах, предыдущих моменту начала периода тестирования индикатор отрабатывает нормально, а вот начиная с момента начала периода тестирования вновь поступившие тики не учитываются. Т.е. буфер дочернего индикатора не обновляется. 

 

Добрые люди, помогите плиз подправить код, чтоб из строки задания во "Входных параметрах"советника
extern string Lot = "0.2 0.2 0.3 0.4 0.5"; // (через пробел)
последнее значение(в данном случае 0.5)повторялось бы бесконечно т.е чтобы не набирать
"0.2 0.2 0.3 0.4 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5";

//---------------------------- 

 StringToArrayLot(Lot,xiLot);

//--------------------------------------------------- 

 int StringToArrayLot(string st,double &ad[])
  {
   int    i=0,np;    string stp;   ArrayResize(ad,0);
   while(StringLen(st)>0)
     {
      np=StringFind(st," ");
      if(np<0)
        {
         stp=st;
         st="";
           } else{
         stp=StringSubstr(st,0,np);
         st=StringSubstr(st,np+1);
        }
      i++;
      ArrayResize(ad,i);
      ad[i-1]=StrToDouble(stp);
     }
   return(ArraySize(ad));
  }

 
Ребят почему а не вижу свой советник ни на сайте ни на терминале?
 
Krasev157:
Ребят почему а не вижу свой советник ни на сайте ни на терминале?
Чтоб на сайте его видеть надо его выложить. Чтоб в терминале откомпилировать.
 
zfs:
Чтоб на сайте его видеть надо его выложить. Чтоб в терминале откомпилировать.

выложит на сайте ток вижу его в профиле так нет

 
Krasev157:

выложит на сайте ток вижу его в профиле так нет

Дайте ссылочку на словарь албанского, пожалуйста.
 
barabashkakvn:
Дайте ссылочку на словарь албанского, пожалуйста.

http://www.txtblog.ru/blog/1165306807 вот пожалуйста

 
Krasev157:

http://www.txtblog.ru/blog/1165306807 вот пожалуйста

Аффтар жжот нипадецки 

Аффтар пешы ысчо

Бугага! 

 
Здравствуйте,если не сложно,  подскажите пожалуйста. Как в массив поместить цену 5 последних тиков? 
Причина обращения: