самопальный индикатор индекса...

 
написал индикатор usdx, но он не прорисовываеться на графике, подскажите что не так? и как сделать принудительныю загрузку истории по всем валютным парам?
вот код:
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green

double usdx[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
      SetIndexStyle(0,DRAW_LINE);
      SetIndexBuffer(0, usdx);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  int i;
//----
  double eurusd, gbpusd, usdchf, audusd, usdcad, usdjpy, nzdusd;
//----
    int limit;
    int counted_bars = IndicatorCounted();
//---- последний посчитанный бар будет пересчитан
    if(counted_bars > 0) 
        counted_bars--;
    limit = Bars - counted_bars - 1;
//---- основной цикл
    for( i = limit; i >= 0; i--)
      {
         eurusd = iClose("EURUSD", 0, i);
         gbpusd = iClose("GBPUSD", 0, i);
         audusd = iClose("AUDUSD", 0, i);
         nzdusd = iClose("NZDUSD", 0, i);
         usdchf = iClose("USDCHF", 0, i);
         usdcad = iClose("USDCAD", 0, i);
         usdjpy = iClose("USDJPY", 0, i);
         
         usdx[i] = MathPow((usdchf*usdcad*usdjpy)/(eurusd*gbpusd*audusd*nzdusd),1/7);
      }

   return(0);
  }
//+------------------------------------------------------------------+
заранее благодарен!
 
Очевидно, надо подгрузить котировки,  и проверять их наличие в процессе работы. Второе: 1/7 = 0. Используйте 1.0/7.0
Файлы:
usdx.mq4  3 kb
 
а можно както подгружать котировки программным путем, не используя F2?
 
dmmikl86 писал(а) >>
а можно както подгружать котировки программным путем, не используя F2?


Скрипт в кодебазе лежит
 

Бери корень 8 степени - это более научно :).

 
почему 8 стпенеи более научно?
 
dmmikl86 писал(а) >>
почему 8 стпенеи более научно?

Что бы следующее равенство выполнялось: индекс евро/индекс доллара = eur/usd. Все это при условии, что индексы составлены из одной корзинки валют.
 
Поправьте меня, но вроде бы в кодебазе нет скриптов, которые грузят архивную историю, а есть скрипты, которые грузят котировки в окне иструмента - тут F2 оказывается ни при чем, и глубина истории ограничивается тем, что задано в диалоге настроек МТ (Макс. баров в окне). Но в принципе, архив может быть и не нужен - имеет смысл упражнятся на относительно недавных котировках. А в этом случае скрипты принудительной подгрузки тоже лишние. Достаточно, чтобы все требуемые инструменты индекса были включены в обзоре рынка. Тогда обращение к отсутствующим котировкам автоматически вызывает их подгрузку. Т.е. с первого раза индюк не рассчитается, а вот со второй попытки уже может (зависит от скорости соединения).
 
Prival писал(а) >>


С весной Вас.

Наслышан... Легенда форума.
Куда смотреть чтоб торговать доходно?

Причина обращения: