
ゴールドクロス移動平均策略は,移動平均に基づいてトレンド追跡策略である.この策略は,異なる周期の移動平均を計算して,市場のトレンド方向を判断し,それに基づいて取引シグナルを生成する.具体的には,この策略は,50日線,100日線,200日線の3つの移動平均を計算し,短期平均線が下方から上方への長期平均線を破るとき,買入シグナルを生成する.短期平均線が上方から下方への短期平均線を破るとき,売りシグナルを生成する.
この戦略の核心信号は,移動平均線の黄金交差からくる.いわゆる黄金交差は,短期移動平均線が下から上を突破して長期移動平均線を突破し,市場が多頭トレンドに入っていることを示している.この戦略は,50日線を短期平均線,200日線を長期平均線とし,二つの平均線が黄金交差の発生時に買い,50日線を短期平均線,100日線を長期平均線とし,短期平均線の下を長期平均線に突破して売り,取引サイクルを完了するのを待つ.
異なるパラメータの移動平均を設定することにより,市場のトレンドの転換点をよりよく捉えることができます.短期平均線は,最近の価格動向を反映して,価格の変化により迅速に反応します.長期平均線は,短期変動に無感で,主要なトレンドの方向を決定することができます.二つの平均線の間に黄金交差が形成され,トレンドの転換を効果的に確認し,取引信号を生成します.
この戦略の利点は以下の通りです.
トレンド追跡能力が強い。 双移動平均策略は,市場の主要トレンドに順応し,短期市場の騒音から邪魔されないようにし,強いトレンド追跡能力を持っている。
取引信号の明晰さ。戦略は完全に移動平均の関係に依存し取引信号を形成し,信号生成と解釈は非常に明晰で直接で,主観的な判断誤りを回避する。
簡単に実施できる反射.典型的なトレンド追跡戦略として,この戦略は迅速に反射を実施し,戦略の効果を評価することができる.
拡張可能な空間が大きい。移動平均パラメータ,取引品種,時間周期などにより,拡張を最適化して,より良いパラメータの組み合わせを探すことができる。
この戦略にはいくつかのリスクがあります.
ターニングポイントを逃す。移動平均は本質的に遅滞性があり,重要なターニングポイントを正確に位置づけることができない,最高の買い時を逃す可能性がある。
複数の偽信号を生成する.短期間に複数の金十字偽信号が生成され,投資家が誤判する.
突発事件のリスク 重要な突発事件は,市場が激しく波動する可能性があるため,移動平均策略は,このような異常な状況に対応することが困難である.
市場が長期にわたって広幅の振動状態にあるとき,この戦略は過剰な無効信号を生じ,操作が頻発するが,全体的な利益は弱い.
これらのリスクは,移動平均のパラメータを調整し,ストップ・ローズ戦略を設定し,または他の指標の組み合わせで使用することで回避できます.
この戦略は以下の点で最適化できます.
移動平均のパラメータを最適化して最適なパラメータの組み合わせを見つける.より多くの周期パラメータをテストすることも,三指数移動平均などの自適平均線を導入することもできる.
単一の損失を制御するために,ストップ戦略を追加する.移動ストップまたは比率ストップは,損失をさらに拡大するのを防ぐことができます.
他の指標のフィルタリング信号と組み合わせます. 双移動平均信号は,取引量,波動率などの指標と組み合わせて,トレンドが強い場合にのみ取引を確実にします.
機械学習技術を活用して戦略の最適化を行う.アルゴリズムが自動で最適のパラメータ組合せと取引ルールを検索し,戦略の収益率を繰り返し向上させる.
ゴールドクロス移動平均戦略は,二重移動平均の関係を計算して,市場の主要トレンド方向を判断し,中長線トレンドの機会を捕捉する.この戦略の優点は,シグナル判断の規則が明確で,実行しやすく,最適化され,中長線投資家の使用に適していることです.この戦略の遅れや,発生する可能性のある偽信号にも注意し,潜在的なリスクを回避するために,組み合わせと最適化措置を取るべきです.
/*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(title="MA Cross", overlay=true)
short = sma(close, 50)
short1 = sma(close[5], 50)
medium = sma(close, 100)
long = sma(close, 200)
long1 = sma(close[5], 200)
plot(short, color = color.red)
plot(long, color = color.green)
trendUp = (cross(short, long) and (long1 > short1) ? true : false)
x = if (trendUp)
(long1 - short1)*5
else
0
//start = timestamp(2000, 01, 01, 00, 00) // backtest start window
//finish = timestamp(2020, 02, 09, 23, 59) // backtest finish window
//window() => time >= start and time <= finish ? true : false
//strategy.entry("long", true, 1000, limit = high, when = window() and trendUp)
//strategy.close("long", when = window() and close < medium)
strategy.entry("long", true, 1, limit = high, when = trendUp)
strategy.close("long", when = close < medium)