Вопросы по индикаторам в МТ5 - страница 2

 
Не-не-не, Вы меня не правильно поняли. Мне не нужен был пример, но раз уж ссылка на него была дана, то я пошел и из вежливости посмотрел. За одно посмотрел и соседние слова. От сюда и появился интерес к "модификаторам" - потому как не понятно, что это такое.
 
HideYourRichess >>:
Не-не-не, Вы меня не правильно поняли. Мне не нужен был пример, но раз уж ссылка на него была дана, то я пошел и из вежливости посмотрел. За одно посмотрел и соседние слова. От сюда и появился интерес к "модификаторам" - потому как не понятно, что это такое.

Модификатор - это уточняющий параметр, который указывает какой именно по счету идентификатор используется. В данном случае модификатор указывает на номер графической серии (стиля рисования), для которого задаются цвета в цветовом буфере. Теперь линия может иметь разноцветную раскраску и для этого нет необходимости создавать несколько цветных линий и отображать их поочередно, создавая иллюзию смены цвета одной линии.

 
Rosh >>:

Экономия буферов? Спасибо, знатная вещь.

Какое ограничение по количеству цветов?

 
TheXpert >>:

Экономия буферов? Спасибо, знатная вещь.

Какое ограничение по количеству цветов?

64 цвета для одного стиля (будь то линия, свечи, гистограмма и так далее)

 

А в чем вообще сложность тестирования идикаторов?

Их можно просто кинуть на график и будет виден результат. Еще тестил свой индикатор в режиме визуляции на нужных временных рамках.


Если проблема в iCustom(), то предлагаю добавить для индикаторов событие OnCustom(), в которое можно лишь само вычисление значений пихнуть.

 
Roffild >>:

А в чем вообще сложность тестирования идикаторов?

Их можно просто кинуть на график и будет виден результат. Еще тестил свой индикатор в режиме визуляции на нужных временных рамках.

Тестировать индикатор (использующий штатные функции отображения) - без проблем.

Но тестировать индикатор, который занимается управлением объектами на чарте - это реальная проблема.

 
Renat писал(а) >>

Тестировать индикатор (использующий штатные функции отображения) - без проблем.

Но тестировать индикатор, который занимается управлением объектами на чарте - это реальная проблема.

В МТ5 Вы планируете увеличить количество индикаторных буферов? А то 8 явно не достаточно. Понятно, что когда МТ только разрабатывался сложно было предвидить все, в том числе нарастания сложности реализуемых программ. Для простых индикаторов 8 буферов вполне достаточно. Но при реализации сложных стратегий, где задействованы десятки сигналов, 8 явно не хватает, не возможно проследить взаимные комбинации сигналов из-за недостатка буферов, а отлаживать последовательно по частям не получается.

 
Angela >>:

В МТ5 Вы планируете увеличить количество индикаторных буферов? А то 8 явно не достаточно. Понятно, что когда МТ только разрабатывался сложно было предвидить все, в том числе нарастания сложности реализуемых программ. Для простых индикаторов 8 буферов вполне достаточно. Но при реализации сложных стратегий, где задействованы десятки сигналов, 8 явно не хватает, не возможно проследить взаимные комбинации сигналов из-за недостатка буферов, а отлаживать последовательно по частям не получается.

Где-то читал что количество буферов будет ограниченно только фантазией прграммиста и свободной памятью.

 
Renat >>:

Тестировать индикатор (использующий штатные функции отображения) - без проблем.

Но тестировать индикатор, который занимается управлением объектами на чарте - это реальная проблема.

В чем же проблема? В кривом написании?

Мой индикатор полностью построен на объектах. Проблем нет, как и лишних объектов :)


Моя одна из функкций для манипулирования объектом:

bool objLine(string name, double price1, double price2, color colr = 0, int shift = 0)
{
   if (ObjectFind(name) != -1)
   {
      ObjectSet(name, OBJPROP_TIME1, Time[shift+1]);
      ObjectSet(name, OBJPROP_TIME2, Time[shift]);
      if (colr > 0) ObjectSet(name, OBJPROP_COLOR, colr);
      ObjectSet(name, OBJPROP_PRICE1, price1);
      return( ObjectSet(name, OBJPROP_PRICE2, price2) );
   }
   else
   {
      if ( ObjectCreate(name, OBJ_TREND, 0, Time[shift+1], price1, Time[shift], price2) )
      {
         ObjectSet(name, OBJPROP_RAY, false);
         ObjectSet(name, OBJPROP_TIMEFRAMES, objPeriod(Period()));
         return( ObjectSet(name, OBJPROP_COLOR, colr) );
      }
      return( false );
   }
}
 

В упор не понимаю: в чем проблема тестирования индикатора?

Пример такого индикатора можно увидеть?

Причина обращения: