Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Плохо сформулировал. Мне абсолютно непонятно, зачем выяснять цепочку происхождений ордеров. Наверное, узко вижу.
Изначально, задача реализовать частичное закрытие ордера по определённым ценовым уровням в процентах от первоначального лота. Как можно это сделать, если не сверяться по тому, какой ордер какой ордер породил?
Я вижу, ещё один вариант. Каждый новый ордер получает новый магик, но там другой момент. Их же нужно будет отслеживать т.е. фильтровать своих ордера при отборе их в OrdersTotal(). Это тоже нюанс. Если магик длинный, то можно, в принципе, на некотором участке отсеивать всё, кроме некой подстроки числа. Хотя, этот вариант мне не очень нравится.
Глобальные переменные или файл привязаны к определенному терминалу. Запустить советник на другом терминале без переноса этих данных не получится. Таким образом, такой вариант подходит только для более узкого круга задач. С историей счета универсально получается.
Бот торгует в конкретном терминале, поэтому какая нам разница, что в другом терминале его использовать не будешь?
Эту мысль не понял.
Вот смотрите. Если, всё-таки, использовать комментарии алгоритм будет такой:
1) Цена оказалась за 1-ым ценовым уровнем. Закрывает часть позиции.
2) На каждом тике перебираем рыночные ордера и ищем, есть ли ордера, порождённые от других (с комментарием from #..).
3) Если находится ордер, порождённый от другой позиции, нам нужно знать есть ли ещё ордер, порождённый найденной позицией, но уже в истории т.к. если эта позиция закрылась, то она уже в архиве позиций так сказать. Логично?
4) Когда цена окажется за очередным ценовым уровнем, нам нужно знать всё вышеуказанную информацию, чтобы знать закрыть ли нам часть позиции на этом уровне и высчитать какой процент позиции закрывать (если нужно закрывать). С другой стороны, на очередной уровне, возможно уже не нужно закрывать часть позиции т.к. на этом уровне уже закрыта часть позиции и нужно пропустить этот уровень. А для этого нам нужно знать, закрывалась ли на этом уровне часть позиции или нет.
Я к тому веду, что не всё так однозначно и просто в этой реализации.
задача реализовать частичное закрытие ордера по определённым ценовым уровням в процентах от первоначального лота.
Просьба пример привести. Совсем не понимаю формулировку задачи.
Вот скрин:
Так понятно?
Вот скрин:
Так понятно?
доброго дня. Сам сейчас решаю подобную задачу. Там все элементарно просто, например, берете в Стартовой позиции цену открытия - она не меняется при частичном ее закрытии - с ней работаете, сейчас выложу робота, как у меня это организовано.
Тикет и лот - можно исключить из внешних переменных, считывать в коде.
пока сделано частичное закрытие на пять частей
/* https://www.mql5.com/ru/forum/160683/page1432 lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты */
Это у меня - рабочий вариант - частичного закрытия тралами. Также буду добавлять уровни для частичного закрытия на откатах.
Вам для правки под свои условия - во вложении.
Пока реализован вариант для одной Стартовой позы с магиком, если например, их несколько с одним магиком и надо каждую закрывать частично - по своим видам (условиям) и процентам закрытия - тут надо решать, может через массивы, может проще...
Вот скрин:
Так понятно?
Поставить три SellLimit, где должно быть частичное.
Roman Shiredchenko, у вас так, при беглом обзоре этого мессива, нет того, что мне нужно. К тому же, там слишком много чего набросано и как-то хаотично. Трейлинги, как я понимаю,
Юрия Дзюбана и тд, в перемешку с чем-то ещё.
Поставить три SellLimit, где должно быть частичное.
Так не факт, что закроется та позиция, которую нужно закрыть.
CloseBy поможет точно закрыть нужную позицию.
CloseBy поможет точно закрыть нужную позицию.
товарисчь, CloseBy не вариант, да и не все все брокеры имеют эту функцию в наличии в рабочем виде, поэтому она какбы есть, но никто ей не пользуется потому что она обычно не работает у брокера
Вы занимаетесь всем, чем угодно, но только не торговлей.
CloseBy поможет точно закрыть нужную позицию.
Она не у всех работает.