Скачать MetaTrader 5

Как отдать в МТ5 команду на сделку из сторонней программы ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Nemoys
258
Nemoys  

Привет

есть расчетная часть которая работает в отдельной программе.

Как  можно в МТ5 получить команду на совершение сделки из вне,

костыльные решения типа чтения файла не подходят. 

желательно что то асинхронное - что то дернуть в МТ чтобы он дальше сам начал что то делать.

Vladimir Karputov
Модератор
53379
Vladimir Karputov  
Nemoys:

Привет

есть расчетная часть которая работает в отдельной программе.

Как  можно в МТ5 получить команду на совершение сделки из вне,

костыльные решения типа чтения файла не подходят. 

желательно что то асинхронное - что то дернуть в МТ чтобы он дальше сам начал что то делать.

"Дёрнуть" - это значит, что в MetaTrader 5 должен работать советник. И он должен слушать. Должен ждать команду.
Nemoys
258
Nemoys  
Karputov Vladimir:
"Дёрнуть" - это значит, что в MetaTrader 5 должен работать советник. И он должен слушать. Должен ждать команду.
Так вопрос в том - как ждать то. не нашел никаких лазеек - все события внутренние была надежда на OnChartEvent - не срабатывает на внешних сообщениях. Сервер на сокетах не поднять пайпы работают в цикле - асинхронных методов нету. как жить то?
Alexey Volchanskiy
17548
Alexey Volchanskiy  
Karputov Vladimir:
"Дёрнуть" - это значит, что в MetaTrader 5 должен работать советник. И он должен слушать. Должен ждать команду.
Напиример, чере named pipes канал, вполне себе асинхронно получится. Сервер во внешней программе, в MQL есть библиотека с поддержкой НП.
Nemoys
258
Nemoys  
Alexey Volchanskiy:
Напиример, чере named pipes канал, вполне себе асинхронно получится. Сервер во внешней программе, в MQL есть библиотека с поддержкой НП.

Прошу - ткни носом где там асинхронная часть

может я не так искал

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

а прием только 1 раз по завершении отправки с последующим выходом 

Alexey Volchanskiy
17548
Alexey Volchanskiy  
Nemoys:

Прошу - ткни носом где там асинхронная часть

может я не так искал

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

а прием только 1 раз по завершении отправки с последующим выходом 

Я вспомнил пример из MSDN - там клиент ждал сообщение по пайпу от сервера. Я думаю, легко найти, только искать в части win 32 API, не .NET 

Так... вроде вот это , хотя не уверен https://msdn.microsoft.com/en-us/library/windows/desktop/aa365592%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 

Nemoys
258
Nemoys  

Алексей - извини конечно но приведенный тобой пример никак не асинхронный

получается советник будет всегда в этом цикле 

  do

   { 
   // Read from the pipe. 
 
      fSuccess = ReadFile( 
         hPipe,    // pipe handle 
         chBuf,    // buffer to receive reply 
         BUFSIZE*sizeof(TCHAR),  // size of buffer 
         &cbRead,  // number of bytes read 
         NULL);    // not overlapped 
 
      if ( ! fSuccess && GetLastError() != ERROR_MORE_DATA )
         break; 
 
      _tprintf( TEXT("\"%s\"\n"), chBuf );  

} while ( ! fSuccess); // repeat loop if ERROR_MORE_DATA  

Dmitry Fedoseev
43861
Dmitry Fedoseev  
Nemoys:

Алексей - извини конечно но приведенный тобой пример никак не асинхронный

получается советник будет всегда в этом цикле 

  do

} while ( ! fSuccess); // repeat loop if ERROR_MORE_DATA  

Может вы как-то так по своему, по особенному понимаете асинхронность? Как вы ее понимаете?
Алексей Тарабанов
7327
Алексей Тарабанов  
Nemoys:

Привет

есть расчетная часть которая работает в отдельной программе.

Как  можно в МТ5 получить команду на совершение сделки из вне,

костыльные решения типа чтения файла не подходят. 

желательно что то асинхронное - что то дернуть в МТ чтобы он дальше сам начал что то делать.

Дерните разработчиков. 
Nemoys
258
Nemoys  

Алексей Тарабанов:
Дерните разработчиков. 

 

 

А это кто и где? 

Dmitry Fedoseev
43861
Dmitry Fedoseev  
Алексей Тарабанов:
Дерните разработчиков. 
Разработчики никогда этого не сделают, это противоречит их основной политике и идеологии.
12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий