Добрый день! Кто подскажет как правильно прописать закрытие ордеров по сигналам двух индикаторам?
приветствую, пусть не прозвучит слишком высокомерно - но так же как и для открытия по любому сигналу
вызываем iCustom(имя,параметры...), сравниваем значения, посылаем ordersend
приветствую, пусть не прозвучит слишком высокомерно - но так же как и для открытия по любому сигналу
вызываем iCustom(имя,параметры...), сравниваем значения, посылаем ordersend
А можете написать пример кода функции?
приветствую, пусть не прозвучит слишком высокомерно - но так же как и для открытия по любому сигналу
вызываем iCustom(имя,параметры...), сравниваем значения, посылаем ordersend
Вы забыли уточнить, что Вы привели пример для MQL4. В MQL4 можно возвращать значений индикаторов на каждом тике iCustom (MQL4), тогда как в MQL5 другая технология: происходит один единственный раз получение хендла пользовательского индикатора в OnInit() iCustom (MQL5), чтобы потом по этому хендлу получать значения индикатора.
совершенно справедливое замечание
на мой взгляд в мкл5 это более обескураживающе выглядит
совершенно справедливое замечание
на мой взгляд в мкл5 это более обескураживающе выглядит
А можете написать пример кода функции?
если в MQL4 то вот например:
void OnTick()
{
double signal=signal();
if(signal*saved_signal<0 || reopening) go_close_all();
if(signal>0) if(count_orders()==0) go_buy();
if(signal<0) if(count_orders()==0) go_sell();
saved_signal=signal;
}
здесь функцию signal нужно прописать под конкретные индикаторы
я ниже приведу свой пример:
double signal()
{
double f1=iRSI(NULL,0,14,PRICE_CLOSE,0)-50;
double f2=iCCI(NULL,0,14,PRICE_TYPICAL,0)/4;
double f3=iDeMarker(NULL,0,14,0)*100-50;
double f4=iStochastic(NULL,0,5,1,3,MODE_SMA,0,0,0)-50;
double m0=Close[0];
double m1=iMA(NULL,0,period_1,0,MODE_EMA,PRICE_CLOSE,0);
double m2=iMA(NULL,0,period_2,0,MODE_EMA,PRICE_CLOSE,0);
double trend = (m1-m0)*j1 + (m2-m1)*j2;
double oscillator = (f1*k1 + f2*k2 + f3*k3 + f4*k4);
if(trend>0 && oscillator>0) return(+1);
if(trend<0 && oscillator<0) return(-1);
return(0);
}
ну и конечно функции go_sell, go_buy, go_close_all тоже
Это только Ваше личное мнение.
совершенно верно, я так и написал - "на мой взгляд"
но поскольку Вы затронули эту тему, я продолжу:
я показал пример кода на MQL4 и MQL5 человеку не-программисту и он легко прочитал MQL4 и с затруднениями прочитал MQL5
я не буду вдаваться в дискурс что MQL5 бесспорно более мощный язык
я лишь поверхностно отметил тот факт что MQL5 требует большего программерского опыта
Вы забыли уточнить, что Вы привели пример для MQL4. В MQL4 можно возвращать значений индикаторов на каждом тике iCustom (MQL4), тогда как в MQL5 другая технология: происходит один единственный раз получение хендла пользовательского индикатора в OnInit() iCustom (MQL5), чтобы потом по этому хендлу получать значения индикатора.
но если разобраться то в конце концов получение по хэндлу получается проще в итоге
равно как и отправка ордеров с параметрами через точку более удобно чем в mql4
но сначала нужно привыкнуть к нему
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования