トリプルSMAアダプティブKラインクロスオーバー長期戦略


作成日: 2023-11-24 14:26:37 最終変更日: 2023-11-24 14:26:37
コピー: 2 クリック数: 550
1
フォロー
1617
フォロワー

トリプルSMAアダプティブKラインクロスオーバー長期戦略

概要

この戦略は,3つの異なる周期の単純な移動平均 (SMA) とカフマン自律移動平均を使用する組み合わせによって,長線入場信号を形成する.短周期SMA上でより長い周期のSMAを穿越するときに買い信号を生成する.さらに,戦略は,K線実体色を組み合わせて主動トレンドを判断し,多頭トレンドのみで買い信号を生成し,偽突破を避ける.

戦略原則

この戦略は,SMA 4 ,SMA 9 ,およびSMA 18を含む3つの異なる周期のSMAを使用します. この3つのSMAの交差組み合わせは,トレンドの方向を判断する古典的な技術的な指標です.

偽のブレイクをフィルターするために,この戦略はKaufman自律移動平均も導入している.SMAの金叉信号は,閉盘価格が自律移動平均より高く,つまり多頭トレンドにある場合にのみ有効であり,ロングラインを起動する.

さらに,この戦略は, 100 周期の SMA を使って主動トレンドを判断する. 100 周期の SMA を越えたときに,価格が多頭トレンドに入ることを確認する. この戦略は,主多頭トレンドの中でのみ買い信号を生成する.

この戦略の買い付けシグナルは,以下のような要素の組み合わせから生まれています.

  1. SMA4はSMA9を穿越し,SMA9はSMA18を穿越し,短周期SMAの金叉を形成する
  2. カウフマン適応移動平均より高い終盤価格,多頭トレンド
  3. 100サイクルSMAの値上がりで多頭主が確認される

上記の3つの条件が同時に満たされると,長線買取信号が生成される.

優位分析

この戦略には以下の利点があります.

  1. 3重SMAの交差判断トレンドを使用し,ノイズを効果的にフィルターし,信号の信頼性を向上させる
  2. 適応性のある移動平均を導入し,明確なトレンドがない場合の偽突破を避ける
  3. 主なトレンド判断と組み合わせて,利得の確率を高め,不安定な状況で繰り返しポジションを開くのを避ける
  4. 長い短期のSMAは交差し,長線信号を形成し,より大きなトレンドの動きを捕捉するのに役立ちます.
  5. 4時間または日線レベルなどの高周期選択に適した信号はより信頼性がある

リスク分析

この戦略にはいくつかのリスクがあります.

  1. 長線戦略は,短期間に間に間に合うように停止できないので,一定で撤回するリスクがある.
  2. 輸入信号は比較的少ないため,上昇の部分を見逃した可能性がある.
  3. 短期,中期,長期のトレンドが一致しない場合,シグナルが誤って発生します.

言語の使い方を最適化するには

  1. 中長期SMAの周期を適切に短縮し,入場機会を増やす
  2. トレンドの信頼性を確認するために,取引量指数などの他の補助指標を加える
  3. 科学的な停止と合理的な制御

最適化の方向

この戦略は,さらに改善できる余地があります.

  1. より多くの組み合わせのSMA周期をテストし,最適なパラメータを探します.
  2. 偽の突破を避けるために,取引量確認を追加できます.
  3. 波動率の指標を追加して,波動が増加したシーンをフィルターします.
  4. 機械学習のアルゴリズムを導入し,最適参数を探し出すことができます.
  5. 市場がパニックや興奮を感じる時にポジションを押すのを避けるために,感情指標を導入できます.

要約する

この戦略は,複数のSMAの交差によって長線信号を形成し,同時に,移動平均と主動トレンドの判断を自律的に組み合わせることで,トレンドの状況で大きな利益を得ることができ,安定した論理と強力な実戦効果があります. しかし,一定のリスクもあります.

ストラテジーソースコード
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
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/
// © Wielkieef


//@version=5
strategy(title='twisted SMA strategy [4h] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

src = close

Length1 = input.int(4, title='  1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(9, title='  2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(18, title='  3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)

Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3

LengthMainSMA = input.int(100, title='  SMA Lenght', minval=1)

SMAas = ta.sma(src, LengthMainSMA)

//  Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(25, title='    Lenght')
sp = input.bool(true, title='  Self Powered')

er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001

///.

Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray

barcolor(color=Bar_color)

long_cond = Long_ma and SMAas < close and not a_f
  
long_stop = Short_ma 

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.close_all(when=long_stop)

//by wielkieef