Не могу понять, чем вообще заменить iEnvelopesOnArray и iBandsOnArray,так как этого нет в пятёрке, и с чего начать - не представляю. Нужно получить полностью идентичное отображение в МТ5
Не могу понять, чем вообще заменить iEnvelopesOnArray и iBandsOnArray,так как этого нет в пятёрке, и с чего начать - не представляю. Нужно получить полностью идентичное отображение в МТ5
Потому, что уже не первый раз игнорируешь написанное
В корне include есть MovingAverages.mqh а вот ВВ не искал, может и нету. Но лучший вариант в функцию iMA в качестве цены сунуть хендл индикатора источника данных.
Мне надо было применить iTEMA к пользовательскому индикатору, так я и не догадался там поискать... Сделал как описано выше, всё работает без нареканий.
У меня есть текущий ТФ и расчетный ТФ, функция должна возвращать разность между двумя ТФ в любых комбинациях, если бы измерение было в барах
Расчетный ТФ
15
15
15
60
60
60
240
240
240
Текущий ТФ
15
5
1
15
5
1
60
15
5
Разность в Nбар
1
3
15
4
12
60
4
16
48
Как это реализовать правильно?
Сделал так
int TFk()
{
int K=0;
K=TF_transfer(TF)/TF_transfer(Period());
// Print(TF_transfer(TF)," ",TF_transfer(Period()));//Print (K);if (K<1)return(1);
elsereturn(K);
}
int TF_transfer(ENUM_TIMEFRAMES tf)
{
if (tf==PERIOD_CURRENT) return(0);
if (tf==PERIOD_M1) return(1);
if (tf==PERIOD_M5) return(5);
if (tf==PERIOD_M15) return(15);
if (tf==PERIOD_M30) return(30);
if (tf==PERIOD_H1) return(60);
if (tf==PERIOD_H4) return(240);
if (tf==PERIOD_D1) return(1440);
if (tf==PERIOD_W1) return(10080);
if (tf==PERIOD_MN1) return(43200);
if (tf==PERIOD_M2) return(2);
if (tf==PERIOD_M3) return(3);
if (tf==PERIOD_M4) return(4);
if (tf==PERIOD_M6) return(6);
if (tf==PERIOD_M10) return(10);
if (tf==PERIOD_M12) return(12);
if (tf==PERIOD_H2) return(120);
if (tf==PERIOD_H3) return(180);
if (tf==PERIOD_M6) return(360);
if (tf==PERIOD_H8) return(480);
if (tf==PERIOD_H12) return(720);
return(1);
}
Беда в том, что мне это счастье надо для индикатора, а он, чудит и не хочет корректно инициализироватся, на такой код
int OnInit()
{
Print ("K=",TFk()," Период=",Period());
Никто не отказался-бы от них, но они принимают только хендлы, а не произвольные массивы как в mql4
Ясно. Я тему попутал. Думал по четвёрке вопрос.
Вопрос о переводе на пятёрку, и цель - получить аналогичное отображение, как сейчас на четвёрке
Вот более полный код, символы подставляются в индикатор нажатием кнопок на графике, то есть Инитом не обойтись
Как это перевести на пятёрку? Или это невозможно, в связи с отсутствующим в ней функционалом?
Вопрос о переводе на пятёрку, и цель - получить аналогичное отображение, как сейчас на четвёрке
Вот более полный код, символы подставляются в индикатор нажатием кнопок на графике, то есть Инитом не обойтись
Как это перевести на пятёрку? Или это невозможно, в связи с отсутствующим в ней функционалом?
Так никто не навязывает получать хендл в ините...
Так никто не навязывает получать хендл в ините...
Я же не против)
Не могу понять, чем вообще заменить iEnvelopesOnArray и iBandsOnArray,так как этого нет в пятёрке, и с чего начать - не представляю. Нужно получить полностью идентичное отображение в МТ5
Я же не против)
Не могу понять, чем вообще заменить iEnvelopesOnArray и iBandsOnArray,так как этого нет в пятёрке, и с чего начать - не представляю. Нужно получить полностью идентичное отображение в МТ5
Потому, что уже не первый раз игнорируешь написанное
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Alexey Viktorov, 2017.09.21 20:06
В корне include есть MovingAverages.mqh а вот ВВ не искал, может и нету. Но лучший вариант в функцию iMA в качестве цены сунуть хендл индикатора источника данных.
У меня пример только со сглаженной iMA
Аналогично и ВВ.
Если-же источник, пользовательский индикатор, то придётся
Вот такие заморочки...
Потому, что уже не первый раз игнорируешь написанное
Есть: \MQL5\Include\Indicators\Trend.mqh
Спасибо, теперь нашёл.
Мне надо было применить iTEMA к пользовательскому индикатору, так я и не догадался там поискать... Сделал как описано выше, всё работает без нареканий.
Прошу помочь с составлением функции.
У меня есть текущий ТФ и расчетный ТФ, функция должна возвращать разность между двумя ТФ в любых комбинациях, если бы измерение было в барах
Как это реализовать правильно?
Прошу помочь с составлением функции.
У меня есть текущий ТФ и расчетный ТФ, функция должна возвращать разность между двумя ТФ в любых комбинациях, если бы измерение было в барах
Как это реализовать правильно?
Сделал так
Беда в том, что мне это счастье надо для индикатора, а он, чудит и не хочет корректно инициализироватся, на такой код
Реагирует так:
2017.09.22 14:23:27.742 donchian_channel_prognoz_MTF (Eu Splice,M5) K=3 Период=5
2017.09.22 14:23:27.776 donchian_channel_prognoz_MTF (Eu Splice,M5) test
2017.09.22 14:23:27.790 donchian_channel_prognoz_MTF (Eu Splice,M15) K=1 Период=15
Самое не понятное, это то, что принтуется тест, который уже в теле OnCalculate!
Получается, что первый раз тайм фрейм правильно определен, а второй раз уже нет...
Что за чудеса, уж и не знаю...
Сделал так
Беда в том, что мне это счастье надо для индикатора, а он, чудит и не хочет корректно инициализироватся, на такой код
Реагирует так:
2017.09.22 14:23:27.742 donchian_channel_prognoz_MTF (Eu Splice,M5) K=3 Период=5
2017.09.22 14:23:27.776 donchian_channel_prognoz_MTF (Eu Splice,M5) test
2017.09.22 14:23:27.790 donchian_channel_prognoz_MTF (Eu Splice,M15) K=1 Период=15
Самое не понятное, это то, что принтуется тест, который уже в теле OnCalculate!
Получается, что первый раз тайм фрейм правильно определен, а второй раз уже нет...
Что за чудеса, уж и не знаю...
А зачем такие извращения???
Разве так не проще?