
Это количественная торговая стратегия с несколькими показателями, объединяющая бринговые полосы, первичный равновесный график и поддерживающие уровни сопротивления. Стратегия идентифицирует потенциальные торговые возможности, анализируя волатильность рынка, силу тенденции и ключевые уровни цен. Стратегия использует точные условия входа и методы управления рисками для обеспечения стабильной торговой деятельности.
В стратегии используются три основных компонента технических показателей: буринская полоса для измерения рыночной волатильности и состояния перекупа и перепродажи; диаграмма равновесия для оценки направления и силы тренда; поддерживающая точка сопротивления для идентификации ключевых уровней цен. Комбинированное использование нескольких показателей обеспечивает более полный взгляд на рынок.
Торговые сигналы генерируются на основе следующих условий: когда цена прорывает траекторию буринской полосы, находясь выше первого облака и прорывая предыдущие высокие точки, вызывается многосигнал; когда цена падает вниз по траектории буринской полосы, находясь ниже первого облака и прорывая предыдущие низкие точки, вызывается пустой сигнал. Стратегия также включает в себя стоп-стоп настройки на основе процентов, чтобы контролировать риск.
Это количественная торговая стратегия, которая использует несколько технических показателей, чтобы захватить торговые возможности с помощью прорыва тенденции и подтверждения нескольких сигналов. Преимущества стратегии заключаются в высокой надежности сигнала, совершенном управлении рисками, но необходимо обратить внимание на такие вопросы, как ложные прорывы и оптимизация параметров. Благодаря постоянной оптимизации и управлению рисками эта стратегия, как ожидается, будет стабильной в различных рыночных условиях.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Ichimoku S/R Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input parameters
bb_length = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
ichimoku_tenkan = input.int(9, "Ichimoku Tenkan-sen")
ichimoku_kijun = input.int(26, "Ichimoku Kijun-sen")
ichimoku_senkou = input.int(52, "Ichimoku Senkou Span B")
sr_lookback = input.int(14, "S/R Lookback Period")
profit_target = input.float(1.5, "Profit Target (%)", minval=0.1, step=0.1)
stop_loss = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1)
// Bollinger Bands
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_mult)
// Ichimoku Cloud
tenkan = ta.ema(hl2, ichimoku_tenkan)
kijun = ta.ema(hl2, ichimoku_kijun)
spanA = (tenkan + kijun) / 2
spanB = ta.ema(hl2, ichimoku_senkou)
// Support and Resistance
highest_high = ta.highest(high, sr_lookback)
lowest_low = ta.lowest(low, sr_lookback)
// Entry conditions
long_condition = close > bb_upper and close > spanA and close > spanB and close > highest_high[1]
short_condition = close < bb_lower and close < spanA and close < spanB and close < lowest_low[1]
// Execute trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set profit target and stop loss
strategy.exit("TP/SL", "Long", profit=strategy.position_avg_price * (1 + profit_target / 100), loss=strategy.position_avg_price * (1 - stop_loss / 100))
strategy.exit("TP/SL", "Short", profit=strategy.position_avg_price * (1 - profit_target / 100), loss=strategy.position_avg_price * (1 + stop_loss / 100))
// Plot indicators
plot(bb_middle, color=color.blue, title="BB Middle")
plot(bb_upper, color=color.red, title="BB Upper")
plot(bb_lower, color=color.red, title="BB Lower")
plot(tenkan, color=color.orange, title="Tenkan-sen")
plot(kijun, color=color.purple, title="Kijun-sen")
spanA_plot = plot(spanA, color=color.green, title="Senkou Span A")
spanB_plot = plot(spanB, color=color.red, title="Senkou Span B")
plot(highest_high, color=color.green, title="Resistance")
plot(lowest_low, color=color.red, title="Support")
// Fill Ichimoku Cloud
fill(spanA_plot, spanB_plot, color=spanA > spanB ? color.rgb(76, 175, 80, 90) : color.rgb(255, 82, 82, 90))