Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 231

 

Добрый день! Подскажите по функции определения индекса бара, с которого необходимо производить перерасчет индикатора. Нужен перерасчет нулевого и первого бара. 

int GetRecalcIndex(int& total, const int ratesTotal, const int prevCalculated)

{

      total = ratesTotal - 1;                                                                         

       if (i_indBarsCount > 0 && i_indBarsCount < total)

      total = MathMin(i_indBarsCount, total);                      

        if (prevCalculated < ratesTotal - 1)                     

   {       

      BuffersInitializeAll();

      return (total);

   }

   return (MathMin(ratesTotal - prevCalculated, total));

 

STARIJ:

...

... Подскажите, как имя символа вывести

ChartSymbol

Возвращает имя символа указанного графика.

string  ChartSymbol(
   long  chart_id=0      // идентификатор графика
   );

Параметры

chart_id=0

[in]  Идентификатор графика. 0 означает текущий график.

Возвращаемое значение

Если графика не существует, то возвращается пустая строка.

Смотри также

ChartSetSymbolPeriod()

 
Artyom Trishkin:

ChartSymbol

Возвращает имя символа указанного графика.
string  ChartSymbol(  long  chart_id=0   );

Спасибо! 

 
STARIJ:

Спасибо! 


На mql из одного сурипта, а где исходник?

Я тоже в фотошопе бог.

 
Evgeny Belyaev:     На mql из одного сурипта, а где исходник?  Я ... в фотошопе бог.

Есть плагин для браузера проверяет орфографию. Прилагаю сурипт к Вашему фотошоп. Местами есть комментарии. Будут вопросы - пишите в личку. Если захотите в MetaEditor изменить какое-то имя, то выделяете его и нажимаете Ctrl-H. Начинайте с более длинных. Если замените короткое Пер на Param, то Период заменится на Paramиод.  Чтоб сохранить комментарии - заменяйте по одному.    Вместо фотошоп советую изучать MQL. Или у Вас другие планы? Сообщите, как скрипт помог приблизиться к профиту. Или у Вас другие планы?

Файлы:
 

Подскажите как можно в советнике при стандартном вычислении iMACD изменить сигнальную линию на ExponentialMA ?

 
Rustam Bikbulatov:

Подскажите как можно в советнике при стандартном вычислении iMACD изменить сигнальную линию на ExponentialMA ?


Никак, только правкой исходника индикатора.

 
Vitalie Postolache:

Никак, только правкой исходника индикатора.


Ну изначально же данные берутся с формулы находящийся в файле где то в папках или это не так?

 
Rustam Bikbulatov:

Ну изначально же данные берутся с формулы находящийся в файле где то в папках или это не так?


А у вас MACD вычисляется в советнике по формуле из какого-то там файла? Или всё-таки вызывается индикатор командой iMACD ? Если первое, в чём я сомневаюсь, то переписывайте формулу. Если второе - то поможет замена вызова стандартного индикатора на вызов переделки с вычислением сигнальной линии по ЕМА.

 
Vitalie Postolache:

А у вас iMACD вычисляется в советнике по формуле из какого-то там файла? Или всё-таки вызывается индикатор командой iMACD ? Если первое, в чём я сомневаюсь, то переписывайте формулу. Если второе - то поможет замена вызова стандартного индикатора на вызов переделки с вычислением сигнальной линии по ЕМА.

Второе. Команда на открытия ордера. Например

      if(LastTime!=iTime(NULL,1,0)){  
      
double   EURUSD =
                  +(iMACD("EURUSD",1,1,60,60,0,1,0));  
    
         bool BuySignal=false;
         bool SellSignal=false;  
                
         if(  EURUSD > 2 ){
  
            BuySignal=true;}  
                  
         if(  EURUSD < -2 ){
                    
            SellSignal=true;} 
Причина обращения: