Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 485

 
Artyom Trishkin:

А разве не будет реквота? По-моему первый же ответ на вопрос о реквотах в тестере (!!!) - перепутаны цены открытия.

Или я уже всё забыл?

Vladimir Zubov:

Будет реквот и в тестере тоже.

Запустите в тестере

void OnTick()
  {
   if(OrdersTotal() == 0)
    {
     Print("Bid = ", Bid);
     int ticket = OrderSend(_Symbol, OP_BUY, 0.1, Bid, 50, 0, 0);
     if(OrderSelect(ticket, SELECT_BY_TICKET))
      Print("OrderOpenPrice ", OrderOpenPrice());
    }
  }

И посмотрите результат

2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: OrderOpenPrice 1.05119
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: open #1 buy 0.10 EURUSD at 1.05119 ok
2018.03.03 09:36:58.521 2017.01.02 00:00:00  Test button click EURUSD,H1: Bid = 1.051
 
Vladislav Andruschenko:

Согласен с Вами. 

Эта тема очень избитая и до сих пор нет 100 % решения проблемы неправильных стопов. 

  1. 2*спреда
  2. 3*спреда
  3. 0-1 пункт

все эти варианты имеют место быть. 

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

Значит так задумано. Ведь стоп уровень регулирует брокер.

Он может его менять как угодно, хоть в 10 раз превышать во время выхода новостей. 

Почему нельзя? Нулевой SYMBOL_TRADE_STOPS_LEVEL говорит о плавающем (не равным нулю, а плавающем) стоплевел. Ну и далее уже придётся гадать - один-два раза можно словить 130-ю ошибку постепенно увеличивая размер стопа в соответствии со спредом.

 
Alexey Viktorov:

Запустите в тестере

И посмотрите результат


это потому-что проскальзвоание поставили 50

 
Artyom Trishkin:

Почему нельзя? Нулевой SYMBOL_TRADE_STOPS_LEVEL говорит о плавающем (не равным нулю, а плавающем) стоплевел. Ну и далее уже придётся гадать - один-два раза можно словить 130-ю ошибку постепенно увеличивая размер стопа в соответствии со спредом.

вот именно, что гадать. :-)

коэффициент стопуровня также может менятся от брокера к брокеру, от выхода новостей, ДР у директора диллинга и так далее.

Даже в регламенте у ДЦ написано про это. 

 
Alexey Viktorov:

Запустите в тестере

И посмотрите результат

Странно. Может уже подкорректировано давно в этих билдах терминала...

Я-то оооочень давно (лет 10 как) нарывался на эти "детские" ошибки - и тогда были реквоты в тестере. Понять не мог - с чего бы... А потом въехал, что покупаю по Bid :) С тех пор и помню про такое поведение, но уже сам его никогда больше не ловил - одного раза обычно достаточно, чтобы не продолжать так писать коды.

 
Vladislav Andruschenko:


Вы уверены в этом утверждении на 100 % ? 

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

Что касается именно двух спредов, то это тянется от самого введения плавающих спредов. Именно тогда я об этом прочёл, пользуюсь и не желаю вспоминать где я читал, кто писал и прочие подробности.

 
Vladislav Andruschenko:

вот именно, что гадать. :-)

коэффициент стопуровня также может менятся от брокера к брокеру, от выхода новостей, ДР у директора диллинга и так далее.

Даже в регламенте у ДЦ написано про это. 

Ну это - уже вода.

Я написал что делать. Другого пути, к сожалению, нет.

 

Этот путь применяется уже давно и всеми. 

десятки тем на форуме.

Но никто так и не доказал, что надо умножать на 2 (а не на 3)

Alexey Viktorov:

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

Что касается именно двух спредов, то это тянется от самого введения плавающих спредов. Именно тогда я об этом прочёл, пользуюсь и не желаю вспоминать где я читал, кто писал и прочие подробности.

да мне это не нужно. Я переспросил у Вас, уверены ли Вы в этом или думаете так потому, что это работает. (Но Вы не проверяли эту теорию на 100+ брокерах)

Работает у Вас? чудно. Я лишь намекнул - что не надо быть таким уверенным в этом.

Можно "попасть"... 


Если слишком маленькие стопы - то легче закрывать виртуально. 

 

Значит можно выйти из такой ситуации - если ошибка, то при каждой попытке модификации ордера стоп придётся увеличивать на 1 пункт. Пока ордер не модифицируется нормально.

Выходит так.

 
Vladislav Andruschenko:

Этот путь применяется уже давно и всеми. 

десятки тем на форуме.

Но никто так и не доказал, что надо умножать на 2 (а не на 3)

да мне это не нужно. Я переспросил у Вас, уверены ли Вы в этом или думаете так потому, что это работает. (Но Вы не проверяли эту теорию на 100+ брокерах)

Влад, кроме прочих схем которые обсуждать рискованно, существует ещё естественное изменение цены между отправкой приказа и выполнением его. В одном случае отклонение цены может увеличить расстояние от текущей цены до установленного стопа, а в другом его сократить. И именно в таком случае расстояние от цены, именно от текущей цены, а не от цены открытия ордера, будет меньше двух спредов. Именно в этом случае и получишь ошибку.
Причина обращения: