Как программно сменить таймфрейм?

 
Собственно, тема.
 
//+------------------------------------------------------------------+
//| Функция смены таймфрейма                                               |
//+------------------------------------------------------------------+
void fChangePeriod(int nPeriod)
{
   int hWnd, wParam;
   
   switch(nPeriod)
   {
      case PERIOD_M1:  wParam = 33137; break;
      case PERIOD_M5:  wParam = 33138; break;
      case PERIOD_M15: wParam = 33139; break;
      case PERIOD_M30: wParam = 33140; break;
      case PERIOD_H1:  wParam = 33135; break;
      case PERIOD_H4:  wParam = 33136; break;
      case PERIOD_D1:  wParam = 33134; break;
      case PERIOD_W1:  wParam = 33141; break;
      case PERIOD_MN1: wParam = 33334; break;
   }
	
   hWnd = WindowHandle(Symbol(),Period());
	
   PostMessageA(hWnd,WM_COMMAND,wParam,0);
}
 

Спасибо!

Расширенный ответ лежит здесь... 'research по теме кодов к PostMessageA'

 
вот теперь, с помощью этих возможностей, я и на свой вопрос смогу ответить! 'Возможно ли написать скрипт...'
 
Спасибо за Очень исчерпывающий ответ.
 
Что-то у меня всё виснет при вызове данной функции.
 
zfs >>:
Что-то у меня всё виснет при вызове данной функции.

разрешение DLL выставили ?

 
YuraZ >>:

разрешение DLL выставили ?


Выставил. Это не помогает.

 

Русский язык такой многогранный... (а может и не только русский ;))).

"Сменить программно т-ф" можно понять как тоже самое что мышом ткнуть например на М30,

так и "сменить" т-ф чисто программно... например задав параметр переменной:

int TF=1440;
double whois;
//---
whois=iMa(sim,TF,0,0,0);
которую и можно менять программно как угодно.
 
kombat >>:

Русский язык такой многогранный... (а может и не только русский ;))).

"Сменить программно т-ф" можно понять как тоже самое что мышом ткнуть например на М30,

так и "сменить" т-ф чисто программно... например задав параметр переменной:

которую и можно менять программно как угодно.


Так мы уже умеем.

 
zfs писал(а) >>

Так мы уже умеем.

Лучше индикатор переделать.