Могли бы вы привести пример, каким образом я могу получить переменную tickets из индикатора с именем 123 ?
Может таким образом:
tickets=iCustom(NULL, 0, "123",13,1,0);
Я не видел советник, но если на выходе индикатор на первом буфере равен значению tickets, ты ты все правильно понял.
Обрати внимание на:
mode | - | Индекс линии индикатора. Может быть от 0 до 7 и должен соответствовать индексу, используемому одной из функций SetIndexBuffer. |
У тебя он равен единице:
tickets=iCustom(NULL, 0, "123",13,1,0);
...если на выходе индикатор на первом буфере равен значению tickets...
Немного не понятно.
В индикаторе переменная tickets используется для подсчета формулы. Находится она в середине скрипта и не является результирующей переменной.
Немного не понятно.
В индикаторе переменная tickets используется для подсчета формулы. Находится она в середине скрипта и не является результирующей переменной.
В таком случае, не получится, оператор iCustom выводит только буфферы индикатора. Все расчеты производимые внутри индикатора, его не касаются. Тебе проще посчитать tickets внутри скрипта который пишешь. Либо переписать индикатор, таким образом, чтобы он выводил в буффер значение tickets.
Посмотри как это реализовано в любом индикаторе. Например в стандартном MACD:
#property indicator_buffers 2
^ Вот это значение у тебя увеличиться на один, ты же ведь новый буффер добавляешь.
//---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i); //---- signal line counted in the 2-nd buffer for(i=0; i<limit; i++) SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
^ Так задаются буффера.
Потом сможешь его вызывать из iCustom, задав номер нужного буфера. (см. MODE)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования