この戦略は,価格動きに基づいてエントリー・ストップ・ロスのポイントを決定するために動的振動チャネルブレイクアウトを採用する.この戦略はシンプルで,モメントストックに適しています.
この戦略は,まず,動的振動チャネルを得るために過去20日間の最高高と最低低を計算する.その後,8日および32日指数関数移動平均を計算する.閉じる価格がチャネルの上部帯を突破し,8日EMAが32日EMAを超えると,ロングになります.価格が下部帯を突破したり,8日EMAが32日EMAを下回ると,終了します.ストップロスはチャネルの中部帯以下に設定されます.
具体的には,入国条件は次のとおりです.
閉じる価格は過去20日間の最高値で形成された ダイナミックな上部帯を突破します
8日間のEMAは32日間のEMAより高い.
出口条件は次のとおりです
ストップ・ロスは,価格が中間帯を下回るときに起動します.
8日間のEMAは32日間のEMAを下回る.
戦略は,動的チャネルを用いてトレンド方向と,EMAクロスオーバーを用いて現在の上昇トレンド状態を特定します.これはリスクを制御するのに役立ちます.
リスクはチャネル期間,EMA期間,ストップ・ロスのポジショニングを最適化することで管理できる.
動的振動ブレイクアウト戦略は,チャネルブレイクアウトとEMAクロスオーバーに基づいてトレンドとエントリーを識別するための明確な論理を持っています.ストップロスはリスクを制御するのに役立ちます.チャネル期間とEMA期間などのパラメータチューニングは利益因子を改善することができます.この戦略は,特に以前の高値を突破する継続パターンを持つ株式にうまく機能します.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Robrecht99 //@version=5 strategy("My Strategy", overlay=true, margin_long=100, margin_short=100) fast = ta.sma(close, 8) slow = ta.sma(close, 32) plot(fast, color=color.red) plot(slow, color=color.navy) entrycondition1 = ta.crossover(fast, slow) entrycondition2 = fast > slow sellcondition1 = ta.crossunder(fast, slow) sellcondition2 = slow > fast atr = ta.atr(14) //Donchian Channels days = 20 h1 = ta.highest(high[1], days) l1 = ta.lowest(low[1], days) mid = math.avg(h1, l1) plot(mid, "channel", color=#FF6D00) u = plot(h1, "Upper", color=#2962FF) l = plot(l1, "Lower", color=#2962FF) fill(u, l, color.new(color.blue, 90)) if (close > h1 and entrycondition2) strategy.entry("long", strategy.long) stoploss = close - atr * 3 trail = close - atr * 3 strategy.exit("exit", "long", stop=stoploss, trail_offset=trail) if (sellcondition1 and sellcondition2) strategy.close(id="long")