Второе, вы представляете, насколько глубоко придется переделывать всю систему работы с индикаторами ради удовлетворения этой ненужной прихоти?
Ничего переделывать не придется. Через GetPtr это делается элементарно, без какого-либо вмешивания в архитектуру. Надо только штатную возможность добавить, без использования DLL, исключив стороннюю запись в буфер.
iCustomChart
Возвращает численное значение указанного пользовательского индикатора на соответствующем графике.
double iCustomChart(
long chart_id, // идентификатор графика (аналогичный, как в ChartIndicatorName)int sub_window, // номер подокна (аналогичный, как в ChartIndicatorName)int index, // индекс индикатора в списке индикаторов, добавленных к данному подокну графика (аналогичный, как в ChartIndicatorName)int mode, // источник данных (аналогичный, как в iCustom)int shift // сдвиг (аналогичный, как в iCustom)
);
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
sub_window
[in] Номер подокна графика. 0 означает главное окно графика.
index
[in] Индекс индикатора с списке индикаторов. Нумерация индикаторов начинается с нуля, то есть самый первый индикатор в списке имеет нулевой индекс. Количество индикаторов в списке можно получить функцией ChartIndicatorsTotal().
mode
[in] Индекс линии индикатора. Может принимать значения от 0 до 7 и соответствовать индексу, указанному при вызове функции SetIndexBuffer().
shift
[in] Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Возвращаемое значение
Численное значение указанного пользовательского индикатора на соответствующем графике.
comp: Затем же, зачем сравнивают логически разные MA и RSI, например.
МА, построенная по ценам, или МА от RSI?
Если по ценам, то конечно - через советника (именно он логически объединяет эти 2 разных индикатора). Если по RSI, то в одном индикаторе (в нем уже будет информация и о RSI и о MA).
Или смысл в каком-то универсальном конструкторе, который мог бы брать любые индикаторы, прицепленные к графику, и анализировать? Тогда может и удобнее. Но все равно не понятно, зачем делать интерактивность в самих индикаторах, если исследовать их из анализатора...
Или смысл в каком-то универсальном конструкторе, который мог бы брать любые индикаторы, прицепленные к графику, и анализировать?
Тогда может и удобнее. Но все равно не понятно, зачем делать интерактивность в самих индикаторах, если исследовать их из анализатора...
Индикаторы сами по себе являются объектами, интерактивность в которых предусмотрена логикой их построения. Почему индикатор должен быть статичным - не ясно.
Если совсем тупой пример, то возьмем тиковый индикатор. Пусть в буфер он записывает какие-то данные тиков. При этом использовал только OnCalculate.
За время, что он висит на чарте, он подсобрал какие-то данные в свои буферы. Прописывание скидывания их в файл отсутствует пусть (забыли или не догадались - вторично).
Вам показались данные, что видите на чарте, интересными и захотелось сбросить их в файл. Как это сделать? - Никак!
Видите данные, но считать их не можете. Ну разве что парсить как-то окно CTRL+D через WinAPI. И заметьте, никакой интерактивности.
Индикаторы сами по себе являются объектами, интерактивность в которых предусмотрена логикой их построения. Почему индикатор должен быть статичным - не ясно.
Про интерактивность уговорили, соглашусь. Но пример опять высосан из пальца (забыли/недосмотрели/вообще не думали).
Давайте остановимся на том, что для интерактивных индикаторов такая возможность была бы полезной. Но в текущих реалиях нужно реализовывать все через советника.
Но пример опять высосан из пальца (забыли/недосмотрели/вообще не думали).
Т.е. нормально, когда Вы покупаете в Маркете индикатор, но получить программно его значения не в состоянии. Можете на него только смотреть. Вставить его в советник - облом.
Т.е. нормально, когда Вы покупаете в Маркете индикатор, но получить программно его значения не в состоянии. Можете на него только смотреть. Вставить его в советник - облом.
вставить можно через iCustom, а вот код индикатора, полученного из маркета, вставить в советник всегда будет облом
comp: И получить в некоторых случаях, что здесь обстоятельно разбирались, совсем не то, что видите на чарте.
индикатор перерисовывает не только нулевой бар но и историю, индикатор не то что-бы с нулевой ценностью, а даже с отрицательной, потому как обманывает -видел такие и не один
Ответ (привожу полностью):
Пипец! На чарте индикатор вы видите, но получить его значения мы вам не дадим - в очередной раз подтвердили свое амплуа.
Не понимаю я, о чем сыр-бор. Ведь уже написали, что если на чарте несколько одинаковых индикаторов? С какого считывать? Надо их как-то нумеровать?
Второе, вы представляете, насколько глубоко придется переделывать всю систему работы с индикаторами ради удовлетворения этой ненужной прихоти?
Это только кажется, щас тяп-ляп, тут кода подмажем, тут подрежем, все и заработает. Не заработает, увы.
Не надо трогать то, что пашет стабильно.
Тогда зачем их сравнивать?
Не понимаю я, о чем сыр-бор. Ведь уже написали, что если на чарте несколько одинаковых индикаторов? С какого считывать? Надо их как-то нумеровать?
Они уже пронумерованы даже в MT4. Смотрите ChartIndicatorName и ChartIndicatorsTotal.
Второе, вы представляете, насколько глубоко придется переделывать всю систему работы с индикаторами ради удовлетворения этой ненужной прихоти?
Ничего переделывать не придется. Через GetPtr это делается элементарно, без какого-либо вмешивания в архитектуру. Надо только штатную возможность добавить, без использования DLL, исключив стороннюю запись в буфер.
iCustomChart
Возвращает численное значение указанного пользовательского индикатора на соответствующем графике.
Параметры
Возвращаемое значение
Затем же, зачем сравнивают логически разные MA и RSI, например.
МА, построенная по ценам, или МА от RSI?
Если по ценам, то конечно - через советника (именно он логически объединяет эти 2 разных индикатора).
Если по RSI, то в одном индикаторе (в нем уже будет информация и о RSI и о MA).
Или смысл в каком-то универсальном конструкторе, который мог бы брать любые индикаторы, прицепленные к графику, и анализировать?
Тогда может и удобнее. Но все равно не понятно, зачем делать интерактивность в самих индикаторах, если исследовать их из анализатора...
Или смысл в каком-то универсальном конструкторе, который мог бы брать любые индикаторы, прицепленные к графику, и анализировать?
Тогда может и удобнее. Но все равно не понятно, зачем делать интерактивность в самих индикаторах, если исследовать их из анализатора...
Индикаторы сами по себе являются объектами, интерактивность в которых предусмотрена логикой их построения. Почему индикатор должен быть статичным - не ясно.
Если совсем тупой пример, то возьмем тиковый индикатор. Пусть в буфер он записывает какие-то данные тиков. При этом использовал только OnCalculate.
За время, что он висит на чарте, он подсобрал какие-то данные в свои буферы. Прописывание скидывания их в файл отсутствует пусть (забыли или не догадались - вторично).
Вам показались данные, что видите на чарте, интересными и захотелось сбросить их в файл. Как это сделать? - Никак!
Видите данные, но считать их не можете. Ну разве что парсить как-то окно CTRL+D через WinAPI. И заметьте, никакой интерактивности.
Индикаторы сами по себе являются объектами, интерактивность в которых предусмотрена логикой их построения. Почему индикатор должен быть статичным - не ясно.
Если совсем тупой пример, то возьмем тиковый индикатор.
Про интерактивность уговорили, соглашусь.
Но пример опять высосан из пальца (забыли/недосмотрели/вообще не думали).
Давайте остановимся на том, что для интерактивных индикаторов такая возможность была бы полезной.
Но в текущих реалиях нужно реализовывать все через советника.
Но пример опять высосан из пальца (забыли/недосмотрели/вообще не думали).
Т.е. нормально, когда Вы покупаете в Маркете индикатор, но получить программно его значения не в состоянии. Можете на него только смотреть. Вставить его в советник - облом.
Т.е. нормально, когда Вы покупаете в Маркете индикатор, но получить программно его значения не в состоянии. Можете на него только смотреть. Вставить его в советник - облом.
вставить можно через iCustom
И получить в некоторых случаях, что здесь обстоятельно разбирались, совсем не то, что видите на чарте.
индикатор перерисовывает не только нулевой бар но и историю, индикатор не то что-бы с нулевой ценностью, а даже с отрицательной, потому как обманывает -видел такие и не один
и видел людей одураченных этими индикаторами