Помощь в кодировании - страница 684

 
bilbao:

уважаемый младен

у этого индикатора ma есть небольшая ошибка

не могли бы вы его исправить?

доброе пожелание

иногда рисует неправильную линию, как на этом рисунке

Привет, Бильбао, это не перекрашивание
 
shiva12:
Привет, Бильбао, он не перекрашивается?

привет

всего 2 ма, но рисует только линию.

идеально подходит для занятых графиков

 
bilbao:

привет

всего 2 ма, но рисует только линию.

идеально подходит для занятых графиков

То есть вы имеете в виду, что он не перерисовывается, но я видел, что иногда он не обновляется.
 
mladen:
Одна вещь может помешать этому: проверка всех символов на диапазоны на каждом тике будет (не важно, как это сделано) бременем для терминала, которое может помешать нормальной работе терминала. Нетрудно заставить его отображать некоторый текст (тексты), но проверка всего этого на каждом тике не имеет "быстрого способа" (даже если используется минимальная проверка).

нуждаются в подобном:

 
bilbao:

нуждаются в подобном:

Я знаю

Но вы конкретно попросили "все символы". Я попытался рассказать, что произойдет, если вы попытаетесь сделать это для всех символов. Для ограниченного списка символов такой проблемы нет. Теперь вы решаете: будет ли это ограниченный список символов (который может работать с меньшей нагрузкой на процессор) или "все символы" (что почти наверняка заставит ваш терминал тормозить как сумасшедший).

 

Поскольку, если речь идет об ограниченном списке символов, то все просто:

#property indicator_chart_window
#property indicator_buffers 0

extern string Symbols="EURUSD;EURJPY;GBPUSD;GBPJPY;USDJPY";;

//------------------------------------------------------------------
//
//------------------------------------------------------------------
string aSymbols[];
int init()
{
   Symbols = StringTrimLeft(StringTrimRight(Symbols));
   if (StringSubstr(Symbols,StringLen(Symbols)-1,1) != ";")
                    Symbols = StringConcatenate(Symbols,";");

         //
         //
         //
         //
         //
   
         int s=0,i=StringFind(Symbols,";",s);
         string current;
         while (i > 0)
         {
            current = StringSubstr(Symbols,s,i-s);
               ArrayResize(aSymbols,ArraySize(aSymbols)+1);
                           aSymbols[ArraySize(aSymbols)-1] = current;
                           s = i + 1;
                           i = StringFind(Symbols,";",s);
         }
   return(0);
}
int start()
{
   string comment="";
   for (int i=0; i<ArraySize(aSymbols); i++)
      comment = comment+aSymbols[i]+" "+(string)((iHigh(aSymbols[i],PERIOD_D1,0)-iLow(aSymbols[i],PERIOD_D1,0))/MarketInfo(aSymbols[i],MODE_POINT))+" points\n";
      Comment(comment);
   return(0);
}
 

Уважаемый mladen, кажется, достаточно хорошо, если это не перекрашивание, но не обновление и формирование дополнительных линий, первоначально представленный bilbao....

пожалуйста, постарайтесь исправить

Файлы:
LineMA.mq4  4 kb
 
shiva12:

Уважаемый mladen, кажется, достаточно хорошо, если это не перекрашивание, но не обновление и формирование дополнительных линий, первоначально представленный bilbao....

пожалуйста, постарайтесь исправить

Это просто быстрое и грязное исправление
Файлы:
LineMA.mq4  4 kb
 
mladen:
Это просто быстрое и грязное исправление
ооооо спасибо большое дорогой мастер
 
mladen:

Поскольку, если речь идет об ограниченном списке символов, то все просто:

спасибо большое mladen