2つの移動平均のクロスオーバー戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-25 15:15:46
タグ:

img

概要

この戦略は,エントリー&エグジットポイントを決定するために,RSI指標と組み合わせた二重移動平均の黄金のクロスオーバー原則を利用する.この戦略は主に26期EMAと12期EMA,および100期SMAと200期SMAの間のクロスオーバー状況を判断し,クロスオーバーが発生する際にRSI指標をチェックする際に取引信号を発信する.

戦略の原則

この戦略は主に二重移動平均値のクロスオーバー原則に基づいている.二重移動平均値の中で,26期EMAは短期的傾向を表し,12期EMAはさらに短期的な価格変動を表している.短期EMAが長期EMAを超越すると,価格は下落から傾斜に転移することを信号し,長期信号を示している.短期EMAが長期EMAを下回ると,価格は下落傾向から傾斜に転移することを信号し,短期信号を示している.戦略はまた100期SMAと200期SMAを組み込み,クロスオーバー状況に基づいて中長期および長期トレンドを決定する.

EMAとSMAクロスオーバーを決定することに加えて,戦略は,取引信号を発行するためにRSIインジケーターも組み込む.RSIは価格が過買いまたは過売れているかどうかを決定するのに役立ちます.70を超えるRSIは過買い信号を示し,30以下のRSIは過売れた信号を示します.したがって,戦略は,価格が極端に過買いまたは過売れたレベルにあるとき,不正な取引信号を発行するのを避けるために,EMAまたはSMAクロスオーバーが発生するときにRSIをチェックします.

利点

  1. 短期間の価格動向を決定するためにダブルEMAと中長期間の価格動向のためのダブルSMAを使用することで,価格のターニングポイントを効果的に検出できます.

  2. RSI インディケーターを組み込むことで,価格が過買いまたは過売れたときに誤った信号を避けるのに役立ちます.

  3. EMAとSMAのパラメータは,異なるタイムフレームと取引手段に合わせて調整できます.

  4. シンプルで明快な戦略ロジックは理解し最適化するのが簡単です

リスク

  1. 両方の移動平均値は遅延効果があり,価格転換点を早めに予測することができません.

  2. EMA,SMAパラメータの設定が不適切であれば,過剰な誤った信号が生じる可能性があります.

  3. RSIは,特定のケースでも失敗し,過剰購入/過剰販売価格を効果的に決定することができません.

  4. パラメータは,多用性がないため,異なる取引手段に合わせて調整する必要があります.

解決策

  1. 価格動向と潜在的な転換点を決定するために他の主要な指標を組み込む.

  2. パラメータの安定性をテストして 最高の勝利率を持つパラメータセットを選択します

  3. RSIの失敗を避けるために KD,BOLLなどの他の指標を組み込む.

  4. 異なる取引手段に基づくテストパラメータ,パラメータテンプレートを除く.

オプティマイゼーションの方向性

  1. 最適セットの EMA と SMA パラメータの組み合わせをテストする.

  2. 他の指標を組み合わせた戦略に追加します.通常はKD,MACDなどです.

  3. 合理的な比率を持つストップ・ロスト/テイク・プロフィート戦略を追加します

  4. 価格変動のしきい値を設定する. 価格変動のしきい値を設定する.

  5. トレーディング・シグナル基準を設定する.

結論

この戦略は,主に二重移動平均値のクロスオーバー原則を利用して取引信号を発行し,シンプルで実用的で最適化が容易である.しかし,価格のターニングポイントを予測する際に一定の遅れの影響があり,特定の市場で失敗する可能性があります.その安定性と勝ち率は,パラメータ最適化と指標の組み合わせによって改善することができます.全体的に言えば,この戦略は中長期トレンド取引に適しており,他の戦略に組み込めることができ,したがって一定の実用的な価値を持っています.


/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(shorttitle = "Gamma pips EMA Cross", title="MA Cross", overlay=true)
s100sma = sma(close, 100)
s200sma = sma(close, 200)
s26ema = ema(close,26)
s12ema = ema(close,12)

plot(s100sma, color = green, linewidth = 5)
plot(s200sma, color = blue, linewidth = 5)
plot(s26ema, color = yellow, linewidth = 3)
plot(s12ema, color = red, linewidth = 3)
EMACross = plot(cross(s26ema, s12ema) ? s26ema : na, style = cross, linewidth = 5, color = red)
SMACross = plot(cross(s100sma, s200sma) ? s200sma : na, style = cross, linewidth = 5, color = white)
Alert = cross(s26ema, s12ema)
alertcondition(Alert, title="EMA Crossing")

//============ signal Generator ==================================//
EMACrossover = crossover(s26ema, s12ema) //if yellow cross and is above red ->SELL
EMACrossunder = crossunder(s26ema, s12ema) //if yellow cross and is below red ->BUY
SMACrossover = crossover(s100sma, s200sma) //green crosses above blue ->Buy
SMACrossunder = crossunder (s100sma, s200sma) //green crosses below below ->Sell
price = close
BuyCondition = (EMACrossunder) and (price >= s100sma)
SellCondition = (EMACrossover) and (price <= s100sma)

///---------Buy Signal-------------///
if (BuyCondition)
    strategy.order("BUY ema crossunder", strategy.long)

 
///Short signal------//
if(SellCondition)
    strategy.order("SELL ema crossover", strategy.short)
   



もっと