この戦略は,ボリンジャーバンドに基づいた適応型取引システムで,価格とバンドの関係を動的にモニタリングすることによってポジションを管理する. 中間帯として20日間の移動平均値,チャネル幅の標準偏差2点を使用し,ブレークアウト確認と時間間分析を組み合わせて,最適化された資本配分のために取引信号を誘発する.
この戦略は,通常の分布範囲内の価格変動を制御するボリンジャー帯の統計的原則を適用しています.特に:
この戦略は,ボリンジャーバンドと時間間分析を通じて完全な取引システムを確立し,トレンドフォローとリスク制御のバランスをとっています.最適化のための余地がある一方で,全体的なデザイン哲学は基本的な定量的な取引原則と一致し,実践的な応用価値があります. 投資家はライブ取引におけるリスク耐性および資本規模に基づいて適切な調整を行うことをお勧めします.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy", overlay=true) // 設定布林通道 length = 20 source = close mult = 2.0 basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev // 畫出布林通道 plot(upper, color=color.red, linewidth=1) plot(basis, color=color.blue, linewidth=1) plot(lower, color=color.green, linewidth=1) // 設定買入條件:突破布林通道高點5%或持續1小時在高點上方 breakout_level = upper * 1.01 hour_breakout = ta.change(time("60")) == 1 and close > upper buy_condition = (close > breakout_level or hour_breakout) if (buy_condition) strategy.entry("Buy", strategy.long, qty=0.5) // 設定賣出條件:第一次回測中線、跌破低點5%或回升中線 sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0 sell_50_condition = close < lower * 0.95 // 賣出10%現貨 if (sell_10_condition) strategy.close("Buy", qty=0.1) // 賣出50%現貨 if (sell_50_condition) strategy.close("Buy", qty=0.5) // 監控買入與賣出信號 plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal") plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")