Скачать MetaTrader 5

iCustom не работает в deinit() в Советнике?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужно пополнить счет? Пополняй удобным тебе способом!
atztek
279
atztek 2012.04.15 11:18 

Возникла необходимость нарисовать линию в Торговом Советнике используя функцию iCustom.
В качестве теста использовал ЗигЗаг:

for(int cnt=0; cnt<10000; cnt++) {
   double zigzag1=iCustom(NULL,0,"ZigZag",15,0,3,  0,cnt+1);
   if( zigzag1!=0 ) 
      break;
}


Поскольку цель iCustom в моем случае заключается лишь в том чтобы нарисовать линию
(данные индикатора в Советнике не используются), то решил поместить код в deinit(). Но там он не работает и ничего не рисует.
В start()-е все нормально.
1. Почему он не работает в deinit()?
2. Необходимо избежать бессмысленной работы вышеупомянутого кода в процессе тестирования и оптимизации
(не расходовать CPU впустую) и чтобы он запускался лишь на последнем баре тестируемой истории.
- Как этого достичь?
Спасибо!
Рустам
3597
Рустам 2012.04.15 12:08  
Внимательно смотрим в лог советников.
atztek
279
atztek 2012.04.15 12:08  
Roll:
Всегда думал, что деинициализация -- это все конец, все свободны, ухожу, закрываюсь.
Необходимость нарисовать какую- то линию в в deinit() советника похоже на, извините, "приходи вчера" (хотя "и кто его знает").

1. Если вердикт окончательный то ничего с этим не поделать. Но если это возможно (рисование линий в deinit) то было бы очень удобно.
2. Как оптимизировать вышеприведенный код (в случае когда он работает в start), чтобы не расходовать ресурсы понапрасну?
Пока добавил if(IsOptimization()==false).
- Есть еще что-нибудь?
Sceptic Philozoff
Модератор
17844
Sceptic Philozoff 2012.04.15 12:09  
atztek: Но если это возможно (рисование линий в deinit) то было бы очень удобно.
Расскажите, как Вы понимаете deinit(). Зачем эта функция нужна?
atztek
279
atztek 2012.04.15 12:13  
Mathemat:
Расскажите, как Вы понимаете deinit(). Зачем эта функция нужна?

Нет, не хочу разводить философию. Меня интересует лишь практическая сторона дела.

Sceptic Philozoff
Модератор
17844
Sceptic Philozoff 2012.04.15 12:16  
atztek: Нет, не хочу разводить философию. Меня интересует лишь практическая сторона дела.
А меня интересует не только практическая сторона, но и Ваше понимание этой функции. Если Вы плохо понимаете ее смысл, практика будет сильно хромать.
atztek
279
atztek 2012.04.15 12:20  
FAQ:
Внимательно смотрим в лог советников.

В логе (применительно к данному вопросу) лишь указано что индикатор успешно загружен и после окончания выгружен.
Ошибок нет.
Рустам
3597
Рустам 2012.04.15 12:20  

Он все правильно понимает...

Я тоже много чего запихиваю в деинит.

Просто надо обратить внимание, когда советник отпустит индикатор вызванный по АйКустому, а для этого надо внимательно посмотреть в лог.

Sceptic Philozoff
Модератор
17844
Sceptic Philozoff 2012.04.15 12:30  
FAQ: Я тоже много чего запихиваю в деинит.
И зачем в деините рисовать что-то - вместо удаления? Хотя да, вполне возможно, что и так нужно...
Рустам
3597
Рустам 2012.04.15 12:40  
К примеру, у меня есть индикатор расширенного анализа торговой истории, который в деините собирает довольно сложную ХТМЛь страницу с интерактивными (гугловскими) графиками.
atztek
279
atztek 2012.04.15 13:55  
FAQ:
К примеру, у меня есть индикатор расширенного анализа торговой истории, который в деините собирает довольно сложную ХТМЛь страницу с интерактивными (гугловскими) графиками.

У меня кстати тоже есть что-то подобное, правда лишь для одной очень специфической задачи и тоже в deinit().
Вы используете индикатор собственной разработки или он есть в свободном доступе?

Неделю назад я обнаружил сайт который также выдает немало статистики из стейта:

http://www.earnforex.com/report-analysis/

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий