
金叉死叉トレンド追跡戦略は,短期移動平均と長期移動平均の交差を計算して入場と出場のタイミングを判断する.この戦略は,大レベルのトレンド判断と組み合わせて,トレンドが上昇する時に入場するだけで,トレンドが下がる時に積極的に止損退出する.
この戦略の核心指標は,短期移動平均と長期移動平均である.短期線は,通常5日,10日などの短い周期を選択し,価格の最近の変化を比較的に敏感に反映する.長期線は,通常20日,60日などの長い周期を選択し,価格の主要なトレンドを反映する.短期線が,下から長い線を横切るとき,金叉信号を生じると,トレンドは多頭トレンドに入ります.短期線が,上から下に長い線を横切ると,死叉信号を生じると,トレンドは空頭段階に入ります.
この戦略は同時に,より長い周期の移動平均を使用して,大レベルのトレンドの方向を判断する.大きなトレンドが上向きである場合にのみ,金叉時間中に多額の入場を行う.多額の入場後に,設定されたストップ条件に応じてストップを行う.価格上昇が設定されたストップポイントに達したときに,積極的にストップを行う.
空頭段階では,この戦略は,死叉信号を利用して止損する.短期移動平均が上下から突破して長期移動平均が死叉を形成すると,この時点でポジション保有者が一定程度の利潤を持っている場合,空頭をもたらすリスクを排除するために,外場止損を選択する.
金叉死叉戦略は,入場と出場を判断するルールはシンプルで明確で,容易に理解し,実行できる.また,トレンド判断と組み合わせて,トレンド取引で被套されるリスクを減らすことができる.この戦略には以下の利点があります.
1. 入場を正確にし,強さを追跡する
金叉が形成される時,短期的な市場が多頭進出を代表し,価格が突破と上昇の波が発生する可能性がある.この時点で入場し,市場が起こる可能性のある突破の機会を正確に捉えることができる.また,大きなトレンドが上昇する時にのみ入場し,逆勢が多套になるのを避ける.
2. 合理的な利回りで利益の一部を保証する
固定比率のストップ幅を設定し,到達すると積極的にストップする.このストップ方式はシンプルで実用的で,状況が大きく上昇した後にタイムリーに退場することができ,部分利益を実現する.
3. リスクの管理
空気トレンドが来るとき,デッドフォーク信号を使用してトレンドの逆転を判断し,止損を選択する. タイムリーな止損は空気段階による損失を最大限に回避し,リスク管理に有効である.
この戦略の主なリスクは以下の2つから生じます.
1. 金叉死叉信号の判断誤りのリスク
複雑な市場環境では,金叉死叉のような単純な指標を頼りに多空判断するだけで,ある程度の誤信号が発生する可能性があります.複雑な状況では,Price Actionのパターンの判断は,指標信号よりも正確で立体です.
2. ストップ・ストップ・ポイントの誤った設定によるリスク
固定比率のストップ・ストロップ条件は市場の変化に完全に適応できない.ストップ・幅が小さすぎると,早退が利益損失につながる.ストップ・ポイントが大きすぎると,より大きな損失をもたらす可能性がある.
これらのリスクに対処するために,以下の方法で最適化できます.
コストライン,通路線などを使用する. コストライン,通路線などを使用する.
動的止損を静的比率の代わりに使用する. 止損を状況変化に合わせて調整できる判定条件として設定する.
金叉死叉のトレンド追跡戦略は,多空判断の根拠として単純な指標を使用し,原理は容易に理解できる。同時に,トレンドを組み合わせてフィルター信号を出し,被套のリスクを軽減する。判断の明晰さ,動的停止,及時停止損失などの利点がある。しかし金叉死叉の信号の精度が向上する見込みがあり,停止停止損失もさらに最適化する必要がある.これは,この戦略が直面する主な問題であり,改善の方向である。
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 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/
// © Ta3MooChi
//@version=5
strategy("전략", overlay=true,process_orders_on_close = true, pyramiding = 100)
short_ma = ta.sma(close,input.int(3, "단기 이평", minval = 1))
long_ma = ta.sma(close, input.int(19,"장기 이평", minval = 1))
trend_ma = ta.sma(close, input.int(100," 추세 이평", minval = 20, group = "추세 이평"))
up_trend = (trend_ma > trend_ma[1])
use_trend_ma = input.bool(true, title = "추세용 이평 사용", group = "추세 이평" )
inTrendMa = not use_trend_ma or up_trend
useDateFilter = input.bool(true, title = "특정 기간 백테스트", group = "기간 백테스트")
backtestStartDate = input(timestamp("1 Jan 2021"), title = "시작날짜", group = "기간 백테스트")
backtestEndDate = input(timestamp("1 Jan 2022"), title = "종료날짜", group = "기간 백테스트")
inTradeWindow = true
longStopPerc = 1 + input.float(3, "최소수익률%", minval = 1)*0.01
longcondition = ta.crossover(short_ma, long_ma)
shortcondition = ta.crossunder(short_ma, long_ma)
if (longcondition) and inTradeWindow and inTrendMa
strategy.entry("long", strategy.long)
if (shortcondition) and (close > strategy.position_avg_price*longStopPerc) and inTradeWindow
strategy.close_all()
if not inTradeWindow and inTradeWindow[1]
strategy.cancel_all()
strategy.close_all(comment = "매매 종료")
plot(short_ma,color = color.yellow)
plot(long_ma,color = color.blue)
plot(trend_ma,color = color.gray)