Последовательная стратегия вверх/вниз за N дней

Автор:Чао Чжан, Дата: 2023-09-12 11:51:10
Тэги:

Последовательная стратегия вверх/вниз за N дней

В этой статье подробно представлена логика торговли, преимущества, потенциальные риски и краткое описание стратегии последовательного повышения/снижения N дней.

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

Логика стратегии

Во-первых, нам нужно установить два параметра:

последовательныйBarsUp: последовательные дни вверх Последовательный BarDown: последовательные дни безработицы

Затем мы записываем две переменные:

Взлеты: текущие последовательные дни подъема dns: текущие последовательные дни простоя

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

Когда Ups достигнет consecutiveBarsUp, мы идем длинным.

Это простая логика для последовательной стратегии вверх-вниз. Мы только долго после последовательных дней вверх с нижнего и выйти после последовательных дней вниз. Это избегает частой торговли на рынках диапазона.

Плюсы

  1. Простая логика, легкая для понимания и реализации

  2. Фильтрация краткосрочных колебаний по установке последовательных дней

  3. Лишь длинные, меньше сделок, более низкие затраты на транзакции и влияние скольжения

  4. Легко установить стоп-лосс, эффективно контролировать однократные убытки

Потенциальные риски

  1. Невозможность короткого топа, упущенные возможности короткого топа

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

  3. Временная задержка, не захватывая повороты в реальном времени

  4. Кредитные пакеты, не подлежащие отмене

Резюме

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


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
// strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

// There will be no short entries, only exits from long.
// strategy.risk.allow_entry_in(strategy.direction.long)

consecutiveBarsUp = input(1)
consecutiveBarsDown = input(1)

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)

time_cond  = true

// Messages for buy and sell
message_buy  = input("{{strategy.order.alert_message}}", title="Buy message")
message_sell = input("{{strategy.order.alert_message}}", title="Sell message")

// Strategy Execution

if (ups >= consecutiveBarsUp) and time_cond
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy)
    
if (dns >= consecutiveBarsDown) and time_cond
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)


Больше