Bollinger Bands,Ichimoku Cloud,およびサポート/レジスタンスレベルを組み合わせた多指標量的な取引戦略である.この戦略は,市場の波動性,トレンド強度,および主要価格レベルを分析することによって潜在的な取引機会を特定する.堅牢な取引パフォーマンスを達成するために正確なエントリー条件とリスク管理方法を採用する.主な強みは,信号信頼性を高めるために複数の技術指標を通じてクロス検証にあります.
この戦略は,主要技術指標の3つの構成要素を使用しています. 市場変動と過買い/過売状態を測定するためのボリンジャー帯; トレンドの方向性と強さを評価するためのイチモククラウド; キー価格レベルを特定するためのサポート/レジスタンスレベル.複数の指標の組み合わせにより,より包括的な市場見通しを提供します.
トレードシグナルは,以下の条件に基づいて生成される. 価格が上位ボリンジャーバンド,イチモク雲の上のポジションを突破し,前回の高値を超えるとロングシグナルが起動. 価格が下位ボリンジャーバンド,イチモク雲の下のポジションを突破し,前回の低値を下回るとショートシグナルが起動. 戦略には,リスク管理のためのパーセントベースの利益目標とストップ損失が含まれます.
この戦略は,複数の技術指標を総合的に利用し,トレンドブレイクや複数のシグナル確認を通じて取引機会を把握する定量的な取引戦略である.この戦略の強みは高いシグナル信頼性と堅牢なリスク管理にあるが,誤ったブレイクやパラメータ最適化問題にも注意を払う必要がある.継続的な最適化とリスク管理を通じて,戦略はさまざまな市場条件で安定したパフォーマンスを維持する可能性がある.
/*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))