Это из академического интереса что-ли? Если есть конкретный индикатор - то обращайся к нему конкретно через iCustom(......). Еще есть кнопка "Поиск" на форуме
Если есть конкретный индикатор - то обращайся к нему конкретно через iCustom(......). Еще есть кнопка "Поиск" на форуме
iCustom() не совсем то, что надо, хотя конечно лучше чем ничего. Если в MT4 появились явные буфера для каждого индикатора, логично предоставить доступ к этим буферам, чтобы можно было гарантировать, что эксперт использует именно те данные, что видны на графике индикатора.
При использовании iCustom насколько я понял, значения будут вычиcляться повторно, и в теории они все равно могут отличаться от значений графика в окне индикатора. Или быть может, если при вызове iCustom уже будет запущен этот индикатор на таком же периоде и символе, будут использованы данные уже работающего индикатора?
И еще вопрос по поводу iCustom
double iCustom( string symbol, int timeframe, string name, ... , int mode, int shift) symbol - Symbol on that data need to calculate indicator. NULL means current symbol. timeframe - Time frame, by default used current chart period. It can be any one of Time frame enumeration values. name - Custom indicator compiled program name. ... - Parameters set (if needed).
что это за параметры, которые подразумеваются под многоточием? Это параметры индикатора у которых тип "extern"? И в каком порядке их надо передавать, в том же, в котором они перечислены в исходном коде индикатора?
iCustom() не совсем то, что надо, хотя конечно лучше чем ничего. Если в MT4 появились явные буфера для каждого индикатора, логично предоставить доступ к этим буферам, чтобы можно было гарантировать, что эксперт использует именно те данные, что видны на графике индикатора.
логично, но чревато ошибками в управлении глобального списка индикаторов. мы рассматривали такую возможность и отказались по ряду причин.
При использовании iCustom насколько я понял, значения будут вычиcляться повторно, и в теории они все равно могут отличаться от значений графика в окне индикатора. Или быть может, если при вызове iCustom уже будет запущен этот индикатор на таком же периоде и символе, будут использованы данные уже работающего индикатора?
не беспокойтесь. исходные данные у разных экземпляров индикаторов одни и те же, поэтому и результат будет одинаковым.
И еще вопрос по поводу iCustom
что это за параметры, которые подразумеваются под многоточием? Это параметры индикатора у которых тип "extern"? И в каком порядке их надо передавать, в том же, в котором они перечислены в исходном коде индикатора?
что это за параметры, которые подразумеваются под многоточием? Это параметры индикатора у которых тип "extern"? И в каком порядке их надо передавать, в том же, в котором они перечислены в исходном коде индикатора?
именно так
не беспокойтесь. исходные данные у разных экземпляров индикаторов одни и те же, поэтому и результат будет одинаковым.
Я плохо знаю С++, но знаю, что в программировании лучше беспокоиться, чем не беспокоиться :)
В общем случае, результат будет наверное одинаковым, но если результат функции зависит от состояния в котором находится система, то это уже частный случай :) Например при обращении через ArrayCopyRates или вызове любой функции технического индикатора на отличном от графика периоде и при условии отстутствия исторических данных по этому периоду, первый вызов функции может вернуть ошибку, а второй (когда данные уже будут подгружены), вернет реальное значение и может возникнуть расхождение в результатах. Но это, наверное, достаточно редкая ситуация, которую, как говориться в известном анекдоте, "не помешает" иметь ввиду при использовании исторических данных других периодов в индикаторе, и которая не проявляется в обычных индикаторах, оперирующих только данными родительского графика.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотелось бы иметь функицию вида:
чтобы можно было обратиться из эксперта и узнать значение индикатора в текущем и предыдущем баре:
Насколько я могу предположить в реализации эта достаточно простая функция: достаточно найти по id индикатор и взять из его буфера по указанному offset значение?