Все верно работает.
Вы каждый раз вызываете новый индикатор с новыми параметрами iCustom(NULL,0,"Balance",r,0,1);
Нет возможности передавать значение с советника в индикатор через iCustom.
Вы можете сделать это:
- через глобальные переменные терминала
- через запись чтение с файла
- DLL для общего доступа к переменным
- найти готовое решение в кодобазе
- .....
Все верно работает.
Вы каждый раз вызываете новый индикатор с новыми параметрами iCustom(NULL,0,"Balance",r,0,1);
Нет возможности передавать значение с советника в индикатор через iCustom.
Вы можете сделать это:
- через глобальные переменные терминала
- через запись чтение с файла
- DLL для общего доступа к переменным
- найти готовое решение в кодобазе
- .....
По глобальным переменным пробовал, ничего не выходит.
На основе статьи komposter.
Ссылку найти не могу. Может в старых билдах работало?
Вот что получается:
в индикаторе попробовал на каждом баре значение получать, та же картина:
int start() { int counted_bars=IndicatorCounted(), i,limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars-1; for(i=limit;i>=0;i--){balance[i]=GlobalVariableGet( "vGrafBalance" );} return(0); }
- www.mql5.com
Вам не нужны глобальные переменные, как не нужно передавать значения из советника в индикатор. Попробуйте найти решение этой проблемы иначе.
Ну, Вы прямо сходи туда не знаю куда, возьми, то не знаю, что)
Можно подсказку. Все равно, что подсказывают, потом разбираю, пытаясь понять.
Но, вот время масса уходит, если не спрашивать.
Линия индикатора мне нужна, так как есть желание сделать из нее мувинги с пересечением.
Сделал так в индикаторе:
#property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Blue double balance[]; int init() { SetIndexBuffer(0,balance); IndicatorDigits( 2 ); SetIndexStyle( 0, DRAW_LINE ); } int start() { int counted_bars=IndicatorCounted(), i,limit; if(counted_bars>0) counted_bars--; limit=Bars-counted_bars-1; for(i=limit;i>=0;i--)balance[i] =AccountBalance(); return(0); }
в советнике вызываю:
double indicator=iCustom(NULL,0,"Balance",0,1);
на всех барах значение баланса равняется значению в конце теста.
Ну, Вы прямо сходи туда не знаю куда, возьми, то не знаю, что)
Можно подсказку. Все равно, что подсказывают, потом разбираю, пытаясь понять.
Прямо из индикатора получите доступ к торговому окружению (количество сделок, фин. результат и т.д.).
Перед вызовом индикатора отправить в глобальную переменную значение, в индикаторе забрать значение и положить его в индикаторный буфер для бара с индексом 0. Для тестера пойдет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Нужна линия баланса в виде индикатора при вызове из тестера.
Сделал индюк. Запускаю, на новом баре каждый раз новое окно открывается.
Кто скажет в чем дело? Код MQL4, там уже спрашивал.
Код индикатора:
в советнике:
Вот так при вызове из тестера индикатор начинает спамить окнами.