シングルポイント移動平均ブレイクアウト戦略は,チャンデ・モメンタム・オシレーターに基づいた定量的な取引戦略である.価格のモメンタム変化を計算することによって,市場が統合段階にあるときを検出する.チャンデ・モメンタム線が購入線の上を横切るか,販売線以下に落ちると,それに従ってロングまたはショート取引が実行される.
戦略はまず価格動向の変化を計算しますmomm
プラスモメントに分割します.m1
そして負の勢いm2
振り返る期間における正と負の動向をsm1
そしてsm2
最後にチャンド・モメントオシレーターchandeMO
この指標はゼロ線周りに振動する.ゼロ以上の値が強い上向きモメンタムを示し,ゼロ以下の値が強い下向きモメンタムを示します.
チェンデ・モメンタム線が低水準から購入線を越えると,価格はダウントレンドから突破し,上昇トレンドを開始する準備ができていることを示します. 戦略は長いものになります. ラインがより高いレベルから販売ラインを下回ると,ショートポジションが開始されます.
改善する方法には,ダイナミックな買い/売線,他の指標でシグナルをフィルタリング,リスク制御のためのストップロスの実施が含まれます.
シングルポイント移動平均ブレイクアウト戦略は,チャンデモメントオシレーターを使用してダウントレンドから統合へアップトレンドへのトレンドターニングポイントを特定し,低買い高売り取引を可能にします. シンプルで直感的なにもかかわらず,パラメータチューニング,シグナルフィルタリング,リスク管理の改善はパフォーマンスをさらに向上させることができます. 全体的に,定量的なトレーダーはトレンド逆転を決定するための効果的なツールとして機能します.
/*backtest start: 2024-01-02 00:00:00 end: 2024-02-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //* Backtesting Period Selector | Component *// //* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *// //* https://www.tradingview.com/u/pbergden/ *// //* Modifications made *// testStartYear = input(2021, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(10, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(999999, "Backtest Stop Year") testStopMonth = input(9, "Backtest Stop Month") testStopDay = input(26, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => true /////////////// END - Backtesting Period Selector | Component /////////////// strategy(title="Chande Momentum Strat", shorttitle="ChandeMO Strat", format=format.price, precision=2) length = input(9, minval=1) src = input(close, "Price", type = input.source) momm = change(src) f1(m) => m >= 0.0 ? m : 0.0 f2(m) => m >= 0.0 ? 0.0 : -m m1 = f1(momm) m2 = f2(momm) sm1 = sum(m1, length) sm2 = sum(m2, length) percent(nom, div) => 100 * nom / div chandeMO = percent(sm1-sm2, sm1+sm2) plot(chandeMO, "Chande MO", color=color.blue) hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line") buyline= input(-80) sellline= input(80) hline(buyline, color=color.gray) hline(sellline, color=color.gray) if testPeriod() if crossover(chandeMO, buyline) strategy.entry("Long", strategy.long, alert_message="a=ABCD b=buy e=binanceus q=1.2 s=uniusd") // strategy.exit(id="Long Stop Loss", stop=strategy.position_avg_price*0.8) //20% stop loss if crossunder(chandeMO, sellline) strategy.entry("Short", strategy.short, alert_message="a=ABCD b=sell e=binanceus q=1.2 s=uniusd") // strategy.exit(id="Short Stop Loss", stop=strategy.position_avg_price*1.2) //20% stop loss // remember to alert as {{strategy.order.alert_message}}