Добрый день!
Подскажите, пожалуйста, пытаюсь включить в код эксперта отрисовку мувингов. Столкнулся с проблемой: при тестировании отрисовка выполняется после остановки тестирования, а не вовремя...
Возможно ли это исправить?
Спасибо.
Изучая данную проблему, прочёл: https://book.mql4.com/ru/samples/icustom
Цитата:
Существует группа функций, которые можно использовать только в пользовательских индикаторах, и запрещено использовать в экспертах и скриптах: IndicatorBuffers(), IndicatorCounted (), IndicatorDigits(), IndicatorShortName(), SetIndexArrow(), SetIndexBuffer(), SetIndexDrawBegin(), SetIndexEmptyValue(), SetIndexLabel(), SetIndexShift(), SetIndexStyle(), SetLevelStyle(), SetLevelValue().
Конец цитаты.
Возникает вопрос, почему при написании эксперта эти функции частично работают... код эксперта без торговой и аналитической части:
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Blue //--- Variable extern int fastMA = 112; // period of fast indicator extern int slowMA = 600; // period of slow indicator double ind_buffer1[]; // buffer of fast indicator double ind_buffer2[]; // buffer of slow indicator //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- Parameters of drawing SetIndexBuffer(0,ind_buffer1); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1, Blue); // SetIndexBuffer(1,ind_buffer2); // SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1, Blue); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //--- Calculation and drawing of indicators int counted_bars=IndicatorCounted(); for(int x=0;x<Bars;) { x++; ind_buffer1[x]=iMA(NULL,0,fastMA,0,MODE_SMMA,PRICE_CLOSE,x); // ind_buffer2[x]=iMA(NULL,0,slowMA,0,MODE_SMMA,PRICE_CLOSE,x); } //--- Conclusion of the diagnostic information ObjectCreate("Diagnostic info", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045); //---- return(0); } //+------------------------------------------------------------------+
спасибо!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Подскажите, пожалуйста, пытаюсь включить в код эксперта отрисовку мувингов. Столкнулся с проблемой: при тестировании отрисовка выполняется после остановки тестирования, а не вовремя...
Возможно ли это исправить?
Спасибо.