Всё что в инит в начало старт перенести.
Всё что в деинит перенести в конец старта.
Инит и деинит удалить.
В самом начале кода прописать
#proprty show_inputs
Благодарю, eevviill
Сделал всё, как вы сказали! Комментарий работает. Но при этом перестали отображаться линии аск-бид другого инструмента! Которые я перенес из ИНИТА в СТАРТ:
#property copyright "L-553" #property link "l-----ya.ru" #property show_inputs //---Внешние параметры советника--- extern string tiker_ = "#I"; extern color Сolor_AskTiker = Lime;//цвет линии extern color Сolor_BidTiker = Aqua;//цвет линии extern int WIDTH = 1; //толщина линий string Tiker;//заявляем наименование инструмента double Ask_Tiker, Bid_Tiker; //------------------------------------------- //------------------------------------------- //------------------------------------------------- int start() { //создаем горизонт. линии на графике {ObjectCreate("lowline",OBJ_HLINE,0,0,0,0,0); ObjectCreate("highline",OBJ_HLINE,0,0,0,0,0); ObjectSet("lowline", OBJPROP_BACK,1); ObjectSet("highline", OBJPROP_BACK,1); } Tiker = Symbol()+tiker_ ;//наименование while(!IsStopped()) {//зацикливаем код советника RefreshRates(); //Задаем цены аск и бид тикера Ask_Tiker = MarketInfo(Tiker,MODE_ASK); Bid_Tiker = MarketInfo(Tiker,MODE_BID); Comment (//отображаем тикер и все цены на графике " Тикер = ", Tiker ,"\n", "Ask_Tiker = ",Ask_Tiker,"\n", "Last_Price= ",Ask,"\n", "Bid_Tiker = ",Bid_Tiker); //устанавливаем горизонтальные линии на ценах аск и бид SetHLine(Сolor_AskTiker,"highline",Ask_Tiker,0 ,WIDTH); SetHLine(Сolor_BidTiker,"lowline" ,Bid_Tiker,0 ,WIDTH); {ObjectDelete("lowline"); ObjectDelete("highline");} Sleep(500); }//конец цикла }//Конец функции СТАРТ //+---------------------------------------------------------------------+ //| Функция : Установка объекта OBJ_HLINE - горизонтальная линия | //| Автор функции : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ | //+---------------------------------------------------------------------+ //| Параметры: | //| cl - цвет линии | //| nm - наименование ("" - время открытия текущего бара) | //| p1 - ценовой уровень (0 - Bid) | //| st - стиль линии (0 - простая линия) | //| wd - ширина линии (0 - по умолчанию) | //+---------------------------------------------------------------------+ void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) { if (nm=="") nm=DoubleToStr(Time[0], 0); if (p1<=0) p1=Bid; if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0); ObjectSet(nm, OBJPROP_PRICE1, p1);ObjectSet(nm, OBJPROP_COLOR , cl); ObjectSet(nm, OBJPROP_STYLE , st);ObjectSet(nm, OBJPROP_WIDTH , wd); }
Может быть, ещё надо что-нибудь исправить?
Нет просто надо нормально переносить
Sleep(500); }//конец цикла {ObjectDelete("lowline"); ObjectDelete("highline");} }//Конец функции СТАРТ
Благодарю, eevviill
Сделал всё, как вы сказали! Комментарий работает. Но при этом перестали отображаться линии аск-бид другого инструмента! Которые я перенес из ИНИТА в СТАРТ:
Может быть, ещё надо что-нибудь исправить?
Лучше бы Вы индикатор сделали. Скрипт отработал свое и все. А индикатор будет все время работать
while(!IsStopped()) {//зацикливаем код советника
Благодарю, получилось всё норм!
Индикатор мне на графике постоянно не нужен.
А работа скрипта нужна только в момент открытия/закрытия фьючерасных позиций! (Чтобы визуально видеть цены аск-ласт-бид).
Здравствуйте

- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Возникла необходимость переделать советник в скрипт.
Советник отображает на графике одного инструмента (напр. FDAXZ5, last) цены аск-бид другого инструмента (напр., тикера FDAX#I) ! Иных задач у него нет.
Вот код:
Пож. подскажите, где (в каких строках) и как нужно исправить код, чтобы превратить советник в скрипт?
Благодарю.