Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Для MQL4.
Появилась идея сделать совтеника на RSI с динамически изменяемым периодом.
вызвал индикатор
double x = iRSI (_Symbol,0,din_pereriod,PRICE_CLOSE,0);
При оптимизации получил сообщение. что не хватает памяти.
2015.03.26 06:32:25.393 Not enough memory for indicator Relative Strength Index (EURGBP,M1)
2015.03.26 06:32:25.393 Memory handler: cannot allocate 3641080 bytes of memory
Ну решил расчитать RSI прямо в советнике. А он выдает результаты отличные от стандартного РСИ. Расчет брался для периода 14.
Помогите правильно расчиать РСИ !
историчских данных должно хватать. Больше 2-х лет. ТФ используется минутный.
Вот с глобальной переменной не понятно. Можно кусок кода ?
историчских данных должно хватать. Больше 2-х лет. ТФ используется минутный.
Вот с глобальной переменной не понятно. Можно кусок кода ?
В советнике перед вызовом индикатора присваиваем глобальной переменной значение периода, пусть будет так:
GlobalVariableSet('уникальное_имя_переменной',14) ;
После этого вызываем индикатор:
double rsi=iCustom(...);
В индикаторе в начале функции OnCalculate() забираем из глобальной переменной значение периода:
InpRSIPeriod=GlobalVaribaleGet('уникальное_имя_переменной');
Да, пожалуй, с Гл. переменной будет лучше всего - памяти на один буфер надо.
И ограничить глубину рассчитываемой истории в индикаторе, чтоб лишнего не считать.
В советнике перед вызовом индикатора присваиваем глобальной переменной значение периода, пусть будет так:
GlobalVariableSet('уникальное_имя_переменной',14) ;
После этого вызываем индикатор:
double rsi=iCustom(...);
В индикаторе в начале функции OnCalculate() забираем из глобальной переменной значение периода:
InpRSIPeriod=GlobalVaribaleGet('уникальное_имя_переменной');
И чем этот подход круче чем просто вызов iRSI?
А на счет уменьшения количества обсчитывемых баров - идея не плохая .
И чем этот подход круче чем просто вызов iRSI?
А на счет уменьшения количества обсчитывемых баров - идея не плохая .
В память будет загружен только один экземпляр индикатора.
Устраняется проблема описанная в вашем первом сообщении:
2015.03.26 06:32:25.393 Memory handler: cannot allocate 3641080 bytes of memory