Вот простой индикатор который рассчитывает среднюю скользящую.Имя индикатора "X".
А вот эксперт который через функцию iCustom получает значение средней скользящей и выводит его.
так вот у меня проблема, то что он выводит одно и то же значение.
Ошибка в индикаторе. Вернее всего i меньше нуля.
i=Bars-counted_bars-30;
Это верняк, я тоже с этим мучился пока не допёрло.
Откуда у тебя цифра 30?
Я обхожу это сл. образом:
bool Flag[1]; // "Флаг" подключения индикатора
//--------------------------------------------------------------------
if (!Flag[0]) // Установка нач. значений при подкл. индикатора
{
...
BarsDelta=Bars1;
Flag[0]=true; // Установка начальных значений завершена
}
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();
i=Bars-BarsDelta-Counted_bars-1; // Индекс первого непосчитанного
Хотя наверняка, есть способ и попроще. Опытные подскажут.
Да ещё: можно обьявить твою 30 переменной на глобальном уровне, а потом в теле программы обнулить. Это по учебнику, сам как-то всё не удосужусь проверить...
Это верняк, я тоже с этим мучился пока не допёрло.
Откуда у тебя цифра 30?
Я обхожу это сл. образом:
boolFlag[1]; // "Флаг" подключения индикатора
//--------------------------------------------------------------------
if (!Flag[0]) // Установка нач. значений при подкл. индикатора
{
...
BarsDelta=Bars1;
Flag[0]=true; // Установка начальных значений завершена
}
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();
i=Bars-BarsDelta-Counted_bars-1; // Индекс первого непосчитанного
Хотя наверняка, есть способ и попроще. Опытные подскажут.
Я думаю что не в индюке косяк.
Прислушился к рекомендациям и прописал.
Все равно индикатор работает а эксперт при тесте выдает в этом духе...
2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:14 2009.04.14 14:55 test2 EURUSD,M30: Alert: Значение = 1 2009.07.14 21:15:12 X EURUSD,M30: removed
Я думаю что не в индюке косяк.
Прислушился к рекомендациям и прописал.
Все равно индикатор работает а эксперт при тесте выдает в этом духе...
//+------------------------------------------------------------------+ //| VininI_MA(v1).mq4 | //| Victor Nicolaev | //| vinin@mail.ru | //+------------------------------------------------------------------+ #property copyright "Victor Nicolaev" #property link "vinin@mail.ru" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Yellow extern int period=89; extern int mode=0; extern int price=0; //---- buffers double Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- drawing settings SetIndexStyle(0,DRAW_LINE); SetIndexDrawBegin(0,period); SetIndexBuffer(0,Buffer); return(0); } //+------------------------------------------------------------------+ int start() { int limit; int i,counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for (i = limit;i>=0;i--){ Buffer[i]=iMA(Symbol(),0,period,0,mode,price,i); } return(0); }
Тьфу, мать...
У тебя же MA обьявлена как int !!!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот простой индикатор который рассчитывает среднюю скользящую.Имя индикатора "X".
А вот эксперт который через функцию iCustom получает значение средней скользящей и выводит его.
так вот у меня проблема, то что он выводит одно и то же значение.