Ошибки, баги, вопросы - страница 671

 

Бывает ошибка сразу без переключения периода.

Как с этим бороться вообще не понятно, такой вариант тоже не работает:

void OnTimer()//int 08
{
static bool b_Flag = false;

   if (b_Flag == true) return;//ret -- реентерабельность --
   b_Flag = true;//cli
   

string db_SymbolName;
//MqlRates rates[100];
int edx;
double           open_array[1];      // массив для копирования цен открытия
double           close_array[1];      // массив для копирования цен закрытия
   
   
   //---------------------------------------------
   for (int ebx = 0; ebx < ecx; ebx++){
      db_SymbolName = g_s_SymbolsTrade[ebx];
      //edx=CopyRates(db_SymbolName,_Period,0,1,rates);
      edx = 0;//xor edx,edx
      edx += CopyOpen(db_SymbolName,_Period,0,1,open_array);
      edx += CopyClose(db_SymbolName,_Period,0,1,close_array);
      if (edx != 2){//cmp edx,2 | jne
         b_Flag = false;//sti
         return;//jne ret;
      }   
   }//loop ecx       
   Print ("Загрузка завершена.");
   //---------------------------------------------
   b_Flag = false;//sti
}

По одному инструменту за тик, даже если заработает тоже не выход, так как для InstaForex гружу 108 пар:

string g_s_SymbolsTrade[] = {"EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD","AUDUSD","AUDCAD","AUDCHF","AUDJPY","EURGBP","EURCHF","EURJPY","NZDUSD","AUDNZD",
"EURNZD","EURCAD","GBPAUD","GBPCAD","GBPNZD","CHFJPY","CADCHF","CADJPY","NZDCAD","NZDCHF","NZDJPY","EURAUD","GBPCHF","GBPJPY","AUDCZK","AUDDKK","AUDHKD",
"AUDHUF","AUDMXN","AUDNOK","AUDPLN","AUDSEK","AUDSGD","AUDZAR","CADCZK","CADDKK","CADHKD","CADHUF","CADMXN","CADNOK","CADPLN","CADSEK","CADSGD","CADZAR",
"CHFCZK","CHFDKK","CHFHKD","CHFHUF","CHFMXN","CHFNOK","CHFPLN","CHFSEK","CHFSGD","CHFZAR","CZKJPY","DKKJPY","EURCZK","EURDKK","EURHKD","EURHUF","EURMXN",
"EURNOK","EURPLN","EURSEK","EURSGD","EURZAR","GBPCZK","GBPDKK","GBPHKD","GBPHUF","GBPMXN","GBPNOK","GBPPLN","GBPSEK","GBPSGD","GBPZAR","HKDJPY","HUFJPY",
"MXNJPY","NOKJPY","NZDCZK","NZDDKK","NZDHKD","NZDHUF","NZDMXN","NZDNOK","NZDPLN","NZDSEK","NZDSGD","NZDZAR","SEKJPY","SGDJPY","USDCZK","USDHKD","USDHUF",

"USDMXN","USDPLN","USDSGD","ZARJPY","USDDKK","USDNOK","USDRUR","USDSEK","USDZAR"};

на минутах пока последнюю пару загрузишь бар уже поменялся.

Может есть другой способ в течении минуты получить Open и Close по всем валютным парам?

 
pusheax:

...

Может есть другой способ в течении минуты получить Open и Close по всем валютным парам?

Вы можете получать данные мгновенно, запуская цикл перебора по всем инструментам SymbolsTotal() в окне Обзор Рынка по приходу тика по любому из них или каждую секунду, если это нужно.

int  SymbolsTotal(
   bool  selected      // true – только символы в MarketWatch
   );
 
 
tol64:

Вы можете получать данные мгновенно, запуская цикл перебора по всем инструментам SymbolsTotal() в окне Обзор Рынка по приходу тика по любому из них или каждую секунду, если это нужно.

 

Я не понял, каким образом я получу цены Открытия и Закрытия?

Не подскажите, кроме функций: CopyRates, CopyOpen и CopyClose есть какие нибудь другие альтернативные способы загрузки?

 
pusheax:
Я не понял, каким образом я получу цены Открытия и Закрытия?

Проходя по всем символам в окне Обзор Рынка по индексу получайте имя символа с помощью функции  SymbolName()

string  SymbolName(
   int   pos,          // номер в списке
   bool  selected      // true – только символы в MarketWatch
   );
А далее по имени символа получаете нужные данные.
 
pusheax:

...

Не подскажите, кроме функций: CopyRates, CopyOpen и CopyClose есть какие нибудь другие альтернативные способы загрузки?

Отличные функции. Других вариантов не знаю. ))) Пользуйтесь.
 
Есть ли способ, чтобы гистограмма или бары рисовались слитно, без расстояния между значениями? Такая отрисовка, например, получается если масштаб сделать минимальным.
 
progeon:

Есть ли способ, чтобы гистограмма или бары рисовались слитно, без расстояния между значениями? Такая отрисовка, например, получается если масштаб сделать минимальным.
Стили можно задавать вот так:
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
А ещё можно определять масштаб графика и в зависимости от масштаба программно регулировать ширину линий. Можно ещё вместо гистограммы рисовать линией. Соединять точки, а нижнюю часть закрашивать, как это сделано в этом индикаторе: STALIN
 
pusheax:

Я не понял, каким образом я получу цены Открытия и Закрытия?

Не подскажите, кроме функций: CopyRates, CopyOpen и CopyClose есть какие нибудь другие альтернативные способы загрузки?

У тебя на компе сколько оперативной памяти?
 
MetaDriver:
У тебя на компе сколько оперативной памяти?
На компе 2 гб.

Я просто решил не переключать таймфреймы. Надеюсь, что тогда будет работать более менее стабильно.

Пока вроде работает.

 
pusheax:
На компе 2 гб.

Я просто решил не переключать таймфреймы. Надеюсь, что тогда будет работать более менее стабильно.

Пока вроде работает.

А баров в окне сколько стоит? 

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