Форум устарел! Поддержка тут: https://t.me/osengine_official_support
Актуальные гайды здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php
Продажа на закрытии, определение границ торговой сессии
Добрый день!
1) Как закрывать(открывать) позицию на закрытии свечи?
Как купить на открытии следующей свечи понятно. Надо просто вызвать BuyAtMarket в CandleFinishedEvent. И это будет работать и в тестах и в реальной бою с разницей на проскальзывание и задержки в реальности.
Но как купить по цене закрытия последней свечи, а не открытии следующей? Например, в 17:00 я понимаю, что хочу закрыться по цене закрытия свечи в 17:05. Как это сделать в боте так, чтобы код работал и для истории и реальной торговли.
2) Есть ли способ определить код класса инструмента при работе с историческими данными? Хочу захардкодить время торговой сессии и определять время окончания торгов. Но при использовании исторических данных упорно возвращается TestClass.
Цитата: aleste
Добрый день!
1) Как закрывать(открывать) позицию на закрытии свечи?
Как купить на открытии следующей свечи понятно. Надо просто вызвать BuyAtMarket в CandleFinishedEvent. И это будет работать и в тестах и в реальной бою с разницей на проскальзывание и задержки в реальности.
Но как купить по цене закрытия последней свечи, а не открытии следующей? Например, в 17:00 я понимаю, что хочу закрыться по цене закрытия свечи в 17:05. Как это сделать в боте так, чтобы код работал и для истории и реальной торговли.
2) Есть ли способ определить код класса инструмента при работе с историческими данными? Хочу захардкодить время торговой сессии и определять время окончания торгов. Но при использовании исторических данных упорно возвращается TestClass.
1) событие CandleFinishedEvent возвращает Вам массив свечек завершённый. Последний элемент массива - последняя свеча. Вызываете у неё Close - это Ваша цена входа. Далее отправляем эту цену в метод BuyAtLimit();
2) В тестере это не определить. Данных таких нет.
1) Я несколько путанно выразился. Но речь идет о закрытии позиции вместе с закрытием свечи. Т.е. метод, который я буду вызывать CloseAtLimit. Но дело в том, что лимитка начнет работать со следующей свечи. И, если цена открывается гэпом, то позиция может оказаться не закрыта, если цена упадет.
А в тестере этот вызов вообще приводит к довольном странным результатам: на баре, который открывается с гэпом вверх (т..е. лимитка на продажу по цене вчерашнего закрытия должна исполниться по цене открытия) лимитка исполняется по цене, расположенной внутри бара. Но здесь, я полагаю, неправильно задан шаг цены.
p.s. на тиках сделал и нормально.
ООО «ВАН ТЕХНОЛОГИИ»т: +7 953 769 56 45
* Торговля на финансовых рынках связана с риском, который лежит на Вас.
* Ничто из написанного на сайте o-s-a.net не является рекомендацией.
* Если Вы этого не понимаете, не читайте этот сайт, ничего не покупайте.