概要: この戦略は,ボリンジャーバンド,KDJ指標,トレンドフォローを価格ブレイクオペレーションに使用します.ブレイクポイントで長目と短目エントリを行い,リスクを制御するためにストップロスを設定できます.
戦略論理:
価格動向を決定するために 15 日 30 日単純な移動平均を計算します.
上部と下部レールのボリンガー帯を計算し,BBレールのキャンドルスタイクブレイクを組み合わせて入口と出口を決定します.
RSI インディケーターを使用して,過剰購入および過剰販売状態を判断します. RSI 50 以上の値は過剰購入信号,RSI 50 未満は過剰販売信号を示します.
RSIが50を超えるBB上のレールの上を価格が突破すると,購入信号が生成される.RSIが50未満のBB下のレールの下を価格が突破すると,販売信号が生成される.
ATRストップ損失をリスク制御に設定する.
利点:
この戦略は,ボリンジャーバンドやRSIなどの複数の指標を組み合わせて取引信号を決定し,単一の指標によるエラーを効果的に回避できます.
トレンドフィルタリングにより 統合と逆転の際に 間違った信号を防ぐことができます
ATRのストップ・ロスは,各取引のリスクを制御します.
戦略の論理は単純で分かりやすいです
リスクと改善:
BB上下レールは,エンベロープ指標として絶対的なサポート/レジスタンスレベルではありません.価格はレールを破ってストップロスを打つ可能性があります.より広いストップロスを設定したり,タイムアウトなどの他のストップロスの方法を使用することができます.
RSIは一部の市場で失敗する可能性があります.より信頼性の高い過剰購入/過剰販売判断のために,KDJとMACDなどの他の指標を組み合わせることを検討できます.
逆転や整合時に間違った信号が発生する可能性があります.主要トレンドに沿った取引にトレンドフィルターを追加することができます.
改善 の 提案:
BB 期間と標準偏差を異なる製品でテストし最適化します
RSI 期間パラメータをテストして最適化します
ストップ・ロストやタイム・エグジットなどの他のストップ・ロスト方法をテストします
多要素モデルを構築するために 傾向指標や信号指標を追加します
結論は
この戦略は,BB,RSI,および入口および出口信号のための他の指標を組み合わせます.信号の正確性を確保しながらリスクを制御します.マルチファクターモデルなどのパラメータと強化によりより多くの最適化が可能です.全体として,価格ブレイクアウト戦略についてシンプルで実践的なアイデアを提供します.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Custom Strategy", overlay=true) length = 14 mult = 0.75 atr = atr(length) * mult // Moving averages ma15 = sma(close, 15) ma30 = sma(close, 30) // Bullish Engulfing pattern bullishEngulfing = close[1] < open[1] and close > open and close[1] < open and close > open[1] // Bearish Engulfing pattern bearishEngulfing = close[1] > open[1] and close < open and close[1] > open and close < open[1] // RSI rsi = rsi(close, length) // Buy condition if (bullishEngulfing and close[1] > ma15 and rsi > 50) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=close - atr) // Sell condition if (bearishEngulfing and close[1] < ma15 and rsi < 50) strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=close + atr) // Plotting plotshape(series=strategy.position_size > 0, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=strategy.position_size < 0, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")