Народ, подскажите как лучше всего сделать вычисление всех таймфреймов выше Н1, на основе Н1...

 

Встала проблема... так как анализирую практически все валютные пары, на таймфреймах М15, H1, H4, D, W, M то количество графиков просто катастрофическое... сейчас свыше 60, что дальше будет вообще страшно представить, так как хочу в перспективе использовать еще и акции и вообще все доступные инструменты...

Пишу советники, которые показывают основное направления рынка, для входа в сделки с абсолютно низким риском... поэтому вариантов нет, либо открывать все графики, либо совершать пересчет на основе Н1...

кто что скажет?

 
S4kam:

Встала проблема... так как анализирую практически все валютные пары, на таймфреймах М15, H1, H4, D, W, M то количество графиков просто катастрофическое... сейчас свыше 60, что дальше будет вообще страшно представить, так как хочу в перспективе использовать еще и акции и вообще все доступные инструменты...

Пишу советники, которые показывают основное направления рынка, для входа в сделки с абсолютно низким риском... поэтому вариантов нет, либо открывать все графики, либо совершать пересчет на основе Н1...

кто что скажет?

Перекинуть все котировки в СУБД, индексы по времени (для синхронизации) и делать запросы. Для одного инструмента скорость может и упадет, а для группы вырастет существенно.

 

Стоп. А зачем открывать графики?

Если работает советник (советники), графики можно не открывать. Результаты по всем парам/таймфреймам можно выводить в одно окно.

 

Задать такой массивчик не пробовали?

string      Para[]={"EURUSD","EURGBP","EURCHF","EURJPY","EURAUD","EURCAD","EURNZD",
                    "GBPUSD","USDCHF","USDJPY","AUDUSD","USDCAD","NZDUSD","GBPCHF",
                    "GBPJPY","GBPAUD","GBPCAD","NZDGBP","CHFJPY","AUDCHF","CADCHF",
                    "NZDCHF","AUDJPY","CADJPY","NZDJPY","AUDCAD","AUDNZD","NZDCAD"};
 
kharko:

Задать такой массивчик не пробовали?

string      Para[]={"EURUSD","EURGBP","EURCHF","EURJPY","EURAUD","EURCAD","EURNZD",
                    "GBPUSD","USDCHF","USDJPY","AUDUSD","USDCAD","NZDUSD","GBPCHF",
                    "GBPJPY","GBPAUD","GBPCAD","NZDGBP","CHFJPY","AUDCHF","CADCHF",
                    "NZDCHF","AUDJPY","CADJPY","NZDJPY","AUDCAD","AUDNZD","NZDCAD"};

А может лучше так? :)

  string  Curr[]={ "USD", "EUR", "GBP", "JPY", "CHF" , "CAD", "AUD", "NZD" };
  string  Symbols[64];
  int n=0;
  for (int i=0; i<ArraySize(Curr); i++)
    for (int j=0; j<ArraySize(Curr); j++)
    {
      string symbol=Curr[i]+Curr[j];
      if (MarketInfo(symbol,MODE_BID)>0)  { Symbols[n]=symbol;  n++; }
     }