Скачать MetaTrader 5

Проверка наличия скрипта на графике из эксперта и нажатие горячих клавиш.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Grigoriy Malychenko
3876
Grigoriy Malychenko  
Подскажите, как из советника проверить прикреплен-ли к графику скрипт и если нет, то нажать программно горячие клавиши запускающие скрипт?
Рустам
3597
Рустам  
зачем?
Grigoriy Malychenko
3876
Grigoriy Malychenko  

Терминал стоит на VPS, на график ставится скрипт для мониторинга состояния счетов из списка избранных. В случае перезагрузки сервера и соответственно перезапуска терминала, скрипт с графика удаляется. Нужно с некоторой периодичностью проверять из советника присутствие скрипта на графике и если его по какой-то причине там нет, то программно запустить сочетанием клавиш.

Пробовал сделать из скрипта советник, но перестает нормально работать из-за поступающих тиков.

Рустам
3597
Рустам  
Поставьте на автозагрузку. Да уж... это по поводу невозможности переделать скрипт в советник... Нет слов... Может легче денег заплатить... Я себе представляю что там за мониторинг
Grigoriy Malychenko
3876
Grigoriy Malychenko  

А по существу что-то сказать можете? Мониторинг нормальный, данные обновляются как и положено.

Вот у меня в start() такой код:

int init()
{
 int i;
  
  Pause *= 1000;
 
for (i = 1; i <= Amount; i++)
  {
    Login(i);
    Sleep(Pause);


if(i==Amount)
    {
    i = 0;
    }
  }
   return(0);
}

Если запускаю в советнике то выполнение цикла начинается сначала при поступлении нового тика. Как решить эту проблему, не знаю. В mql почти ничего еще не понимаю...

Vadim Zhunko
5226
Vadim Zhunko  
WebProger:

А по существу что-то сказать можете? Мониторинг нормальный, данные обновляются как и положено.

Вот у меня в start() такой код:

Если запускаю в советнике то выполнение цикла начинается сначала при поступлении нового тика. Как решить эту проблему, не знаю. В mql почти ничего еще не понимаю...

Так попробуйте:

void start()
{
 while (!IsStopped())
  {
   int i;
   for (i = 1; i <= Amount; i++)
    {
     Login(i);
     Sleep(500);
     if (i == Amount) i = 0;
    }
   Sleep(500);
  }
}
Рустам
3597
Рустам  
Запускайте все в ините
Grigoriy Malychenko
3876
Grigoriy Malychenko  
Так и сделал, но цикл сбрасывается из-за тиков или перелогинивания на другой счет.
Рустам
3597
Рустам  
перелогин вам мешает, тики не причем. Надо писать внешнее приложение которое будет управлять терминалом и общаться с сайтом.
Grigoriy Malychenko
3876
Grigoriy Malychenko  

Прикрутил советник на базе кода выложенного тут https://www.mql5.com/ru/code/10447 но скрипт на график добавляется после каждого перелогинивания. Похоже решить эту проблему не получится.

Тогда придется следить за скриптом и сервером вручную.

Рустам
3597
Рустам  
в терминале : F1\клиентский терминал\сервис\конфиг при старте
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий