Скрипт

 
Можно ли написать такой скрипт который при закрытии ордера например я закрываю ордер с телефона терминал стоит дома работает включен советник при закрытии ордера терминал тоже закрывался?
 
TerminalClose();
 
Что это значит?
 
Дмитрий Дойков:
Что это значит?
Это функция, вызов которой из советника или скрипта приводит к закрытию терминала на следующим за вызовом функции тике.
 
Дмитрий Дойков:
Можно ли написать такой скрипт который при закрытии ордера например я закрываю ордер с телефона терминал стоит дома работает включен советник при закрытии ордера терминал тоже закрывался?


Казнить нельзя помиловать

 
А нету желания сделать такой? За ₽ или $ ?
 
Дмитрий Дойков:
Можно ли написать такой скрипт который при закрытии ордера например я закрываю ордер с телефона терминал стоит дома работает включен советник при закрытии ордера терминал тоже закрывался?
А если ордер закрылся по СЛ или ТП - тоже закрывать терминал? Тогда надо просто чтоб эксперт открывал лишь один ордер!!!  А сделать - это во фриланс
 
Дмитрий Дойков:
А нету желания сделать такой? За ₽ или $ ?

вопросы про что-то за деньги - это фриланс.

а уж там любая вещь которую можно сформулировать возможна

 
STARIJ:
А если ордер закрылся по СЛ или ТП - тоже закрывать терминал? Тогда надо просто чтоб эксперт открывал лишь один ордер!!!  А сделать - это во фриланс

Можно ввести контроль остатков открытых позиций, и если некоторая закрылась, но в рынке есть ещё, то терминал не закрывать, а закрывать только тогда, когда закрыта последняя.

 
Дмитрий Дойков:
Можно ли написать такой скрипт который при закрытии ордера например я закрываю ордер с телефона терминал стоит дома работает включен советник при закрытии ордера терминал тоже закрывался?

А может лучше использовать  ExpertRemove()

 
Дмитрий Дойков:
Можно ли написать такой скрипт который при закрытии ордера например я закрываю ордер с телефона терминал стоит дома работает включен советник при закрытии ордера терминал тоже закрывался?

Еле нашёл в закромах старых не проверенных функций... Но это было так давно.... Просто для интереса выложил.

Способ программного закрытия терминала.
Как посоветовал многоуважаемый Dedushka - это как раз то, что нужно при MarginCall.
#include <WinUser32.mqh>

int start()
 {
  int hwnd = WindowHandle(Symbol(), Period());
  int hwnd_parent = 0;

  while(!IsStopped())
   {
     hwnd = GetParent(hwnd);
     if (hwnd == 0) break;
     hwnd_parent = hwnd;
   }

  if(hwnd_parent != 0)
   PostMessageA(hwnd_parent, WM_CLOSE, 0, 0);

  return(0);
 }


Но это очень старый вариант, возможно требует исправления или даже уже не работает.

Причина обращения: