//+------------------------------------------------------------------+ //| InitAllIndicators.mq4 | //| (C)opyright © 2008, Ilnur | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ // Ñêðèïò äëÿ ïåðåèíèöèàëèçàöèè âñåõ èíäèêàòîðîâ, ïðèêðåïëåííûõ òåêóùåìó îêíó. // Äëÿ ðàáîòû ñêðèïòà íåîáõîäèìî ðàçðåøèòü âûçîâ ôóíêöèé èç ñèñòåìíûõ DLL: // Ñåðâèñ -> Íàñòðîéêè -> Ñîâåòíèêè -> Ðàçðåøèòü èìïîðò DLL. #property copyright "(C)opyright © 2008, Ilnur" #property link "http://www.metaquotes.net" #include <WinUser32.mqh> #import "user32.dll" int GetAncestor(int hWnd, int gaFlags); int GetLastActivePopup(int hWnd); int GetDlgItem(int hDlg, int nIDDlgItem); #import #define PAUSE 100 #define VK_HOME 0x24 #define VK_DOWN 0x28 #define GA_ROOT 2 #define TVM_GETCOUNT 0x1105 //+------------------------------------------------------------------+ //| Âûçûâàåò îêíî "Ñïèñîê èíäèêàòîðîâ" è âîçâðàùàåò åãî äåñêðèïòîð | //+------------------------------------------------------------------+ int GetListDialog(int hOwnedWnd) { int hDlgWnd; //---- âûçûâàåì îêíî "Ñïèñîê èíäèêàòîðîâ" PostMessageA(hOwnedWnd,WM_COMMAND,35419,0); Sleep(PAUSE); //---- îïðåäåëÿåì äåñêðèïòîð îêíà hDlgWnd = GetLastActivePopup(hOwnedWnd); //---- return(hDlgWnd); } //+------------------------------------------------------------------+ //| Âûçûâàåò îêíî ñâîéñòâ èíäèêàòîðà è âîçâðàùàåò åãî äåñêðèïòîð | //+------------------------------------------------------------------+ int GetPropertyDialog(int hOwnedWnd, int hListDlg) { int hDlgWnd; //---- âûçûâàåì îêíî ñâîéñòâ âûáðàííîãî èíäèêàòîðà PostMessageA(hListDlg,WM_COMMAND,0x48B,GetDlgItem(hListDlg,0x48B)); Sleep(PAUSE); //---- îïðåäåëÿåì äåñêðèïòîð îêíà hDlgWnd = GetLastActivePopup(hOwnedWnd); //---- return(hDlgWnd); } //+------------------------------------------------------------------+ //| Îñíîâíàÿ ôóíêöèÿ ñêðèïòà | //+------------------------------------------------------------------+ void start() { int hParentWnd, hListDlg, hTreeView, hPropDlg; int nTreeCount; //---- ïîëó÷àåì äåñêðèïòîð îñíîâíîãî îêíà òåðìèíàëà hParentWnd = GetAncestor(WindowHandle(Symbol(),Period()),GA_ROOT); if(hParentWnd!=0) { //---- âûçûâàåì îêíî "Ñïèñîê èíäèêàòîðîâ" hListDlg = GetListDialog(hParentWnd); //---- íàõîäèì ñïèñîê èíäèêàòîðîâ hTreeView = GetDlgItem(hListDlg,0x48C); // //---- îïðåäåëÿåì îáùóþ äëèíó ñïèñêà nTreeCount = SendMessageA(hTreeView,TVM_GETCOUNT,0,0); //---- óñòàíàâëèâàåì êóðñîð íà âåðõíåé ñòðî÷êå ñïèñêà PostMessageA(hTreeView,WM_KEYDOWN,VK_HOME,0); //---- â öèêëå ïåðåáèðàåì âåñü ñïèñîê for(int i=1; i<nTreeCount; i++) { //---- ñìåùàåì êóðñîð íà ñëåäóþùóþ ïîçèöèþ ñïèñêà PostMessageA(hTreeView,WM_KEYDOWN,VK_DOWN,0); //---- ïðîâåðÿåì àêòèâíîñòü êíîïêè "Ñâîéñòâà" if(IsWindowEnabled(GetDlgItem(hListDlg,0x48B))==0) continue; //---- âûçûâàåì îêíî ñâîéñòâ âûäåëåííîãî èíäèêàòîðà hPropDlg = GetPropertyDialog(hParentWnd,hListDlg); //---- íàæèìàåì êíîïêó "ÎÊ" PostMessageA(hPropDlg,WM_COMMAND,0x001,GetDlgItem(hPropDlg,0x001)); } //---- çàêðûâàåì îêíî "Ñïèñîê èíäèêàòîðîâ" PostMessageA(hListDlg,WM_COMMAND,0x001,GetDlgItem(hListDlg,0x001)); } }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
user32
Order Management characteristics:
Other Features: