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

作者: リン・ハーンチャオチャン開催日:2023年9月22日 14:40:03
タグ:

概要

これは,SMA移動平均値に基づくクロスオーバー戦略に従ったシンプルなトレンドで,BTCUSDやその他の暗号ペア取引のより高いタイムフレームに適しています.

戦略の論理

この戦略は,異なる期間の2つのSMA移動平均値に基づいています. 1つは10期SMAであり,もう1つは100期SMAです. この戦略は,2つのSMAの値を監視し続けます. 10期SMAがより短いSMAを100期SMAを超えると,上向きの傾向を示し,戦略は長くなります. 10期SMAが100期SMAを下回ると,下向きの傾向を示し,戦略は短くなります.

特に,戦略は,10期SMAと100期SMAの値を比較することによってクロスオーバーを決定する. 10期SMAが100期SMAを超えると,longConditionは trueに設定される. 戦略は,strategy.entry関数を通過してロングになる.逆に,10期SMAが100期SMAを下回ると,shortConditionが trueに設定される. 戦略は,strategy.entryを通過してショートになる.

この単純なSMAクロスオーバーシステムを通じて,戦略はトレンド逆転点を把握し,タイミングで市場に入り出ることができます.より短いSMAがより長いSMAを横切ると長くなって,より短いSMAがより長いSMAを下回ると短くなります.

利点

  1. 論理はシンプルで明快で 分かりやすく 実行しやすいし 初心者にも適しています

  2. SMAクロスオーバーは,トレンド逆転点を効果的に把握し,タイミングで市場に参入することができます.

  3. 移動平均値は市場騒音をフィルターし 傾向の方向性を特定します

  4. SMA期間は,異なる市場環境に応じて調整できます.例えば,牛市場では短期間,熊市場では長い期間です.

  5. この戦略は長い間 検証されており 暗号市場ではうまく機能しています

リスク

  1. SMAクロスオーバーが遅れて,遅刻入場とストップ損失のリスクを引き起こす可能性があります.

  2. 短めのSMAは偽ブレイクを生み出し,不必要なウィップソーを引き起こす可能性があります.

  3. 長期にわたってポジションを保持するときにストップロスを設定する必要があります.

  4. 他の指標と組み合わせる必要がある.

  5. 不適切なパラメータ設定は戦略の業績に影響を与える可能性がある.SMA期間は市場状況に応じて調整する必要があります.

改良

  1. SMAをRSIやボリンジャー帯などの指標と組み合わせることで 精度が向上します

  2. ストップ・ロスのメカニズムも追加します SMAブレイクストップ・ロスのように

  3. 市場状況,牛市場における短期間,熊市場における長期間に基づいて,SMAパラメータを動的に調整する.

  4. 短距離SMAと長距離SMAのクロスオーバー強度に基づいて異なる位置サイズを使用する.

  5. 価格がSMAに戻ると再入場する例です

  6. バックテストや紙取引を通じてパラメータと戦略を評価します

概要

SMAクロスオーバー戦略は,シンプルで明確な論理を持ち,理解し実行しやすい.異なる期間の2つのSMAのクロスオーバーを通じてトレンド逆転点を捕捉する.これは古典的なトレンドフォロー戦略である.利点は,トレンドを効果的に追跡できる直接論理と明確なトレード信号である.デメリットとしては,潜在的な遅延エントリーと偽ブレイクアウトである.リスクを制御し,実用的な結果を改善するために他の指標やストップロスのメカニズムを導入することで最適化することができます.継続的な最適化と検証により,この戦略は暗号取引のための非常に有用なトレンドフォロー戦略になることができます.


/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA Crossover Strategy", overlay = true)
// Simple MA crossover strategy with a 10/100 MA crossover)

strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")

price = security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("SMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(100, title="2nd MA Length")
type2 = input("SMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)


もっと