マルチSMA移動平均クロスオーバー戦略


作成日: 2023-11-28 15:08:37 最終変更日: 2023-11-28 15:08:37
コピー: 2 クリック数: 713
1
フォロー
1617
フォロワー

マルチSMA移動平均クロスオーバー戦略

概要

この戦略は,複数の時間帯のSMA平均線を計算し,平均値を採取して平均線指標を構築する.価格が上昇すると平均線を突破すると買い信号が生じ,価格が低下すると平均線を突破すると売り信号が生じる.これは典型的な平均線交差戦略である.

戦略原則

  1. 5つの異なる周期 (8日,21日,50日,100日,200日) のSMA平均を計算する
  2. 5つの平均線値を平均して,最終的な平均線指標が得られます.
  3. 値上がりが平均線を突破すると,買い信号が作られます.
  4. 平均線を突破したときに,売り込みシグナルが生成されます.

この戦略は,複数の時間帯のSMAの平均を介して,曲線を効果的に平らにし,偽突破を排除します.単一の平均線と比較して,より高い安定性を持っています.

優位分析

  1. 複数の時間帯の平均線を使用することで,市場のノイズを効率的にフィルムし,トレンドを識別できます.
  2. 曲線を平らにし,大量の偽信号を回避する
  3. 戦略の論理はシンプルでわかりやすく,理解しやすい実装で,初心者向けに適しています.
  4. カスタマイズ可能な均線周期組合せ,指標効果を最適化

リスク分析

  1. 平均線システムでは,価格の変化をタイムリーに追跡できないため,全体的に遅滞しています.
  2. 破綻すると,ストップポイントは遠く,損失のリスクは大きい.
  3. ストップラインが頻繁に発動する

これらのリスクは,適正な部分平均周期の縮小と,他の指標の確認を加えることで軽減することができます.

最適化の方向

  1. 均線周期组合を最適化して,最適なパラメータを見つける
  2. 取引量などの指標に突破信号を追加
  3. トレンド指数と組み合わせて,市場の揺れを避けるための偽信号
  4. 自動パラメータ最適化プログラムを開発し,動的に最適なパラメータを探します.

要約する

この戦略は,全体的な考えが明確で,複数の時間帯の均線的な統合によって,トレンドを効果的に識別できる,安定した実用的な戦略である。しかし,我々はまた,その遅滞性および誤報のリスクにも注意する必要がある。さらに最適化パラメータの設定,確認指標の追加などの手段によって,この戦略を継続的に改善し,強力な量化取引ツールにすることができる。

ストラテジーソースコード
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)


sma1 = sma(close,input(title="SMA 1", defval=8))

sma2 = sma(close,input(title="SMA 2", defval=21))

sma3 = sma(close,input(title="SMA 3", defval=50))

sma4 = sma(close,input(title="SMA 4", defval=100))

sma5 = sma(close,input(title="SMA 5", defval=200))


mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5

//color mediaSMA

MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)

MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)

colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )

plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)


//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")


// Strategy

//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1] 
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
 
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)

//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1] 
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]

strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)