Запросите историю сделок по ID позиции функцией HistorySelectByPosition() (ID позиции не меняется при клиринге) и найдите в этой истории первую сделку позиции. Ну и получите цену этой сделки.
ЗЫ. Ответил, не прочитав ваш код. Сейчас прочитал - так правильно же всё, так и надо делать. Один нюанс: этот код вычисляет средневзвешенную цену позиции, т.е. ту, которая была бы, если бы у позиции были доливки и/или частичные закрытия. Если же нужна просто цена самого первого открытия позиции, то это цена её первой сделки. А если всё-таки нужна взвешенная цена без учёта клирингов, то эта функция именно её и считает.
Добрый день! Собственно вопрос: возможно ли советника научить переносить позицию через клиринг сохраняя цену позиции, которая была до закрытия рынка на клиринг?
Сейчас получается так: после клиринга цена позиции смещается на уровень цены открытия рынка и в случае если уходили на клиринг в минусе то оказываемся на нуле и если уходим в плюс то срабатывает трейлинг или тейк, что приводит к убытку в этой сделке по факту (если до клиринга минус был больше чем заданный тейк или трал).
искал по разделу возможно похожие вопросы и наткнулся вот на это (сам не программирую по этому, код "прочитать" не могу), может это то что мне нужно?
Заранее спасибо за ответы!
Получение "чистой" цены позиции, без учёта клирингов:
Разработчики обещали подумать над этим, чтобы позиции не разрывались. А то согласен, не совсем удобно. В том числе эти разрывы на клирингах записываются как ложные сделки в историю сделок.
Это крайне не удобно как при использование советника так и при ручной торговле.
Бред какой-то. Это в мт5 так?
Нет, везде так (это особенность торговли на ФОРТС)
Ну не надо. У меня, не в МТ, таких даже вопросов не возникало. Есть цена открытия,
А что за НЕ МТ?
Любой биржевой терминал. Имхо
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день! Собственно вопрос: возможно ли советника научить переносить позицию через клиринг сохраняя цену позиции, которая была до закрытия рынка на клиринг?
Сейчас получается так: после клиринга цена позиции смещается на уровень цены открытия рынка и в случае если уходили на клиринг в минусе то оказываемся на нуле и если уходим в плюс то срабатывает трейлинг или тейк, что приводит к убытку в этой сделке по факту (если до клиринга минус был больше чем заданный тейк или трал).
искал по разделу возможно похожие вопросы и наткнулся вот на это (сам не программирую по этому, код "прочитать" не могу), может это то что мне нужно?
Заранее спасибо за ответы!
Получение "чистой" цены позиции, без учёта клирингов: