Вопрос по торговому терминалу

 
При работе с ордерами МТ4 есть удобная весч .. установка истечения срока ордера по времени.. после чего он снимается.. довольно удобно.. ну и вправду не сидеть же мне весь день караулить цену которая может и не подойти.. а если у меня 2 десятка инструментов то и вообще незаменимая
Предложение разработчикам .. почему бы не сделать открытие и главное закрытие открытых сделок по времени ... скажем по клозу на такоето время ... часто .. и не только у меня 50 % сделок нулевые Т Е рынок никуда не пошел .. не выбил профит и не срубил стоп тем не менее держать сделку смысла уже нет .. нарисовалась другая картинка.. и хорошобы сдесь применить закрытие сделки по происшествию времени автоматически..
особенно актуально это когда много интрументов ..
и еще .. некоторые системы тестятся на омеге... так вот там часто сделки откр и закр по опену и клозу бара ..
а в реале чтобы попасть на клоз вручную пипс в пипс приходиться довольно долго ждать
Думается несложно добавить в МТ такой инструмент ... спасибо)
 
кто нибудь ответит?
помоему вопрос актуальный для технических трейдеров
 
По тому как нет такого понятия закрытие по Close. Цена Close становится известной постфактум, когда ее уже нет.
 
По тому как нет такого понятия закрытие по Close. Цена Close становится известной постфактум, когда ее уже нет.


есть понятие переоткрыть позицию на начало след дня.. те я как понимаю поз закрывают по клозу посл бара дня и открывают по опену след бара ... пусть даже и с комиссией и спредом
ну можно хотябы повесить SL или TP по цене клоза..
 
Все таки Вы объяснили бы полезность тестирования систем с открытием/закрытием по ценам закрытия. Ролловеры к торговле прямого отношения не имеют.
 
Все таки Вы объяснили бы полезность тестирования систем с открытием/закрытием по ценам закрытия. Ролловеры к торговле прямого отношения не имеют.


Наверно тут много разработчиков систем .. и большинство из них пользуются индикаторами .. я же всего лишь трейдер торгующий по торговым сигналам идущим от Омеги.. тем не менее довольно много систем которые я видела не используют индикаторы.. следовательно основными событиями рынка являются опен клоз хай и ло баров.. по которым открываешся и закрываешся .. иногда с некоторым смещением но чаще точно по событию..
Чтобы закрыть позицию по клозу.. сейчас.. мне нужно быть точно вовремя на рынке чтобы закрыть вручную .. и даже при этом часто непопадаю точно по клозу.. ошибка составляет 1-3 пп .. + 2 пп спред итого в ср 5 пп ..
для среднесессионной торговли это много ...
плюс добавте несколько инструментов .. некоторые из которых закрываются в одно и тоже время например по окончанию сесии и в результате ср отклонение по тестеру Омеги от реального МТ у меня получается до 10 пп
Я вообщето часто слышу в своей среде подобную неудобность.. странно что тут никого это незатрагивало)
и это конечно интересно глазами двигать графики и вручную понажимать кнопочки.. но когда открыты десятки окон и надо просто испольнять приказы это введение сильно облегчилобы жизнь)
 
А разве реально закрыться именно по цене Close, а не по цене Open следующего периода? Цена Close - это цена последнего пришедшего тика в периоде, и она может придти как за минуту до открытия следующего бара, так и за 3 минуты до этого события. Вы точно знаете когда пришел последний тик?
 
я не говорю что должно быть точное исполнение по цене закрытия например.. можно установить небольшое проскальзывание или просто комиссию ..
если уж на то пошло то исполнение например SL тоже прошедшее событие .. ибо когда цена дошла до уровня это уже прошедший этап)
 
Ммм... Rosh, если я правильно уловил, вопрос изначально проще ставился - просто нужен метод, позволяющий открыть/закрыть позицию в определенный момент, не следя вручную за графиком. Во всяком случае, я так сначала думал, пока дискуссия в дебри клоза не забралась...

Киса, верно? т.е. Вам просто нужна возможность автоматически задавать подобные условия:

"ЕСЛИ (с открытия сделки прошло > 3 часов 35 минут) - ЗАКРЫВАЕМ ОРДЕР"
или
"ЕСЛИ (время больше или равно часу дня) - ЗАКРЫВАЕМ ОРДЕР"

да?

В таком случае вам нужно воспользоваться стандартными средствами mql - скомпилировать советник и кинуть его на график. Он все сделает )).

Вот, например, такой код будет закрывать все ордера после достижения заданного нами времени:

extern datetime stop_time; //в начале работы советника установим эту переменную на нужное время

int start() {
  int slippage = 3;
  if (TimeCurrent() >= stop_time) { // если время больше или равно заданному
     for (int i=OrdersTotal()-1; i>=0; i--) { // ходим по списку ордеров
       OrderSelect(i,SELECT_BY_POS);
       int ot = OrderType();
       if (ot!=OP_BUY && ot!=OP_SELL) continue; // если ордер неактивный (отложенный) - пропустим его
       double price;
       if (ot == OP_BUY) price = Bid; else price = Ask;
       OrderClose(OrderTicket(),OrderLots(),price,slippage);
     }
   }
}



(данный пример - черновик, добавьте туда проверки и все такое прочее)

Это, конечно, не отменяет правоты Rosha в вредыдущей дискуссии - точно по клоузу закрыться не получится - либо по Open-у следующей свечи, либо нужно ловить время "23:59:55" (тоже советниками, но зацикленными - но мне показалось, что исходно у вас вопрос проще стоял)

*************

PS: разработчикам: не умирает надежда увидеть в МТ5 тернарный оператор. Конструкции в две строки утомили.
PPS разработчикам 2: вообще, почему бы не сделать дефолтный параметр price=-1 при закрытии по рынку? к чему эта ерунда с выяснением бид-аска?


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

2 Quod Licet .... я так поняла можно автоматизировать процесс открытия и закрытия сделок для реального рынка? ТЕ мне стоит поискать програмиста
 
Да, можно для реального (конечно, перед этим полученный код нужно протестировать на демо, чтобы убедиться, что никаких сюрпризов не будет).

Можно поискать программиста, можно самой разобраться - там все не очень сложно, все функции описаны в хелпе. Фактически, тот код, который я привел, уже должен работать так, как вам нужно - закрывать все ордера в конце сессии (если я в мелочах не наврал) - посмотрите в справочной системе подсказки к использованным мной функциям, там все прозрачно.

Если нужно следить за конкретным ордером - все будет еще проще, без цикла - просто вводите в начале работы тикет ордера и советник конкретно его закрывает.
Причина обращения: