[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 37

 
Можно и проще сделать, перезапускать терминал каждый час сторонней прогой, эти ошибки не часто выскакивают, раз-два в сутки...
 
Кажется придумал. Нужно из советника дать команду на перезапуск Windows(без пароля на вход), а теминал поставить в автозагрузку ОС. Спасибо за варианты.
 
DmitriyN:

Зависит от типа системы. Чем больше, тем меньше залог, тем лучше. Но, при этом нужно учитывать то, что ДЦ может поменять плечо: некоторые это делают периодически, некоторые - меняют его при увеличении депозита свыше определённой суммы. Уменьшение плеча - эффективный инструмент ДЦ. При использовании мартингейл-подобных систем лучше работать с плечом 1:200 и выше, лучше - 1:500...1:1000.

Спасибо за разъяснение.
 
-Aleksey-:
Кажется придумал. Нужно из советника дать команду на перезапуск Windows(без пароля на вход), а теминал поставить в автозагрузку ОС. Спасибо за варианты.
Слишком глобально и достаточно медленно. Было бы достаточно мониторить активность терминала прогой RestartOnCrash, а при обрыве связи дать команду Alt+F4 на терминал (в скрипте через ВинАпи), та программка сама его быстренько запустит обратно.
 
evillive:
Слишком глобально и достаточно медленно. Было бы достаточно мониторить активность терминала прогой RestartOnCrash, а при обрыве связи дать команду Alt+F4 на терминал (в скрипте через ВинАпи), та программка сама его быстренько запустит обратно.
Обрыв связи: ошибка 6 у меня обрабатывается самим советником через рескан серверов. Пример нашел на форуме. Или вы про другую ошибку? Программу посмотрю, спасибо.
 
General Error тоже ведёт к обрыву связи. Выше я написал что себе в терминал я поставил скрипт s-Reconnect, он отрабатывает такие ошибки как No connection и General Error, при их возникновении перелогинивается и всё. Но проще терминал перезапускать при любой такой ошибке, это примерно столько же времени займёт.
 

Вот этот скрипт restart.vbs осуществляет перезагрузку терминала. А как его запустить из советника?

'+++++++++++++++++++++
'terminate application
'+++++++++++++++++++++
Const strComputer = "." 
Dim objWMIService, colProcessList
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'terminal.exe'")
For Each objProcess in colProcessList 
   objProcess.Terminate() 
Next
Set objWMIService = Nothing
Set colProcessList = Nothing
'+++++++++++++
'waiting pause
'+++++++++++++
WScript.Sleep 5000
'++++++++++++++++
'run appplication
'++++++++++++++++
Dim ProgramPath, objShell
ProgramPath = "D:\Program Files\Metatrader\terminal.exe"
Set objShell = createobject("Wscript.Shell")
objShell.Run Quote(ProgramPath), 1
Set objShell = Nothing
'+++++++++++++++++
'quotes processing
'+++++++++++++++++
Function Quote(sText)
    Quote = chr(34) & sText & chr(34)
End Function
 
-Aleksey-:

Вот этот скрипт restart.vbs осуществляет перезагрузку терминала. А как его запустить из советника?


Не надо из советника. Можно раз в полчаса-час этот скрипт запускать через планировщик.
 
evillive:

Не надо из советника. Можно раз в полчаса-час этот скрипт запускать через планировщик.
Почему не надо, если ошибка советником обнаружена? За полчаса можно профукать выставление или модификацию ордера. Что такое планировщик - никогда не пользовался...?
 

Ну тогда вот https://www.mql5.com/ru/forum/106619

Планировщик заданий в Виндовс, позволяет выполнять разные действия типа отправки почты, запуска приложений/скриптов/батников и т.п. по расписанию или по сигналу.

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