Например, так:
extern int fSignal=1;
if (fSignal==1) {..........здесь код вашего робота.............;}
------------------------------------------------------------------------------------------
Можете глобальную переменную терминала взять в качестве условия.
GlobalVariableSet("fSignal", 1);
if (GlobalVariableGet("fSignal")==1) {..........здесь код вашего робота.............;}
Помнится, глобальные переменные видны во всем терминале, т.е. и во-всех роботах сразу. Посмотрите справку, глобальные переменные.
Получается если я создал в Роботе1 (в коде) переменую допустим "Signal" и ту же самую переменую Роботе2, они будут синронизироватся между собой?
Например, так:
extern int fSignal=1;
if (fSignal==1) {..........здесь код вашего робота.............;}
------------------------------------------------------------------------------------------
Можете глобальную переменную терминала взять в качестве условия.
GlobalVariableSet("fSignal", 1);
if (GlobalVariableGet("fSignal")==1) {..........здесь код вашего робота.............;}
А если первый робот1 находит сигнал посылает роботу2 что бы тот открывал ордера,?
Переменная-условие создаётся только в Роботе1, а потом в зависимости какое у неё значение она запустит Робота2.
Я хотел бы посылать от нескольких Скриптов или Роботов (Они работают как индикаторы) в один Общий Робот который открывает ордера.
Мне нужно создать Глобальную переменную в Индикаторных Роботах или Скриптах?
Глобальную переменную создаёт тот скрипт, который хочет запустить общего робота.
Ну, например...имеем Script_1, Script_2 и Robot_general.
Допустим, Script_1 хочет запустить Robot_general, пишем в Script_1:
GlobalVariableSet("fScript_1", 1);
Тогда в коде Robot_general добавим:
if (GlobalVariableGet("fScript_1")==1) {..........здесь пишем то, что должен сделать Robot_general.............;}
----------------------------------------------------------------------------------------------------------------------------
Аналогично, если Script_2 хочет запустить Robot_general, пишем в Script_2:
GlobalVariableSet("fScript_2", 2);
Тогда в коде Robot_general добавим:
if (GlobalVariableGet("fScript_2")==2) {..........здесь пишем то, что должен сделать Robot_general.............;}
Глобальную переменную создаёт тот скрипт, который хочет запустить общего робота.
Ну, например...имеем Script_1, Script_2 и Robot_general.
Допустим, Script_1 хочет запустить Robot_general, пишем в Script_1:
GlobalVariableSet("fScript_1", 1);
Тогда в коде Robot_general добавим:
if (GlobalVariableGet("fScript_1")==1) {..........здесь пишем то, что должен сделать Robot_general.............;}
----------------------------------------------------------------------------------------------------------------------------
Аналогично, если Script_2 хочет запустить Robot_general, пишем в Script_2:
GlobalVariableSet("fScript_2", 2);
Тогда в коде Robot_general добавим:
if (GlobalVariableGet("fScript_2")==2) {..........здесь пишем то, что должен сделать Robot_general.............;}
В принципе все правильно. Но не запустить Robot general, а разрешить ему выполнять какие-то действия. И учтите - на одном окне может быть поставлен только один робот. И наверное так
//SCRIPT1 { int m=0x1 int n=GlobalVariableGet("fScript"); m=(0x3 & n) | m; GlobalVariableSet("fScript",m); } //SCRIPT2 { int m=0x2 int n=GlobalVariableGet("fScript"); m=(0x3 & n) | m; GlobalVariableSet("fScript",m); } {//Это уже в Robot general int m=GlobalVariableGet("fScript"); //преобразуем к целому if (m & 0x3 >0) {..........здесь пишем то, что должен сделать Robot_general.............;} //Выделяем два младших бита, если хотя бы какой-нибудь установлен скриптами, разрешаем работу Robot general m=0; GlobalVariableSet("fScript",m);//Сброрс всех флагов return(0); }
Спасибо!
Спасибо!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования