Смена таймфрейма на нескольких открытых графиках

binar123

Старейшина
Регистрация
27.04.14
Сообщения
1,208
Реакции
1,252
binar123 не предоставил никакой дополнительной информации.
Может кому понадобится скрипт,который одинм кликом сразу сменяется нужный таймфрейм во всех открытых графиках

код (взят из инета)
//+------------------------------------------------------------------+
//| ChangeTF-All-Charts.mq4 |
//| Copyright © 2010, zznbrm |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, zznbrm"
#property show_inputs
#property strict

#property description "Изменение таймфрейма на всех открытых графиках"
#property description "(!) Разрешить импорт функций из DLL"

#import "user32.dll"
int PostMessageA(int hWnd,intMsg,int wParam,int lParam);
int GetWindow(int hWnd,int uCmd);
int GetParent(int hWnd);
#import

extern ENUM_TIMEFRAMES timeframe = PERIOD_D1;// требуемый ТФ на всех графиках

void start(){
bool blnContinue =true;
int intParent =GetParent(WindowHandle(Symbol(),Period()));
int intChild =GetWindow(intParent,0);
int intCmd =0;

switch(timeframe){
case PERIOD_M1: intCmd =33137; break;
case PERIOD_M5: intCmd =33138; break;
case PERIOD_M15: intCmd =33139; break;
case PERIOD_M30: intCmd =33140; break;
case PERIOD_H1: intCmd =35400; break;
case PERIOD_H4: intCmd =33136; break;
case PERIOD_D1: intCmd =33134; break;
case PERIOD_W1: intCmd =33141; break;
case PERIOD_MN1: intCmd =33334; break;
}

if(intChild >0){
if(intChild != intParent)PostMessageA(intChild,0x0111, intCmd,0);
}
else blnContinue =false;

while(blnContinue){
intChild =GetWindow(intChild,2);
if(intChild >0){
if(intChild != intParent)PostMessageA(intChild,0x0111, intCmd,0);
}
else blnContinue =false;
}

// переход в тек.окно
PostMessageA(intParent,0x0111, intCmd,0);
}

чтобы скрипт запускался,нужно завершить несколько шагов
1.jpg
2.jpg

готовый скрипт (скинуть на папку Scripts)
 

Вложения

  • ChangeTF-All-Charts.ex4
    9.1 КБ · Просмотры: 50
  • ChangeTF-All-Charts.mq4
    1.9 КБ · Просмотры: 19
Последнее редактирование:

Nemo777

Старейшина
Регистрация
16.03.14
Сообщения
561
Реакции
774
Nemo777 не предоставил никакой дополнительной информации.
Может кому понадобится скрипт,который одинм кликом сразу сменяется нужный таймфрейм во всех открытых графиках

код (взят из инета)
//+------------------------------------------------------------------+
//| ChangeTF-All-Charts.mq4 |
//| Copyright © 2010, zznbrm |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, zznbrm"
#property show_inputs
#property strict

#property description "Изменение таймфрейма на всех открытых графиках"
#property description "(!) Разрешить импорт функций из DLL"

#import "user32.dll"
int PostMessageA(int hWnd,intMsg,int wParam,int lParam);
int GetWindow(int hWnd,int uCmd);
int GetParent(int hWnd);
#import

extern ENUM_TIMEFRAMES timeframe = PERIOD_D1;// требуемый ТФ на всех графиках

void start(){
bool blnContinue =true;
int intParent =GetParent(WindowHandle(Symbol(),Period()));
int intChild =GetWindow(intParent,0);
int intCmd =0;

switch(timeframe){
case PERIOD_M1: intCmd =33137; break;
case PERIOD_M5: intCmd =33138; break;
case PERIOD_M15: intCmd =33139; break;
case PERIOD_M30: intCmd =33140; break;
case PERIOD_H1: intCmd =35400; break;
case PERIOD_H4: intCmd =33136; break;
case PERIOD_D1: intCmd =33134; break;
case PERIOD_W1: intCmd =33141; break;
case PERIOD_MN1: intCmd =33334; break;
}

if(intChild >0){
if(intChild != intParent)PostMessageA(intChild,0x0111, intCmd,0);
}
else blnContinue =false;

while(blnContinue){
intChild =GetWindow(intChild,2);
if(intChild >0){
if(intChild != intParent)PostMessageA(intChild,0x0111, intCmd,0);
}
else blnContinue =false;
}

// переход в тек.окно
PostMessageA(intParent,0x0111, intCmd,0);
}

чтобы скрипт запускался,нужно завершить несколько шагов
Посмотреть вложение 33764
Посмотреть вложение 33765

готовый скрипт (скинуть на папку Scripts)
спасибо. забираю
 

Metascore

Местный
Регистрация
04.04.14
Сообщения
194
Реакции
105
Metascore не предоставил никакой дополнительной информации.
Дай я тебя расцелую дарагой! Даже не знал что такой скрипт существует!
 

Кира1521

Новичок
Регистрация
26.03.20
Сообщения
1
Реакции
0
Кира1521 не предоставил никакой дополнительной информации.
Сейчас в МТ4 данный скрипт уже, к сожалению, не работает.
При его активировании (double click) вообще ничего не происходит :(
Автообъединение сообщений:

Может кому понадобится скрипт,который одинм кликом сразу сменяется нужный таймфрейм во всех открытых графиках

Почему-то данный скрипт уже не работает...
 

Karunesh

Старейшина
Регистрация
21.02.15
Сообщения
770
Реакции
578
Karunesh не предоставил никакой дополнительной информации.
Сейчас в МТ4 данный скрипт уже, к сожалению, не работает.
При его активировании (double click) вообще ничего не происходит :(
Автообъединение сообщений:
Так может его кто отремонтирует? unnamed.jpg
 

binar123

Старейшина
Регистрация
27.04.14
Сообщения
1,208
Реакции
1,252
binar123 не предоставил никакой дополнительной информации.
Сейчас в МТ4 данный скрипт уже, к сожалению, не работает.
При его активировании (double click) вообще ничего не происходит :(
Автообъединение сообщений:
Привет,угу,данный файл был модифицирован со стороны кибератаки ? перезалил,удачи ?
 

Вложения

  • mp4.jpg
    mp4.jpg
    27.9 КБ · Просмотры: 21
Верх Низ