単純移動平均ゴールデンクロスとデスクロス戦略


作成日: 2023-11-14 16:17:16 最終変更日: 2023-11-14 16:17:16
コピー: 0 クリック数: 716
1
フォロー
1617
フォロワー

単純移動平均ゴールデンクロスとデスクロス戦略

概要

この戦略は,複数の異なる時間周期の単純な移動平均 (SMA) の金叉死フォークに基づいて市場動向を判断し,買入シグナルを発出する.この戦略は,20日線,50日線,100日線,および200日線の4つのSMAを採用する.短期SMA上での長期SMAの穿越時に金叉シグナルとして,多めにする.短期SMAの下での長期SMAの穿越時に死フォークシグナルとして,空にする.

戦略原則

この戦略の核心的な論理は以下の通りです.

  1. 20日線,50日線,100日線,200日線を含む,複数の異なる時間周期のSMAを計算する.

  2. 短期SMA ((20日線) と長期SMA ((50日線,100日線,200日線) の交差を判断する.

  3. 20日線上を50日線を越えたときは金叉信号と判断して,多めにする.20日線下を50日線を越えたときは死叉信号と判断して,空きをする.

  4. 一方,50日線,100日線,200日線は,より長い周期のSMAがより短い周期のSMAの上に置かれるという大トレンド判断の論理を満たす必要があります.

  5. 入場信号優先:20日線と50日線>20日線と100日線>20日線と200日線。

  6. 出発信号は20日線が50日線を再び越えた.

この戦略は主にSMA線の交差によってトレンドの方向を判断する.牛市では,短期SMAの上で長期SMAを打つのは金叉信号で,市場がトレンドに入る可能性があることを示している.熊市では,短期SMAの下での長期SMAを打つのは死叉信号で,市場が調整に入る可能性があることを示している.さらに,より長い周期SMAがより短いSMAよりも高いことは,大きなトレンドの判断の根拠でもある.

戦略的優位性

この戦略の利点は以下の通りです.

  1. 戦略はシンプルで明快で,理解し,実行しやすい.

  2. SMA指数移動平均を使用すると,EMAよりも効率的に市場のノイズをフィルタリングし,トレンドを識別できます.

  3. 多組時間周期SMAの組み合わせにより,信号の信頼性が向上する.

  4. 入場信号の優先順位を合理的に設定し,早期入場を避ける.

  5. オーダーメイドのSMA周期と色,最適化戦略.

  6. 複数のタイムサイクルで利用でき,異なる取引スタイルに適しています.

  7. SMAクロスシステムは,大盤のトレンドの判断に非常に正確で有効である.

戦略リスク

この戦略には以下のリスクもあります.

  1. 震動状況では,SMA交差信号は頻繁であり,大量に誤信号を生成する可能性がある.

  2. 固定SMA周期は市場の変化に適応できないので,トレンドと波動率の最適化SMAパラメータを組み合わせるべきである.

  3. SMAクロスだけでは入場時刻を判断できないので,MACDなどの他の指標と組み合わせて判断するべきである.

  4. SMAは遅滞性があるので,入場タイミングを早めに最適化するか,限値券を使用するべきである.

  5. この戦略は,取引資金管理に対する要求が高く,ストップ・ロジックに厳格に従う必要があります.

  6. 戦略的収益性に対する取引コストの影響を十分に考慮する必要があります.

戦略の最適化

この戦略は以下の点で最適化できます.

  1. SMA周期パラメータの最適化,異なる周期パラメータは,異なる市場状況に適用され,ATRダイナミック最適化と組み合わせることができる.

  2. MACD,RSIなどの他の指標の組み合わせを追加して,入場時間をフィルターするのに役立ちます.

  3. ADXのようなトレンド判断の論理を追加し,波動市場での誤取引を回避する.

  4. ATRで止まるか,追跡して止まるかを最適化する方法.

  5. ポジション管理を最適化し,資金規模に応じてポジションを動的に調整する.

  6. 異なる品種のパラメータの効果をテストし,特性に応じてSMA周期を調整する.

  7. 複数の時間枠を組み合わせて,大周期的な傾向が一致することを保証する.

要約する

全体的に見ると,SMA金叉死叉戦略は,単純な移動平均の交差システムによってトレンドの方向を判断し,信頼性が高く,ほとんどのトレーダーに適しています.しかし,それ自体にはいくつかの遅滞と誤信号の問題があります.我々は,入場時間を最適化,損失を防ぐ方法,ポジション,ポジション管理などの面で,この戦略をさらに完善し,さまざまな市場環境で安定した収益性を発揮できるようにする必要があります.複数の技術指標とトレンド判断の総合的な使用により,トレンド追跡戦略が真に安定,高効率,信頼性を持つことができます.

ストラテジーソースコード
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
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/
// © xyzdesign1989
//@version=5
strategy("SMA crossover buy/sell [SCSM_Algo]", overlay=true, margin_long=3000, margin_short=3000)


BuyCond = ta.crossover(ta.sma(close, 20), ta.sma(close, 50)) and ta.sma(close, 20) > ta.sma(close, 50) and  ta.sma(close, 50) > ta.sma(close, 100) and  ta.sma(close, 100) > ta.sma(close, 200) or (ta.crossover(ta.sma(close, 20), ta.sma(close, 100)) and ta.sma(close, 20) > ta.sma(close, 50))
if (BuyCond)
    strategy.entry("SCSM 🤲 Buy", strategy.long)

SellCond = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50))
if (SellCond)
    strategy.entry("الحمد للہ،Sell", strategy.short)

ma(source, length, type) =>
    type == "SMA" ? ta.sma(source, length) :
     type == "EMA" ? ta.ema(source, length) :
     type == "SMMA (RMA)" ? ta.rma(source, length) :
     type == "WMA" ? ta.wma(source, length) :
     type == "VWMA" ? ta.vwma(source, length) :
     na

show_ma1   = input(true   , "MA №1", inline="MA #1")
ma1_type   = input.string("SMA"  , ""     , inline="MA #1", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma1_source = input(close  , ""     , inline="MA #1")
ma1_length = input.int(20     , ""     , inline="MA #1", minval=1)
ma1_color  = input(#0929f6, ""     , inline="MA #1")
ma1 = ma(ma1_source, ma1_length, ma1_type)
plot(show_ma1 ? ma1 : na, color = ma1_color, title="MA №1")

show_ma2   = input(true   , "MA №2", inline="MA #2")
ma2_type   = input.string("SMA"  , ""     , inline="MA #2", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma2_source = input(close  , ""     , inline="MA #2")
ma2_length = input.int(50     , ""     , inline="MA #2", minval=1)
ma2_color  = input(#00fb04, ""     , inline="MA #2")
ma2 = ma(ma2_source, ma2_length, ma2_type)
plot(show_ma2 ? ma2 : na, color = ma2_color, title="MA №2")

show_ma3   = input(true   , "MA №3", inline="MA #3")
ma3_type   = input.string("SMA"  , ""     , inline="MA #3", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma3_source = input(close  , ""     , inline="MA #3")
ma3_length = input.int(100    , ""     , inline="MA #3", minval=1)
ma3_color  = input(#131313, ""     , inline="MA #3")
ma3 = ma(ma3_source, ma3_length, ma3_type)
plot(show_ma3 ? ma3 : na, color = ma3_color, title="MA №3")

show_ma4   = input(true   , "MA №4", inline="MA #4")
ma4_type   = input.string("SMA"  , ""     , inline="MA #4", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma4_source = input(close  , ""     , inline="MA #4")
ma4_length = input.int(200    , ""     , inline="MA #4", minval=1)
ma4_color  = input(#f60c0c, ""     , inline="MA #4")
ma4 = ma(ma4_source, ma4_length, ma4_type)
plot(show_ma4 ? ma4 : na, color = ma4_color, title="MA №4")