Скачать MetaTrader 5

Magic number для позиции

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Торгуй как успешные трейдеры - подпишись на их сигналы!
kombat
3276
kombat 2010.02.06 21:19 

Magic number для позиции (смотри ORDER_EXPERT)
(кстати! в справке бы ссылкой сделать куда смотреть... ;)))

Вне сомнений, "институт" магика полезная вещь.
Но недостаточная для учёта в новой платформе мт5.

Уже на этапе разделения понятия сделка и позиция как Божий день стало ясно
что нужен ещё один механизм "внетикетного" учёта происходящего в торговле.

Для чего наверное в десятый раз предлагаю ввести нечто, условно назовём как GlobalMagic (ГМ)
формируемый строго на сервере и доступный юзеру лишь для чтения (извлечения) и позволяющий
ориентироваться в пространстве и времени значительно, можно сказать неимоверно значительно, чем сейчас.

Идеология назначения ГМ весьма проста:
В отсутствии позиции первый же ордер, в том числе и отложенный, "резервирует" номер ГМ по номеру своего тикета.
Как только сработает отложенный, либо позиция откроется рыночным, позиции присваивается (назначается) "резервист".

Если не очень понятно, можно подробней сие обсудить...

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
kombat
3276
kombat 2010.02.06 21:27  

АП!

В дальнейшем, всем ордерам участвовавшим в "построении" позиции присваивается ГМ этой позиции.
Подчёркиваю, в дальнейшем! т.е. сразу же как ордер был принят и совершена сделка, а не ДО как в обычном магике.

MetaQuotes
Админ
24951
Renat Fatkhullin 2010.02.06 21:47  

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

Приведите несколько разных практических примеров на основе развития ситуация по шагам 1-2-3-4-5 и тд.

kombat
3276
kombat 2010.02.06 22:19  
Renat:

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

Приведите несколько разных практических примеров на основе развития ситуация по шагам 1-2-3-4-5 и тд.

ок!

Ситуасьон №1
Открыта позиция которая имеет ГМ.
Выборкой из истории сформируем "табличку" сделок что уже "отучавствовали",
а из текущих, открытых, те, что сейчас...
Далее работа с "табличкой", а по сути массивом, ограничена лишь фантазией кодера.
Главное то, что простой конструкцией сформированной на сервере лишь ГМ-ком увидим структуру позиции.

if(dealGM==GM) {blah-blah-blah;}
Ситуасьон №2
На основании ГМ текущих позиций можно рассчитать предыдущий результат ДО их открытия,
как всех, так и отдельно взятой, т.е. наглядно видеть реальный текущий "вклад" на состояние баланса.
Ибо текущий профит с момента открытия позиции не всегда соответствует прибыльности всего трейда...
Например в течении держания позиции были закрытия части убытка скажем на 100 баксов, а текущий профит 25,
что в реальности соответствует убытку 75 и профит по всему трейду мы начнём получать лишь начиная от 100.

ЗЫ: всех, имеется ввиду позиции по разным инструментам



kombat
3276
kombat 2010.02.06 22:46  
ГМ, если представить образно, это своего рода шампур с номером.
На который нанизываются сделки приобретая такой же номер ДГМ что и шампур.
Поэтому каждый кусочек мяса как уже съеденный, так еже и ожидающий своей участи
имеет честь гордится тем что принадлежал шампуру номер ГМ !
;)))
ЗЫ: ДГМ это свойство deal ГМ назначаемое сервером сделке о причастности к позиции номер ГМ
и соответственно имеет тот-же номер что и ГМ позиции...
Вызывется дополнением DEAL_GLOBMAGIC или DEAL_POSMAGIC, не суть важно.
Лишь напомню что это свойство только для чтения...

Таким образом, все сделки от самой первой открывшей позицию, до самой последней что её закрыла
повязаны одним номером...

MetaQuotes
Админ
24951
Renat Fatkhullin 2010.02.06 23:42  

А в какой конкретно момент меняется этот ГМ? В момент, когда поза стала нулем?

То есть, пока позиция болтается туда-сюда (и даже переворачиваясь), она (как и все сделки, ее породившие) имеет один ГМ. Но после того, как позиция вышла в ноль, ей (как и ордерам, ее породившим) присваивается следующий ГМ.

Я правильно понял?


kombat
3276
kombat 2010.02.06 23:46  
Renat:

А в какой конкретно момент меняется этот ГМ? В момент, когда поза стала нулем?

То есть, пока позиция болтается туда-сюда (и даже переворачиваясь), она (как и все сделки, ее породившие) имеет один ГМ. Но после того, как позиция вышла в ноль, ей (как и ордерам, ее породившим) присваивается следующий ГМ.

Я правильно понял?


Так точно!
kombat
3276
kombat 2010.02.06 23:55  
Renat:

То есть, пока позиция болтается туда-сюда (и даже переворачиваясь), она (как и все сделки, ее породившие) имеет один ГМ. Но после того, как позиция вышла в ноль, ей (как и ордерам, ее породившим) присваивается следующий ГМ.

ГМ по идеологии краеугольный камень отсчёта.
Поэтому вести инкрементную базу нет никакой нужды,
а присваивать ГМ-у номер тикета впервые открывшего позицию.

И в будущем уже плясать от него, так как он уже известен
long PM=PositionGetInteger(POSITION_POSMAGIC);
! сорри, тут вырисовался более удобный и общий для всех енум POSMAGIC
взамен ГлобалМагик, что не совсем был верен...



MetaQuotes
Админ
24951
Renat Fatkhullin 2010.02.07 00:02  
Теперь мысль понятна - обсудим в понедельник.
kombat
3276
kombat 2010.02.07 00:13  
Renat:
Теперь мысль понятна - обсудим в понедельник.
Спасибо!
Буду ждать результатов...
Denis Zyatkevich
6704
Denis Zyatkevich 2010.02.26 02:00  

А если ввести POSITION_TICKET (если его еще нет) или сделать чтобы POSITION_MAGIC не изменялся на всем протяжении жизни позиции (в том числе и при перевороте)?

 

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