Метатрейдер 4 не восстанавливает связь с сервером брокера ! Помогите разобраться. - страница 3

 
я не намекал, извини если я тебя задел. Разве не смешные анекдоты? Я хохотал долго.

Da vse vrode poniatno i smeshno ;D Prosto vidno ge, 4to v MetaQuotes etomu tovarishy vse "dolgni" vidimo, i eto kak minimum. 4to ge Vi tak, uvagaemie MQ, "dolgni", a sami otvetov ne daete, kotorie b ustraivali ;x LOL (sutka umora aka kalambur).
 
Никто мне ничего не должен. Я спросил - мне ответили. Тема закрыта.
Кому что показалось - это ваши личные проблемы.
 
"тема закрыта".
Жаль, я надеялся что ты все таки не отстанешь, и будешь бомбить до победного конца, проблема ведь есть и ее причину нужно найти. А по поводу моего невежества в области виртуальных машин ты не ошибся :)
 
2 Renat : А функцию принудительного рекконекта во встроенный язык добавить можете ?
 
2 Renat : А функцию принудительного рекконекта во встроенный язык добавить можете ?

К сожалению, нет. Это не имеет никакого отношения к терминалу. Терминал должен и работает самостоятельно, если у компьютера все нормально с сетью.
 
2 Renat : А функцию принудительного рекконекта во встроенный язык добавить можете ?

Тебе надо выполнить функцию менюшки "Пересканировать серверы"? Это можно сделать через SendMessage.
 
Отлично. А поподробней ? - к концу дня я уже не такой сообразительный :)
Это как-то связано с подключением DLL User32.dll ?
Общее направление понятно - подключаем ДЛЛ-ку и в советнике перед расчетом данных или выставлении ордеров или периодично делаем ресканирование серверов - при этом связь восстанавливается (если она конечно пропадала). Спасибо. Тока какое сообщение посылать ?

Кстати у многих людей еще в 198 билде были аналогичные проблемы со связью без каких либо виртуальных машин : "Проблема со связью"

Так может все-таки на той стороне искать ?
 
Отлично. А поподробней ? - к концу дня я уже не такой сообразительный :)
Это как-то связано с подключением DLL User32.dll ?

Вот скрипт, который это выполняет:
#include <winuser32.mqh>
#import "user32.dll"
int GetParent(int hWnd);
#import

int start()
{
	int hwnd = WindowHandle(Symbol(), Period()); // получаем хендл окна графика
	hwnd = GetParent(hwnd); // получаем хендл родительского окна
	hwnd = GetParent(hwnd); // ...
	hwnd = GetParent(hwnd); //добираемся до главного окна
	PostMessageA(h, WM_COMMAND, 37400, 0); //посылаем сообщене 
	return;
}


Вместо PostMessageA можно использовать SendMessageA - разница в том, что PostMessageA завершает свою работу не дождавшись результата выполнения команды, а SendMessageA ждёт выполнения команды и возвращает результат. В данном случае результат должен быть равен 1.
Описание используемый апи-функций можно посмотреть в MSDN:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/getparent.asp
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/postmessage.asp
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/sendmessage.asp
Кстати, вместо 37400 можно подставлять другие значения - будут выполняться другие команды меню.:)

 
Проверяю уже.
 
Я в предыдущем посте допустил небольшую ошибку, там надо было вместо h писать hwnd. Сейчас уже исправил.
1CAdmin, как проверишь, скажи результат.
Причина обращения: