Экзотический способ учета раздельных позиций в MT5 на сервере

 

Предположим, что у нас есть несколько экспертов и/или стратегий в каждом из них.

Каждая стратегия описывается своими параметрами:
- Объем;
- SL;
- TP;
- Magic Number;
- Комментарий.
(Объем, SL, TP, как и текущая цена ордера могут быть функцией стратегии)

1. Стратегия выставляет рыночный ордер, который MT5 сразу добавляет к или вычитается из

   совокупной позиции. Например, BUY по паре EURJPY на уровне 135.500. На этом этапе можно без SL и TP.
2. Параллельно на безопасном уровне, например, в нашем случае +100.000 от цены ордера, т.е.

   235.500 выставляется технический отложенный ордер BUYSTOP с параметрами, которые соответствовали 

   бы ранее выставленному рыночному ордеру, если бы у нас не было совокупного учета позиций. Т.е.,

   например, TP=236.000 и SL=234.000. Естественно технические отложенные ордера выставляются со

   своими объемами, меджиками и комментариями, как      обычно делалось в MT4. 
3. Пункты 1 и 2 выполняем для каждого эксперта, участвующего в торговле или для каждой отдельной

   стратегии, если их несколько в пределах одного эксперта. (Естественно, только в случае если этого

   требует стратегия в данный момент.)
4. Далее, каким-либо образом вычисляются защитные SL и TP для совокупной позиции. Это должен

   делать дополнительный эксперт-арбитр. Он же должен:
- следить за всеми техническими отложенными ордерами
- закрывать «сработавшие» ордера по TP или SL прописанными в технических отложенных

   ордерах в соответствии с размером лота (уменьшать размер совокупной позиции на размер

   лота сработавшего технического отложенного ордера);
- удалять «сработавшие» технические отложенные ордера после коррекции совокупной позиции;
- вести учет ордеров, выставленных в режиме ручной торговли, т.к. учитывает меджики автоматических стратегий;
- вовремя открывать новую рыночную позицию на нужном уровне, если она был полностью исчерпана

   в результате перекрытия SELL и BUY ордеров или в результате ручной торговли.

Достоинства такой системы учета раздельных ордеров:
- вся база учета хранится на сервере MT5;
- не требуется синхронизация базы учета при работе с разных терминалов, находящихся в разных местах;
- видна структура работы каждого советника или стратегии, т.к. имеются раздельные комментарии к ордерам;
- благодаря эксперту-арбитру, система позволяет вести параллельно ручную и автоматическую торговлю.
- в случае длительного отсутствия связи или сбоя локального терминала может быть потерян только один ордер (на эксперт);
- восстановление экспертом-арбитром совокупной позиции, которая могла исчезнуть в результате

   длительной потери связи и срабатывании защитного SL или TP;
- предотвращает изменение TP и SL в результате проскальзования при выставлении рыночного ордера.


Недостатки такой системы учета раздельных ордеров:
- система полностью онлайновая (требует иметь постоянно включенный компьютер и доступные каналы связи с интернетом);
- повышенная сложность реализации эксперта-арбитра;
- дополнительные проскальзования при закрытии позиций;
- дополнительная нагрузка на сервер MT5;
- сложность расчета защитного SL и TP для совокупной позиции (нужны на случай потери связи

  с сервером). В простом случае SL и TP могут быть самыми дальними, по всем техническим отложенным ордерам.


 
Ни один уважающий себя локер не пойдет на это.
 
HideYourRichess >>:
Ни один уважающий себя локер не пойдет на это.


Цель системы не локерство в чистом виде, в прозрачный и более-менее надежный способ учета работы

нескольких экспертов или стратегий в MT5. Плюс ручная торговля.

 

Первый же недостаток, который Вы указали " система полностью онлайновая (требует иметь постоянно включенный компьютер и доступные каналы связи с интернетом) ", перевешивает любые достоинства какими бы они не были.

.

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

.

Система не должна быть зависимой от состояния связи с сервером.

 
thecore >>:


Цель системы не локерство в чистом виде, в прозрачный и более-менее надежный способ учета работы

нескольких экспертов или стратегий в MT5. Плюс ручная торговля.

И эти то же не пойдут.


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

 

Я твердо уверен, что бы вы/мы не делали, и не предлагали, о чем бы мы не спорили - 

разработчики не будут никаким образом изменять логику учета сделок в MT5.

И никакие фантазии getch 

Решение данной проблемы видится так:
вводится связь (FILL->KILL) на уровне торгового сервера MT5 между Limit-ордерами и Stop-ордерами, которая дает следующее:
- перед тем, как сделать маркет-сиполнение Stop-ордера, удаляется Execution-сервером связанный с ним Limit-ордер.
- после срабатывания Limit-ордера, удаляется Execution-сервером связанный с ним Stop-ордер.

или Avals

Все обсуждаемые проблемы рещаются довольно просто - введением условного выставления ордеров на сервере. Что кстати сделано у многих брокеров работающих по классической биржевой схеме. Для этого при установке ордера нужно добавить возможность установки отменяемого и вводимого связанных ордеров. Логика элементарная: если ордер A исполнился, то выставляются ордера B и С. Тоже самое на отмену: если ордер А исполнился - отменяются ордера B и С. Можно наоборот: ордер B вытсавляется, если исполнился ордер А. По сути одно и тоже. И тогда проблема учета совокупной позы решается элементарно, да и выставления и отмены TP и SL. Кроме того дает много дополнительных возможностей.

разработчиками услышаны или реализованы никогда не будут.

Разработчиков интересует:

- чтобы пользователи MT5 бесплатно вместо MQ вычитали help

- чтобы пользователи MT5 бесплатно вместо MQ протестировали терминал

- чтобы пользователи MT5 бесплатно вместо MQ написали как можно больше примеров

- чтобы пользователи MT5 бесплатно отвечали вместо MQ на глупые вопросы начинающих пользователей

Поэтому, как мне кажется, нужно сосредоточиться не на упреках/мольбах/просьбах/угрозах к MQ о переделке терминала под 

наши/ваши требования и желания, а на том, как мы будем работать с уже имеющимся MT5 в таком виде как он есть.

А реальных возможностей не так уж и много:

1.

Integer писал >>
Возможно будет разурулить всё через историю запросов. Вот только стоплосс и тейкпрофит - общие на символ.

Недостаток в том, что история запросов сделана MQ в MT5 очень неудобной. И по ней весьма тяжело что-либо

проследить визуально. В особенности при работе нескольких экспертов

2.Писать локальную базу учета ордеров (не нашел кто это предложил. Извините.).

Недостаток в необходимости синхронизировать базу учета между несколькими компьютерами

и в отсутствии визуального подтверждения этого учета в ордерах

3.Хранить историю учета ордеров на сервере

О недостатках я писал. 


4.Послать все стратегии, все наработки  подальше и торговать одной позицией, как предлагает Svinozavr

Способы с применением нескольких счетов, терминалов я не рассматривал. Хотя и это то же экзотический, но выход.

Со своими плюсами и минусами. 

 

КГ.

HideYourRichess >>:
Торговать одной позицией - это единственно правильный православный вариант, остальное - изобретение диявола.

Или без ТР.

 
Торговать одной позицией - это единственно правильный православный вариант, остальное - изобретение диявола.
 
HideYourRichess >>:
Торговать одной позицией - это единственно правильный православный вариант, остальное - изобретение диявола.


Аминь!
 
HideYourRichess >>:
Торговать одной позицией - это единственно правильный православный вариант, остальное - изобретение диявола.

Вы можете торговать одной позицией и в MetaTrader4, запуская любое количество стратегий, но просматривая параметры совокупной позиции, Balance и Equity не штатными средствами MataTrader4, а через специальный скрипт для этого.

 
HideYourRichess писал(а) >>
Торговать одной позицией - это единственно правильный православный вариант, остальное - изобретение диявола.

Торговать позицией - нельзя. Даже православной. Позиция по определению разница между обязательствами купить и обязательствами продать. Обязательствами торговать можно. разницей- нельзя :)))