Отслеживание появления новых тиков на нескольких парах одновременно - страница 2

 
Fduch писал(а) >>

... Как же все-таки не хватает документации по WinUser32

MSDN, а если нет проблем качнуть лишний гиг Windows Platform SDK

 
Zhunko писал(а) >>

Надо в индикаторе контроллировать изменение времени этой функцией:

По изменению значения обновлять график этим:

Ставлю на графики с EURGBP и GBPUSD советник с таким кодом:

#include <WinUser32.mqh>
#include <stdlib.mqh>
int start()
{
   PostMessageA(GlobalVariableCheck("expert_window_handle"), WM_COMMAND, 33324, 0);
}

Ставлю на EURUSD индикатор с таким кодом:

#property indicator_chart_window

int handle=-1; 
double eur_usd;double eur_gbp;double gbp_usd;
double eur_usd_diver;double eur_gbp_diver;double gbp_usd_diver;

int init()
{
   GlobalVariableSet("expert_window_handle",WindowHandle(Symbol(),0));  
   handle=FileOpen("diver_searcher.txt",FILE_READ | FILE_WRITE," ");
   return(0);
}

int start()
{
   if(handle==-1)
   {
      Alert("Ошибка открытия файла для записи");
      return(0);
   }
   eur_usd=MarketInfo("EURUSD",MODE_ASK);
   eur_gbp=MarketInfo("EURGBP",MODE_ASK);
   gbp_usd=MarketInfo("GBPUSD",MODE_ASK);
   Calculate_diver();
   FileWrite(handle,TimeToStr(TimeCurrent()),eur_usd_diver,eur_gbp_diver,gbp_usd_diver);
   Comment("EURUSD: ",DoubleToStr(eur_usd_diver*10000,0)," | ",eur_usd,"\n","EURGBP:",DoubleToStr(eur_gbp_diver*10000,0)," | ",eur_gbp,"\n","GBPUSD: ",DoubleToStr(gbp_usd_diver*10000,0)," | ",gbp_usd);
   return(0);
}

int deinit()
{
   FileWrite(handle,"Конец торговой сессии:",TimeToStr(TimeLocal()));
   FileClose(handle);
   return(0);
}
По пришествии новых тиков на графиках EURGBP и GBPUSD индикатор, стоящий на EURUSD, не выполняется.. Может, чего-то еще не хватает?
 
Fduch >>:

Ставлю на графики с EURGBP и GBPUSD советник с таким кодом:

Ставлю на EURUSD индикатор с таким кодом:

По пришествии новых тиков на графиках EURGBP и GBPUSD индикатор, стоящий на EURUSD, не выполняется.. Может, чего-то еще не хватает?

Поменяйте в коде эксперта функцию GlobalVariableCheck() на GlobalVariableGet().

 
Ilnur писал(а) >>

Поменяйте в коде эксперта функцию GlobalVariableCheck() на GlobalVariableGet().

Спасибо огромное! Теперь все прекрасно работает! Выкладываю индикатор, может кому-то будет интересен.

Файлы:
 
Чтобы он правильно работал на кроссах от основной пары, на которой стоит индикатор, должен стоять советник signal_sender.
Файлы:
Причина обращения: