Новая версия платформы MetaTrader 5 build 6230: больше возможностей AI - страница 10

Roman #:

https://www.moex.com/msn/stocks-morning


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

Получается, что тестировать только по ценам Last с объемами>0 нужно.
Aleksei Kuznetsov #:
Получается, что тестировать только по ценам Last с объемами>0 нужно.
Не обязательно себя ограничивать этим, если требуются bid/ask в коде.
Для расчётов и своих сделок исключи аукционы по времени, да и всё.
И в реал торговле не будешь лупить в аукционы.
Roman #:
Не обязательно себя ограничивать этим, если требуются bid/ask в коде.
Для расчётов и своих сделок исключи аукционы по времени, да и всё.
И в реал торговле не будешь лупить в аукционы.

Купить и продать можно конечно только по bid/ask, так что хотелось бы их сохранить.

Но время аукционов менялось в 2024 с 10 утра перенесли на 7. И менеджер сказал, что еще будет что-то меняться. Под каждый инструмент / биржу не пропишешь весь график за несколько лет по разному. Советник потеряет универсальность. Надо что-то универсальное придумать.

Предложение для MQ:

Может MQ сделают флаг для тиков во время торговли? Старую историю уже не поправить, но хотя бы новая начнет собираться нормально.

Ilya Filatov #:


Так работает хорошо. Обычный wine с интерфейсом Q4wine

Спасибо, заработало... Создал новый префикс (с помощью bottles из AUR), наново установил МТ5 - и всё завелось.
Aleksei Kuznetsov #:
Получается, что тестировать только по ценам Last с объемами>0 нужно.

По ценам Last сделку не заключишь, позицию не откроешь.

А зачем сильно заморачиваться?  Есть правильные тики, советник торгует, правильных тиков нету, значит какая то байда на рынке, советник не торгует.

bool RefreshRates(string symb)
  {
   if(SymbolInfoTick(symb, tick))
      if(tick.bid > 0 && tick.ask >= tick.bid)
         return(true);
   return(false);
  }
Aleksandr Slavskii #:

По ценам Last сделку не заключишь, позицию не откроешь.

А зачем сильно заморачиваться?  Есть правильные тики, советник торгует, правильных тиков нету, значит какая то байда на рынке, советник не торгует.

К сожалению это не поможет отсеять неторговое время. Вот пример одного из дней:


Первый тик: bid=121.50 ask=130. Bid < Ask. Все правильно, но разница в цене 7,5%. К началу торговли они становятся 124.51 и 124.52.
Нужно точно детектировать неторговое время, в которое могут быть и Bid>Ask, а могут и не быть. Т.е. Bid>Ask - не достаточно для фильтрации.

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

Aleksei Kuznetsov #:

Купить и продать можно конечно только по bid/ask, так что хотелось бы их сохранить.

Но время аукционов менялось в 2024 с 10 утра перенесли на 7. И менеджер сказал, что еще будет что-то меняться. Под каждый инструмент / биржу не пропишешь весь график за несколько лет по разному. Советник потеряет универсальность. Надо что-то универсальное придумать.

Предложение для MQ:

Может MQ сделают флаг для тиков во время торговли? Старую историю уже не поправить, но хотя бы новая начнет собираться нормально.

В флагах наверняка есть неиспользуемые биты, так что доработка совсем небольшая, но полезная. Это не график изменений свопов, сделать намного проще. 

Плюс для брокеров (они то точно знают расписание своих инструментов с разных бирж) можно будет сделать простой скрипт, который добавит флаг к сохраненной истории. А поначалу пометить все как торговое время (по сути как сейчас и есть, т.е. на старых данных все будет без изменений, пока скриптом их не добавят).
Aleksei Kuznetsov #:
Первый тик: bid=121.50 ask=130. Bid < Ask. Все правильно, но разница в цене 7,5%. К началу торговли они становятся 124.51 и 124.52.
Я в своё время просто пропускал первую минуту после начала торговой сессии.
Aleksey Vyazmikin #:
Я в своё время просто пропускал первую минуту после начала торговой сессии.
Время начала торговой сессии как определить автоматически, если оно меняется в истории? Сейчас оно с 7, но в спецификации с 00:00. А до 2024 было с 10. Обещают еще изменения.
Aleksei Kuznetsov #:
Время начала торговой сессии как определить автоматически, если оно меняется в истории? Сейчас оно с 7, но в спецификации с 00:00. А до 2024 было с 10. Обещают еще изменения.
Да никак - прописать в коде время начала сессий для разных интервалов времени на истории. Ждать каких то глобальных изменений и индивидуального подхода - наивно, так как это экономически не обосновано для разработчиков.