А в скрипте никак не сделать ? Переименовал скрип в индикатор, так-же ничего не отрисовывается ни одной линии.
А шаблон будет на языке MQL4 написан ?
p.s. Посмотрел - там формат шаблонов - TPL. Не подходит. Нужно что-бы советник сам рисовал.
Здравствуйте.
Я делаю советника с двумя индикаторами (iMA двух разных периодов) код:
Тут какая-то помесь советника с индикатором. Я удивлен, что вообще компилируется )) Особенно вот этот перл. Надо делать или то или другое.
int OnInit() { #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_width1 2 SetIndexBuffer(0,IMA1BUF); SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2,clrBlue); SetIndexBuffer(1,IMA2BUF); SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2,clrRed);
Alexey Volchanskiy,
Я хочу сделать так-же как в MT5 - там вполне нормально индикатор и советник (с "самописным" трейлинг стопом) работали. Переделываю сейчас советник с MT5 На MT4 и ... возникли эти проблеммы.
Обязательно в MT4 надо делать либо-либо ? Или нет ? Я не понимаю почему каждый раз придется всегда делать две работы - индикатор и советник, когда можно сделать все в одном.
MT5 мне нравится пока намного меньше чем MT4, - в нем нельзя выбирать размер спреда при тестировании, и из-за других факторов (шрифт у него большой какой-то в отличии от МТ4, историю не импортирует, спред на рубле-доллар по несколько рублей бывает).
Спасибо.
Alexey Volchanskiy,
Я хочу сделать так-же как в MT5 - там вполне нормально индикатор и советник (с "самописным" трейлинг стопом) работали. Переделываю сейчас советник с MT5 На MT4 и ... возникли эти проблеммы.
Обязательно в MT4 надо делать либо-либо ? Или нет ? Я не понимаю почему каждый раз придется всегда делать две работы - индикатор и советник, когда можно сделать все в одном.
MT5 мне нравится пока намного меньше чем MT4, - в нем нельзя выбирать размер спреда при тестировании, и из-за других факторов (шрифт у него большой какой-то в отличии от МТ4, историю не импортирует, спред на рубле-доллар по несколько рублей бывает).
Спасибо.
В индикаторе можно торговать, только особого смысла нет. Все индикаторы работают в одном потоке, а советники каждый в своем. Следовательно, советник в коде индикатора может тормозить. Я так понял, это у вас все наоборот - в код советника помещен индикатор? Не уверен, можно ли в него впихнуть код индикатора, не пробовал. Но #property в OnInit() - это ненормально и они там явно не читаются.
Отправил заявку в Сервис Деск
Alexey Volchanskiy,
Я хочу сделать так-же как в MT5 - там вполне нормально индикатор и советник (с "самописным" трейлинг стопом) работали. Переделываю сейчас советник с MT5 На MT4 и ... возникли эти проблеммы.
Обязательно в MT4 надо делать либо-либо ? Или нет ? Я не понимаю почему каждый раз придется всегда делать две работы - индикатор и советник, когда можно сделать все в одном.
MT5 мне нравится пока намного меньше чем MT4, - в нем нельзя выбирать размер спреда при тестировании, и из-за других факторов (шрифт у него большой какой-то в отличии от МТ4, историю не импортирует, спред на рубле-доллар по несколько рублей бывает).
Спасибо.
//+------------------------------------------------------------------+ //| уцкку.mq4 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue #property indicator_width1 2 //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { double STOP=0.5; double TAKE=1; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { double IMA1BUF[]; double IMA2BUF[]; int MA1PER=100; int MA2PER=20; int MA1SHIFT=0; int MA2SHIFT=-2; int limit=rates_total-prev_calculated; ArraySetAsSeries(IMA1BUF,false); ArraySetAsSeries(IMA2BUF,false); SetIndexBuffer(0,IMA1BUF); SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2,clrBlue); SetIndexBuffer(1,IMA2BUF); SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2,clrRed); IndicatorDigits(Digits); //--- //--- if(prev_calculated>0) limit++; for(int i=0; i<limit; i++) { IMA1BUF[i]=iMA(_Symbol,PERIOD_CURRENT,MA1PER,MA1SHIFT,MODE_EMA,PRICE_CLOSE,i); IMA2BUF[i]=iMA(_Symbol,PERIOD_CURRENT,MA2PER,MA2SHIFT,MODE_EMA,PRICE_CLOSE,i); } //--- return(rates_total); } void OnTick() { double STOP=0.5; double TAKE=1; int HISTORY=500; return; } //--- //+------------------------------------------------------------------+
Вышеприведенный код - никаких варнингов, никаких линий в тестере и в Metatrader 4 !!!
В Metatrader 5 код из индикаторов и советника нормально работает !!!!
В индикаторе можно торговать, только особого смысла нет.
В индикаторе торговать нельзя
Точно, сейчас нельзя. Вроде до 600-й версии было можно? Так пытались обойти запрет ДЦ на торговлю советниками, особенно для конкурсов.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте.
Я делаю советника с двумя индикаторами (iMA двух разных периодов) код:
Но отображается всего одна линия и только в тестере советника (он еще не доделан до конца, торговых функций в нем еще нет)):
Как сделать что-бы две линии отображалось ? И почему вообще ни одной линии не отрисовывается если установить советник на чарт ?
Спасибо.