Скрипты: Закрытие встречных ордеров

 

Закрытие встречных ордеров:

Применяемая стратегия вызвала необходимость закрытия большого количества встречных ордеров для экономии спрэда. Ничего более-менее простого не нашел в кодах. Как часть советника родился компактный скрипт.

Author: Barmaley

 
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
      
      if (OrderSymbol() != Symbol()  || (Magic>0 && OrderMagicNumber() != Magic)) continue;
         ticket = OrderTicket();
         if (OrderType()>1) {OrderDelete(ticket);continue;}
         double l=OrderLots();
         OrderClose(ticket,l,PriceCurrent,10000);

Не слишком ли большое проскальзывание при закрытии ордеров ????

 
VOLDEMAR:

OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
      
      if (OrderSymbol() != Symbol()  || (Magic>0 && OrderMagicNumber() != Magic)) continue;
         ticket = OrderTicket();
         if (OrderType()>1) {OrderDelete(ticket);continue;}
         double l=OrderLots();
         OrderClose(ticket,l,PriceCurrent,10000);

Не слишком ли большое проскальзывание при закрытии ордеров ????


Поправьте для себя. У меня другая задача была. Еще и цены бид используются для любых ордеров.

Для встречных-то цена не имеет значения. А этот кусочек закрывает уже оставшиеся, не встречные.

Просто надо было закрыть встречные и остальные по любой текущей цене.

 

IMHO, проще и лучше поступить иначе:

- сначала открыть одну локирующую позицию к совокупной позиции,

- затем (уже не спеша))) закрывать встречно всё, что имеется без остатка

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

 
Batman:

IMHO, проще и лучше поступить иначе:

- сначала открыть одну локирующую позицию к совокупной позиции,

- затем (уже не спеша))) закрывать встречно всё, что имеется без остатка

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


Интересно. Отпадет кусочек, закрывающий остальные позиции. И в спрэде не теряем вроде как... Правда отложки надо будет удалить все равно.

Этот лок вместо стопа можно поставить... Если он широкий выйдет, можно внутри него побраконьерствовать с оставшимися позициями... Спасибо за идею :) !!!

 
Barmaley:
Batman:

IMHO, проще и лучше поступить иначе:

...

Этот лок вместо стопа можно поставить... Если он широкий выйдет, можно внутри него побраконьерствовать с оставшимися позициями... Спасибо за идею :) !!!

Браконьерствовать нет смысла. Закрытие перекрытых - самое выгодное "браконьерство". Лучше продолжать торговать по системе, а не изголяться, сохраняя баланс. Нужно за эквити бороться.)))
 

Batman:

Браконьерствовать нет смысла. Закрытие перекрытых - самое выгодное "браконьерство". Лучше продолжать торговать по системе, а не изголяться, сохраняя баланс. Нужно за эквити бороться.)))

Ну это я так.... в порядке бреда. А новый скрипт с Вашим предложением уже на модерации. Должен скоро появиться в кодах...
 
Вторая версия - с учетом предложения Batman. Ну и комментариев еще добавил.
 
Поясните пожалуйста, скрипт модифицированный №2 закрывает разнонаправленные ордера наивыгоднейшим образом? Или как? Что то не совсем понимаю назначение скрипта? В чем отличие от того - если просто руками закрыть все ордера? Спасибо!
 
MQL4 Comments:
Поясните пожалуйста, скрипт модифицированный №2 закрывает разнонаправленные ордера наивыгоднейшим образом? Или как? Что то не совсем понимаю назначение скрипта? В чем отличие от того - если просто руками закрыть все ордера? Спасибо!
Вопрос старый, давно не заглядывал сюда, но отвечу. Да, скрипт закрывает наивыгоднейшим образом. Если ситуация такова, что все ордера открыты в одну сторону, без разницы, как закрывать, скриптом, или обычным способом. Результат ни лучше, ни хуже. Но если у Вас имеются открытые разнонаправленные ордера, то скриптом закрывать выгоднее - экономится часть спредов.