Quark, а зачем у тебя в цикле While каждый раз идет объявление переменных dClose, dLow и так далее?
void Noc() { int nPos = Bars - nExtCountedBars; while(nPos >= 0) { double dClose = Close[nPos]; double dLow = Low[ArrayMinimum(Low, nClvPeriod, nPos)]; double dHigh = High[ArrayMaximum(High, nClvPeriod, nPos)]; arrExtMapBuffer[nPos] = (((dClose - dLow) - (dHigh - dClose)) / (dHigh - dLow)) / 2 + 0.5; nPos--; } if(nClvMa > 1) Ema(arrExtMapBuffer); }
Quark, а зачем у тебя в цикле While каждый раз идет объявление переменных dClose, dLow и так далее?
- Согласен. Исправлю. Но на проблему это влиять не должно - в лучшем случае на быстродействие.
- Согласен. Исправлю. Но на проблему это влиять не должно - в лучшем случае на быстродействие.
в индикаторе 2 входящих переменных:
extern int nClvPeriod = 27; extern int nClvMa = 7;
а из эксперта вызывается 4, причём 2 из них - другого типа =)
iCustom(NULL, 0, "_Noc_Ind", false, 27, 0.017, 7, 0, 1);
т.е. надо так:
iCustom(NULL, 0, "_Noc_Ind", 27, 7, 0, 1);
Действительно, несовпадение количества и типа параметров. Я и не посмотрел.
Ура! Спасибо большое.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сам по себе, индикатор работает прекрасно. Однако при вызове его из эксперта, возникают проблемы. А именно, когда я вызываю из кода эксперта:
Получаю вывод что-то вроде 0.5049, 0.505, в то время, как в окне индикатора последнее значение находится в районе 0.9.
Подскажите, пожалуйста, где ошибка.
Индикатор: