Обсуждение статьи "Virtual Order Manager для управления ордерами в позициях терминала MetaTrader 5" - страница 3

 

Читая статью, невольно возникла мысль реализовать упрощенную систему контроля позиций. Смысл состоит в том, чтобы запоминать данные об открытых позициях в комментарии, а затем делать его разбор. Вот только не знаю какова максимальная длина комментария заложена для хранения  на сервере? Насколько  гарантированно комментарий сохраняется? Он ведь необязательный параметр. В целом  идея имеет право на жизнь?

 
avoitenko:

Читая статью, невольно возникла мысль реализовать упрощенную систему контроля позиций. Смысл состоит в том, чтобы запоминать данные об открытых позициях в комментарии, а затем делать его разбор. Вот только не знаю какова максимальная длина комментария заложена для хранения  на сервере? Насколько  гарантированно комментарий сохраняется? Он ведь необязательный параметр. В целом  идея имеет право на жизнь?


На счет комментариве в позициях и ордерах

Вот что писалось в диалоге - "Market Sell EURUSD TP 1.24622 SL 1.27134 (M30) - Test", а вот что было в комменте открытой позы "Market Sell EURUSD TP 1.24622 S"...

Кроме того, пока разработчики не реализовали возможность модификации комментария (насколько я в курсе).

PS

Думается мне, что комментарии для этого уж точно не подойдут...

 
Interesting:

На счет комментариве в позициях и ордерах

Вот что писалось в диалоге - "Market Sell EURUSD TP 1.24622 SL 1.27134 (M30) - Test", а вот что было в комменте открытой позы "Market Sell EURUSD TP 1.24622 S"...

Кроме того, пока разработчики не реализовали возможность модификации комментария (насколько я в курсе).

PS

Думается мне, что комментарии для этого уж точно не подойдут...

Это почему не подойдут, 31 символ в 256 значной кодировке это 6.146e+381 количество комбинаций, да в такую строку чё хош можно закодировать.

По сути если коментарии локализовать в краткую кодированную форму то столько символов и не нужно.

Ведь вместо "хотел открыть сегодня в бай а открыл по ошибке в селл" можно написаит ob|ers  ob- намерение открыть бай, факт ers- по ошибке в селл.

Не нужно микроскопом орехи колоть тогда всё получится.

 
Urain:

Это почему не подойдут, 31 символ в 256 значной кодировке это 6.146e+381 количество комбинаций, да в такую строку чё хош можно закодировать.

По сути если коментарии локализовать в краткую кодированную форму то столько символов и не нужно.

Ведь вместо "хотел открыть сегодня в бай а открыл по ошибке в селл" можно написаит ob|ers  ob- намерение открыть бай, факт ers- по ошибке в селл.

Не нужно микроскопом орехи колоть тогда всё получится.

На мой взгляд гораздо проще все хранить в структурах, собранных и массивах, а при необходимости сохранять их в файл.

Также можно на счет Магика подумать...

 
Interesting:

На мой взгляд гораздо проще все хранить структурах собранных и массивах, при необходимости сохранять их в файл.

Также можно на счет Магика подумать...

Да магик более надёжен тк не изменяем со стороны сервера,

хотя там уместится меньше информации тк код магика 10-ричный в отличии от стрингов которые кодируются 256-ричным кодом.

 
Urain:

Да магик более надёжен тк не изменяем со стороны сервера,

хотя там уместится меньше информации тк код магика 10-ричный в отличии от стрингов которые кодируются 256-ричным кодом.

Думаю, что комментарий стоит оставить юзеру, и пусть там чисто для него инфа находится (заполнит сам или эксперт для него не важно).

А вот магик стоит юзать по полной программе (там кучу инфы можно спрятать при желании) + к этому всему создать определенную структуру в которой хранить максимальное количество инфы про позиции, ордера и сделки.

При запуске эксперта данные по позициям и закрытым сделкам можно будет прочитать из файла или рассчитать в блоке инициализации, в том числе и на основе магиков (если файл с данными отсутствует).

При завершении работы разумеется инфу следует сохранить.

PS

Ну или как-то так...

 

Привет, Пол,

Спасибо за эту библиотеку.

Мне кажется, что независимо от того, что я использую для значения тейк-профита, сделка никогда не закрывается по этому значению, даже когда я запускаю ваш советник FrAmaCross и оптимизирую его с помощью только тейк-профита, результаты не меняются.

Я что-то делаю не так или есть какой-то флаг, который нужно установить для использования тейк-профита?

Если посмотреть на ваш код, то ваш вызов в OrderSend bSuccess=PositionChangeSizeAtServer(symbol,volume,ORDER_TYPE_BUY,stoploss); break;

не использует значение тейк-профита

Спасибо за ваше время

EK

Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Order Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Trade Constants / Order Properties - Documentation on MQL5
 

Я думаю - если мы можем иметь собственный VOM ... лучше реализовать это в mt5 с помощью MQ - id для локальных заказов (#1,#2,#3) в терминале mt5, связанный с 1 глобальным заказом на сервере mt5 (#5423523).

Нам нужен только древовидный заказ

+ #5423523 eurusd

- #1 купить

- # 2 купить

+ #5423533 usdjpy

- # 3 продать

- # 4 продать

+ #5423533 gbpjpy

- # 5 sell


Затем на графике мы имеем ордера #1, 2# и т.д.

 

Кто-нибудь использовал эту библиотеку?

Библиотека выглядит полезной. Но возникли сложности.

При компиляции примера советника VirtualOrderManagerTester.mq5

выдает ошибки: 

'TRADE_RETCODE_REQUEST' - undeclared identifier StringUtilities.mqh 42 12

'TRADE_RETCODE_REQUEST' - constant expression is required StringUtilities.mqh 42 12

'ERR_TRADE_SELECT_TIMOUT' - undeclared identifier StringUtilities.mqh 112 12

'ERR_TRADE_SELECT_TIMOUT' - constant expression is required StringUtilities.mqh 112 12

Как их убрать? 

 
masharov:

Кто-нибудь использовал эту библиотеку?

Библиотека выглядит полезной. Но возникли сложности.

При компиляции примера советника VirtualOrderManagerTester.mq5

выдает ошибки: 

'TRADE_RETCODE_REQUEST' - undeclared identifier StringUtilities.mqh 42 12

'TRADE_RETCODE_REQUEST' - constant expression is required StringUtilities.mqh 42 12

'ERR_TRADE_SELECT_TIMOUT' - undeclared identifier StringUtilities.mqh 112 12

'ERR_TRADE_SELECT_TIMOUT' - constant expression is required StringUtilities.mqh 112 12

Как их убрать? 

 

Эти коды ошибок теперь неактуальны, можно просто закомментировать строки 42 и 112 в файле StringUtilities.mqh.

Коды статьи обновлены.