← Zurück

Вход в позицию по цене закрытия свечи при использовании готовых свечных данных

Добрый день! Использую готовые дневные свечи для бектестинга. Заметил, что вход / выход из позиции происходит только на открытии свечи. Как можно, имея только дневные свечи (если нужно - будут и часовые), входить / выходить из позиций в конце торгового дня? Речь идет о фондовом рынке, совершать сделки хотелось бы с 18 до 18.44 включительно, а не в 10.00. Входить можно грубо, по ClosePrice свечи, но желательно, чтобы "проходил" любой объем.

Какой путь здесь будет наиболее правильный, если нет тиковых данных и стаканов? Версия SS последняя на текущий момент. Спасибо.

War dieses Thema hilfreich?

Thema teilen

Kommentare (9)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Support
Support

Отвечу позже, нужно самому попробовать

gewinn
gewinn Autor

А примерно когда можно ждать ответ? Добрый день.

Support
Support

1-2 дня

gewinn
gewinn Autor

Support: 1-2 дня Скажите, стоит ли ждать ответ? Прошла неделя. Спасибо.

gewinn
gewinn Autor

up

Support
Support

Делаю

Support
Support

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

gewinn
gewinn Autor

Support: Пожалуйста выложите кусок Вашей стратегии. Нужно место, где решение принимается и заявка подается..

Ниже привел нужный вам момент и функции, которые его обрабатывают. Пример максимально упростил - только открытие длинной позиции и только 1 лот. Как только срабатывает правило торговли, сразу создается ордер и сразу он же регистрируется стратегией.

Т.е. все идет по такому порядку:

  1. Пришла свеча
  2. "Скормили" эту свечу индикаторам
  3. Прошлись по торговым правилам (индикаторы обновились новой свечкой, все в одном потоке)
  4. Если сработало правило - сразу создали и зарегистрировали заявку
  5. Получили вход по OpenPrice (хотя в индикаторы попала ClosePrice и торговый сигнал был сформирован на основе именно ClosePrice, проверял в дебаггере точками останова).

if (<правило торговли, например, пересечение мувингов>) 
{
var order = createOrder();
order.Direction = Sides.Buy;
order.Volume = 1;
registerOrder(order);
}

public Order createOrder()
        {
            var order = new AOrder
            {
                Price = 0,
                Type = OrderTypes.Market,
                Security = strategy.Security,
                Portfolio = strategy.Portfolio,
            };

            return order;
        }

public void registerOrder(Order order)
        {
            order
                .WhenNewTrade(strategy.Connector)
                .Do((trade)=>processOrderTrades(trade, order))
                .Apply(strategy);
            strategy.RegisterOrder(order);
        }


Support
Support

Торговое правило срабатывает, когда пришла дневная свеча? Суть в том, что в s# тестер - это эмулятор торговой системы... В нем эммулируются разные параметры торговой системы, в т.ч. биржевое время и время биржевой сессии. Если вы уже получили дневную свечу, то выполнить сделку по закрытию этой свечи нельзя.. Костыльное решение - это использовать свечи в двумя тайм-фремами, например, дневки и минутки... И выполнять сделки на предпоследней минутке, а для логики использовать дневки.. Последнюю (незавершенную) дневную свечу собирать из минуток...