移動平均二国間振動取引戦略


作成日: 2023-12-11 14:38:48 最終変更日: 2023-12-11 14:38:48
コピー: 0 クリック数: 642
1
フォロー
1621
フォロワー

移動平均二国間振動取引戦略

概要

この戦略は,移動平均指数とブリン帯指数を組み合わせて,平均線の間を二重取引する戦略を実現する. 価格が上下軌道に突破するときに多めにし,価格が下下軌道に突破するときに空いて,平均線の間での価格の振動を利用して利益を得る.

戦略原則

  1. 速動平均をma_shortと遅動平均をma_longで計算する
  2. ma_shortで ma_longを履くと,多めに,ma_shortで ma_longを履くと,空いて
  3. ブリン帯の上線,下線,中線を計算する
  4. 価格が上から下を突破するとき,多信号を確認する;価格が下から下を突破するとき,空信号を確認する
  5. 移動平均指数とブリン帯指数のシグナルを組み合わせて,同方向のシグナルを発信するときにポジションを開く,異なる方向の平準ポジション

優位分析

  1. 双重指数と組み合わせると,比較的安定し,特定の偽信号を排除できます.
  2. 平均線とブリン帯の間を振動で取引し,高と低を追いかけるのを避ける
  3. 双方向取引が許可され,価格の波動から利益を得ることができます.

リスク分析

  1. ブリン帯のパラメータ設定は取引頻度と利益に影響する
  2. 大幅なトレンド市場では大きな損失を起こす可能性が高い
  3. 平均線システム自体は,より平準のポジションの損失を生じやすい.

リスク対策:

  1. ブリン帯のパラメータを最適化し,適切な取引頻度に調整する
  2. ストップ・ロース戦略を設定し,単発損失をコントロールする
  3. トレンド判断と組み合わせて,トレンドが目立たないときにこの戦略を使用します.

最適化の方向

  1. 異なる均線システムのパラメータの組み合わせをテストする
  2. 取引量指標のフィルタリング信号が追加されているかどうかを評価する
  3. RSIなどの指標を組み合わせたテストで,超買いと超売りの領域を決定する

この最適化により,利得率をさらに高め,不必要な取引を減らすことができ,取引頻度と損失のリスクを減らすことができます.

要約する

この戦略は均線システムとブリン帯の指標を組み合わせて,価格均線間の振動取引の戦略を実現している.二重指標の組み合わせは,信号の質を高め,双方向の取引がより多くの機会を得ることができる.パラメータをさらに最適化し,その他の補助指標の判断を加えることで,不必要な取引を減らすことができ,利得率を向上させることができる.

]

ストラテジーソースコード
/*backtest
start: 2023-12-09 00:00:00
end: 2023-12-10 00:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MA-Zorrillo",overlay=true)

ma_short= sma(close,8)
ma_long= sma(close,89)

entry_ma = crossover (ma_short,ma_long)
exit_ma = crossunder (ma_short,ma_long) 


BBlength = input(24, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

source = close
entry_bb = crossover(source, BBlower)
exit_bb = crossunder(source, BBupper)


vs_entry = false
vs_exit = false
for i = 0 to 63
    if (entry_bb[i])
        vs_entry :=  true
    if (exit_bb[i])
        vs_exit :=  true
        

entry = entry_ma and vs_entry
exit =  exit_ma and vs_exit

strategy.entry(id="long_ma",long=true,when=entry)
strategy.close(id="long_ma", when=exit)

strategy.entry(id="short_ma",long=false,when=exit)
strategy.close(id="short_ma",when=entry)