on tick и on time

 
Можно ли одновременно запустить on tick и on time? Т.е. будут ли эти события обрабатываться одновременно или же пока одно не обработается другое не начнет обрабатываться?
 
Насколько я понимаю, каждому советнику выделяется один поток. Поэтому распараллелить его выполнение можно только запуском двух и более экспертов. Значит, для начала обработки какого-либо события в рамках одного эксперта необходимо ждать окончания работы текущей функции.
 
А можно ли как то из своей Dll вывзвать OrderSend?
 
зачем ? Используй 2 советника. Используй magik? чтоб каждый работал со своими ордерами
 
emelenium:
А можно ли как то из своей Dll вывзвать OrderSend?

Никак. Только при помощи взаимодействия с экспертом(ами).
 
Спасибо, а можно тогда как то запустить скрипт из советника?
 
emelenium:
Спасибо, а можно тогда как то запустить скрипт из советника?


Средствами MQL4 - нет. При помощи WinAPI:

#define SCRIPT_NAME "Script"
#define MT4_MESSAGE "MetaTrader4_Internal_Message"

PostMessageA(hChart, RegisterWindowMessageA(MT4_MESSAGE), 16, SCRIPT_NAME);

 где hChart - дескриптор окна чарта, в котором необходимо запустить скрипт.

 
https://forum.mql4.com/ru/62194
 
Scriptong:


Средствами MQL4 - нет. При помощи WinAPI:

 где hChart - дескриптор окна чарта, в котором необходимо запустить скрипт.

Спасибо! Дуамаю то что нужно!!!
 

не работает чего то

 

#import "user32.dll"
int RegisterWindowMessageA (string param);
#import 

#define SCRIPT_NAME "Shutdown.mq4"
#define MT4_MESSAGE "MetaTrader4_Internal_Message" 

PostMessageA(WindowHandle(Symbol(),PERIOD_CURRENT),RegisterWindowMessageA(MT4_MESSAGE), 16, SCRIPT_NAME);

 

почему может не работать?

 
emelenium:

не работает чего то

 

#import "user32.dll"
int RegisterWindowMessageA (string param);
#import 

#define SCRIPT_NAME "Shutdown.mq4"
#define MT4_MESSAGE "MetaTrader4_Internal_Message" 

PostMessageA(WindowHandle(Symbol(),PERIOD_CURRENT),RegisterWindowMessageA(MT4_MESSAGE), 16, SCRIPT_NAME);

 

почему может не работать?


Потому что при помощи PostMessage нельзя передавать адреса переменных в памяти. В Вашем случае "Shutdown.mq4"

При помощи SendMessage - можно

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