Мне попадался этот пост. Но он не решает нужной задачи.
Например, в рынке 5 позиций с тикетами от 1 до 5. Мы закрыли 30% 3-ей позиции. Вместо 3-ей позиции откроется 6-ая, размером 70% от 3-ей. Ведь так? Далее может закрыться любая из изначальных 5-ти позиций, и 6-ая, которая открылась после закрытия 3-ей изначально.
Так вот. Откуда мне знать, в определённый момент времени, когда соблюдаются условия закрытия позиции (например, 6-ой или любой другой), что её необходимо закрыть? Ведь нахождение тикета, который породил очередной ордер задачу не решает.
Я смтрю в сторону магиков. Может реально завести итератор, который будет инкременировать к каждому новому ордеру еденичку? Таким образом, будет просто решать вопрос. Пробежался по истории и увидел, что мол закрыто 1, 2, 3 и тд позиции (части ордера исходного), соответсвенно, можно прикинуть сколько раз отщипнулся лот от исходной позиции нужно ли очередной раз это делать. Логично?
Здесь я по истории пробегаю и просматриваю комментарии закрытого ордера. Например, вижу:
Понимаю, что этот ордер отщепнулся от позиции с тикетом № 1. Здесь всё понятно. Но откуда мне знать, тикет какой позиция остался в рынке?
Связанные ордера указывают друг на друга. Вот ордер из истории:
А вот оставшийся ордер:
Если было несколько частичных закрытий, то по истории счета восстанавливается вся цепочка.
Связанные ордера указывают друг на друга. Вот ордер из истории:
А вот оставшийся ордер:
Если было несколько частичных закрытий, то по истории счета восстанавливается вся цепочка.
то что в четвёрке пишется в коммент тикет родительского ордера это костыль разрабов чтобы было хоть что-то, они сами в этом признались и не рекомендуют всецело полагаться на Ордеркоммент() (не надёжно)
то что в четвёрке пишется в коммент тикет родительского ордера это костыль разрабов чтобы было хоть что-то, они сами в этом признались и не рекомендуют всецело полагаться на Ордеркоммент() (не надёжно)
В данном случае другого пути нет. По крайней мере, эта информация никогда и нигде не изменяется.
В данном случае другого пути нет. По крайней мере, эта информация никогда и нигде не изменяется.
ага, не меняется, только вот стринг сплитать задолбаешься, а если брокер тебе в конец (sl) допишет или (tp) сразу так весело становится, ух прям, это если совсем не забыть про переписывание коммента маржин колей so%
В чем проблема найти нужную строку, которая является константой? Функция StringFind работает отлично, разбирать ничего не нужно (StringSplit не нужна в данном случае).
ага, не меняется, только вот стринг сплитать задолбаешься, а если брокер тебе в конец (sl) допишет или (tp) сразу так весело становится, ух прям, это если совсем не забыть про переписывание коммента маржин колей so%
в целом поддерживаю - частичное закрытие плохо организованно в МТ4, документации о поведении нет
делал когда то запоминание тикетов ордеров перед закрытием, затем частичное закрытие и поиск новых появившихся тикетов по своему магику, тож сказали решение так себе - то связь пропадет, то эксперт зависнет )))
ЗЫ: из практики - не видел брокеров которые поместят в историю ордеров частично закрытый ордер с другим комментарием, всегда пишут каким тикетом было частичное закрытие
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Понадобилось реализовать закрытие позиции на мкл4 частями рандомного размера.
В принципе, я вижу это как-то так:
В данном случае, у меня реализовано частичное закрытие лонговой позиции ( 50% исходного лота ) на расстоянии 30% от цены покупки. Когда мы снова попадает в функцию частичного закрытия, перед этим самым закрытием я добавил вышеуказанный цикл:
Здесь я по истории пробегаю и просматриваю комментарии закрытого ордера. Например, вижу:
Понимаю, что этот ордер отщепнулся от позиции с тикетом № 1. Здесь всё понятно. Но откуда мне знать, тикет какой позиция остался в рынке? Ведь в рынке может быть не одна позиция. Я к тому веду, что при торговле одной позицией в конкретное время, всё элементарно. А если позиций несколько, это вопрос. Ведь нужно будет, перебираю ордера понять какой объём какой позиции закрывать и закрывать ли вообще что-либо у этой позиции.. т.к., возможно, на определённом уровне уже закрыт лот требуемый и нужно ждать другого уровня или условия, чтобы закрыть ещё часть, но, ни в кое случае, не закрывать ничего до этого момента.