переворот текущей позиции - так работает, но можно ли сделать проще?

 
переворот текущей позиции - так работает, но можно ли сделать проще?
Так как переворот позиции в MetaTrader не реализован, то попробовал делать переворот с помощью пары команд

CloseOrder() - SetOrder(), при этом указывая в качестве параметра одну и ту же цену, для имитации переворота по ордеру типа Limit.

На самом деле эта комбинация работает не самым лучшим образом.

Например, мы имеем длинную позицию и хотим перевернуться в короткую:

1.CloseOrder(OrderValue cnt,VAL_TICKET),Lots,ClPrice,5,DarkRed);

Т.к. цена, по которой мы бы хотели закрыться не обязательно будет находиться в нужном нам диапазоне, то данная команда будет вызываться много раз подряд, пока, наконец, позиция не будет закрыта. Это создаёт значительную нагрузку на сервер брокера.

2. SetOrder(OP_SELLLIMIT,Lots,ClPrice,5,0,0,RED);

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

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

Поэтому господа разработчики, убедительно прошу Вас обратить внимание на этот вопрос и рассмотреть возможность реализации переворота позиции по условиям Limit.

Это позволит многим из
 
правила работы с ордерами
1. ClPrice должен быть текущим Bid или Ask, и ни в коем случае не "желаемой ценой", которая далеко отстоит от рынка. Брокер не позволит вам бесконечно запрашивать цены.
2. по цене закрытия нельзя выставить SELL LIMIT, так как цена отложенного ордера должна отстоять от рынка не менее чем на 10 пунктов(зависит от компании).
 
Если брокер не даст мне бесконечно запрашивать цены, т.е. я не смогу торговать по своей прибыльной стратегии, то мне проще сменить брокера, чем стратегию.
subj.
Брокер должен быть заинтересован в моей прибыльной работе, так чтобы я увеличивал размеры своих сделок и он зарабатывал на спрэде.

Если же брокер устанавливает такие условия, на которых он будет зарабатывать, а я - нет, то мне лучше с ним распрощаться ( в данном случае не открывать у него счёт).

Поэтому, еще рас убедительно прошу Вас рассмотреть вопрос о введении в программу MetaTrader возможности переворота позиции.
 
Хорошо, а как быть с выходом по SL/TP ?
Например,вместо выхода по CloseOrder() мы устанавливаем уровень SL или TP, с указанием цены, по которой нужно выйти из позиции.

Но если мы вышли по SL - это повод задуматься, всё ли мы делаем правильно.

Тогда вопрос - как узнать, по какому событию у нас закрылась предыдущая позиция - по SL или по TP ?
 
частота запросов и реакция брокера
Уверяем вас, ни один брокер не позволит вам бесконечно запрашивать цены без совершения сделок. Представьте себе, что робот бесконечно(достаточно часто) запрашивает цены у живого брокера. Что произойдет? Вам просто отключат возможность использования экспертов.

Абсолютно честно: тупые алгоритмы (особенно это касается пипсовщиков) неприменимы. Виноват только тот, кто пишет таких экспертов.

Переворота позиций точно не будет.
 
такой возможности нет
 
Поправочка - эти алгоритмы неприменимы только у брокеров с данной платформой
А у других брокеров эти алгоритмы могут работать вполне успешно.

Кроме того, цены должны котироваться автоматом, а не живым человеком, который физически не в состоянии нормально реагировать на большое число запросов.

А насчёт пипсовки - я предполагю работать на дневных данных, поэтому пипсовка здесь просто неприменима.
 
Ладно, а есть хотябы возможность узнать, по какой цене был закрыт предыдущий ордер?
т.е. последний из закрытых ордеров? Или для этого нужно что -то мудрёное типа расчёта суммы капитала до закрытия позиции, суммы капитала после закрытия позиции с учетом поправки на свопы?
 
попробуйте поработать с любым другим брокером...
 
Частота смены уровня StopLoss7
Скажите, а на реальном счёте уровни StopLoss и TakeProfit принимает тоже человек? Или робот, а человек включается в игру только когда этот ордер должен сработать? Ведь, если я в Metetrader'е выставлю TrailingStop, то частота передвижения StopLoss'а может быть достаточно велика...
 
спасибо за предложение, но я и так уже работаю ;) - поэтому у меня есть с чем сравнивать.
А именно - с платформой от OANDA.

Там как раз имеется возможность переворота позиции, правда есть и существенный недостаток - нельзя открыть разнонаправленные позиции по одному инструменту.

Зато:
- котирование идёт автоматически в режиме реального времени,
- проскальзывание незначительное
- спрэд по самым популярным инструментам поменьше будет
- отсутствует комиссия
- размер сделки начиная с 1 единицы валюты

В Вашей платформе имеется возможность автоматической торговли, которая полностью отсутствует у oanda.

Для полного счастья хотеось бы совместить плюсы обеих платформ в одном флаконе.....
Причина обращения: