У вас не стоит Flash Player
Настройки
#85689 - Thu Sep 12 2019 10:02 PM Работа с Сжатием
AndreyTrey Offline
newbie

Registered: Fri Aug 30 2019
Записи: 47
Всем привет)
Теперь такая ситуация: у меня идет сжатие 60 минут. Для выделения бара на 60 минутах должно быть три бара продаж друг за другом. Когда у меня стоит интервал 10 минут, то при появлении 2х баров продаж на часе и если начинает формироваться 3й бар продаж, т.е. закрытие 3го бара ниже закрытия 2го (на часе), то на 10 минутке каждые 10 минут происходит звуковое оповещение, хотя оно должно быть только тогда когда окончательно закроется бар на часе.
Когда выводишь формулу на график, то на истории сжатый сигнальный часовой бар подсвечивает 6 баров на 10 минутке. Как сделать что бы подсвечивал только один 10минутный бар, последний, а не все 6?

Наверх
#85690 - Fri Sep 13 2019 09:34 AM Re: Работа с Сжатием [Re: AndreyTrey]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
Добавить условие проверяющее, что это последний 10 минутный бар в часовике? По времени 10 минутного бара или по кол-ву баров с конца прошлого 60 минутного бара. Про клиринг только не забудьте .

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


Отредактировано OldMo (Fri Sep 13 2019 09:36 AM)

Наверх
#85691 - Fri Sep 13 2019 10:31 AM Re: Работа с Сжатием [Re: OldMo]
AndreyTrey Offline
newbie

Registered: Fri Aug 30 2019
Записи: 47
А как я могу сделать проверку если на часовике еще сигнал не сформировался. Допустим идет у меня два бара продаж, начинает формироваться 3й. На 10 минутке 3го бара закрываются бары продажами и появляются каждые 10 минут сигналы, и херак за последнии 10 минут цена улетает в покупки. И закрывается часовой бар покупками, а не продажами все сигнала как бы нет и не должно было быть

Наверх
#85694 - Fri Sep 13 2019 01:58 PM Re: Работа с Сжатием [Re: AndreyTrey]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
То есть у вас сигнал формируется на незакрытом 60 минутном баре?

Ну тогда логично проверять что он закрыт. Для не сжатых баров есть ctx.IsLastBarClosed (но я не уверен, что его можно в граф редакторе использовать). Но в любом случае, к данной ситуации не подходит.

Можно опять же через время баров проверять (но нужно учесть клиринг и то что могут быть проблемы на неликвидных инструментах). Или через системное время (но нужно быть в нем уверенным + я не знаю доступно ли оно в граф редакторе)

Наверх
#85695 - Fri Sep 13 2019 04:05 PM Re: Работа с Сжатием [Re: OldMo]
AndreyTrey Offline
newbie

Registered: Fri Aug 30 2019
Записи: 47
Да, на не закрытом. Если я ставлю таймфрейм 60мин и наблюдаю, то все четко, сформировался бар и сигнал, а если жду на 10 минутном, то получается такая муть.

Наверх
#85696 - Fri Sep 13 2019 05:40 PM Re: Работа с Сжатием [Re: AndreyTrey]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
Значит вам надо прописать условие определяющее закрыт последний бар на часовике или нет, а затем из этого условия и первоначального собрать нужную вам логику

Наверх
#85697 - Fri Sep 13 2019 06:49 PM Re: Работа с Сжатием [Re: OldMo]
AndreyTrey Offline
newbie

Registered: Fri Aug 30 2019
Записи: 47
Чет я не особо понимаю как это будет выглядеть? Последний бар он же всегда закрыт и формируется новый. Я понимаю если бы у меня сигнал был на 2 свечи назад, т.е. сигнал и ещё ждем свечу, тогда можно было бы написать что свеча после сигнала должно быть закрыта. И то фигня какая-то получается. Чёт пока вообще не соображу

Наверх
#85699 - Sat Sep 14 2019 02:08 PM Re: Работа с Сжатием [Re: AndreyTrey]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
Ну, во-первых, хочу предупредить, что я со сжатием работал мало и только на истории. Так что, вполне возможно не вижу какого то хорошего решения.

Последний бар закрыт не всегда. Регулярно получаю сообщение от программы типа "Нет свечи для привязки заявки № ... Сигналы сформированы не будут". Насколько я понимаю, это происходит когда на незакрытой свече была сделка.

Последний часовой бар у вас закрыт 1 раз из 6. Закрыт в смысле больше не будет меняться. на пересчете в 14:20 у вас будет один бар со временем 14:00, а на пересчете 14:30 другой. Вы, как я понимаю, хотите отфильтровать сигналы с незакрытых баров. Для этого надо написать условие проверяющее закрыт ли последний часовой бар.

Как бы я это делал:
Вариант №1: С учетом того что время на компьютере отличается от времени сервера на секунды, а скрипт работает на 10 минутках, то если системное время на 59 минут больше времени последнего часового бара, то этот бар не будет меняться. Например если время последнего сжатого бара 14:00, а сейчас 14:59 или позже то последний часовик закрыт. По хорошему еще бы проверить, что 10 минутный бар закрыт через ctx.IsLastBarClosed

Вариант №2: Часовой бар закрыт когда время последнего 10 минутного бара равно 18:40 или неважно сколько часов и 50 минут. Тут могут быть проблемы если бара с нужным временем не будет Например это возможно на неликвидных инструментах. Не думаю, что вы собираетесь торговать что-то, где может не быть сделок более 10 минут, но помнить об этом надо. Еще возможны технические проблемы на бирже - как приостановка торгов вчера на мосбирже.

Наверх


Moderator:  ViL, sar