А чем не устраивают стандартные таймсерии индикатора:
int OnCalculate (const int rates_total, // размер входных таймсерий const int prev_calculated, // обработано баров на предыдущем вызове const datetime& time[], // Time const double& open[], // Open const double& high[], // High const double& low[], // Low const double& close[], // Close const long& tick_volume[], // Tick Volume const long& volume[], // Real Volume const int& spread[] // Spread )
?
В массиве close[индекс] будет самая последняя цена. "индекс" равен или "rates_total-1" или "0" - это смотря какая индексация в массиве close[].
ddras2:
Это полностью убрать и в начале OnCalculate написатьЭто вставил в глобальные данные:
bool SymbolInfoTick(string symbol,MqlTick& last_tick);
MqlTick last_tick;
MqlTick last_tick; SymbolInfoTick(Symbol(), last_tick);
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Написал простенький индикатор, весь код всунул B OnCalculate, я немного совершенствую индикатор. Пришёл к тому что в условии выявления сделки нужно использовать цену Bid. Смотрел примеры.
Это вставил в глобальные данные:
а в самом условии(к примеру):
(last_tick.bid<open[0])
Он как-то перестал выдавать оповещения, решил написать:
и постоянно выдает 0.0. В примерах это используется в OnTick, а можно как-то использовать в OnCalculate?