Уважаемые форумчане, помогите пожалуйста разобраться, я новичок и уже второй день не могу справиться с проблемой.
А проблема такая: При написании советника хотел чтобы он при инициализации накидывал шаблон на график и проверял есть ли открытые позиции по данной паре, получился такой код
int OnInit()
{
ChartApplyTemplate(0,"\\Files\\StochSarStrat.tpl");
ChartRedraw(0);
ispos=false;
if (PositionsTotal()!=0)
for (i=0;i<PositionsTotal();i++);
if (PositionGetSymbol(i)==Symbol())
ispos=true;
Alert(ispos);
return(0);
}
Но при запуске советника он зацыкливается на OnInit , и без конца выдает Алерты.
Мне кажется это из-за того что при применении шаблона он снова инициализирует OnInit и так до бесконечности.
Подскажите пожалуйста что можно сделать?
во первых идеалогически неправильный подход.. Шаблон - это личное пространство пользователя. Он в него накидывает индикаторы, линии, коменты и возможно ваш советник.
во вторых происходит следующее : вы грузите советник, он даёт команду загрузить шаблон, терминал выгружает советник чтобы применить шаблон, загружает шаблон в котором ваш-же советник. В котором вызывается OnInit в котором загружается шаблон :-)
конечно можно обойти и сделать чтобы сработал ваш сценарий:
- при выгрузке в OnDeinit проверить причину выгрузки, и если это применение нового шаблона, то выставить глобальную временную переменную
- в OnInit проверять эту самую переменную и если она есть то не подавать ChartApplyTemplate.
- дополнительно можно в шаблон добавить невидимый пользователю объект, по которому советник может определить что он запущен на уже готовом шаблоне.
Уважаемые форумчане, помогите пожалуйста разобраться, я новичок и уже второй день не могу справиться с проблемой.
for (i=0;i<PositionsTotal();i++);
Подскажите пожалуйста что можно сделать?
во первых идеалогически неправильный подход.. Шаблон - это личное пространство пользователя. Он в него накидывает индикаторы, линии, коменты и возможно ваш советник.
во вторых происходит следующее : вы грузите советник, он даёт команду загрузить шаблон, терминал выгружает советник чтобы применить шаблон, загружает шаблон в котором ваш-же советник. В котором вызывается OnInit в котором загружается шаблон :-)
конечно можно обойти и сделать чтобы сработал ваш сценарий:
- при выгрузке в OnDeinit проверить причину выгрузки, и если это применение нового шаблона, то выставить глобальную временную переменную
- в OnInit проверять эту самую переменную и если она есть то не подавать ChartApplyTemplate.
- дополнительно можно в шаблон добавить невидимый пользователю объект, по которому советник может определить что он запущен на уже готовом шаблоне.
Спасибо большое, но я все равно не разобрался)))
А не подскажите как добавить на график Стохастик с заданными параметрами, может я без шаблона обойдусь, просто индикаторы в OnInit буду добавлять?
Спасибо большое, но я все равно не разобрался)))
А не подскажите как добавить на график Стохастик с заданными параметрами, может я без шаблона обойдусь, просто индикаторы в OnInit буду добавлять?
ChartIndicatorAdd
А для оформления:
ChartSetInteger
ChartSetDouble
ChartSetString
- www.mql5.com
Здравствуйте не могу подключить виртуальный сервер.Оформил подписку все прошло нормально,вот с сервером проблема.Вроде и пароли обновил на мкл.Не хочет ,помогите пожалуйста!
Так Вам же пишет: нельзя работать с этой услугой, когда Вы залогинены к торговому счёту по ИНВЕСТОРСКОМУ паролю. Нужно логиниться в терминале к торговому счёту с основным паролем.
Добавлено: плюс проверьте, Вы точно правильно указали в настройках терминала (Сервис - Настройки - вкладка Сообщество) пароль и логин от mql5 аккаунта?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые форумчане, помогите пожалуйста разобраться, я новичок и уже второй день не могу справиться с проблемой.
А проблема такая: При написании советника хотел чтобы он при инициализации накидывал шаблон на график и проверял есть ли открытые позиции по данной паре, получился такой код
Но при запуске советника он зацыкливается на OnInit , и без конца выдает Алерты.
Мне кажется это из-за того что при применении шаблона он снова инициализирует OnInit и так до бесконечности.
Подскажите пожалуйста что можно сделать?