移動平均交差ボラティリティバンド戦略


作成日: 2023-10-25 11:04:13 最終変更日: 2023-10-25 11:04:13
コピー: 0 クリック数: 729
1
フォロー
1617
フォロワー

移動平均交差ボラティリティバンド戦略

概要

平均線が波動帯を横断する戦略は,ブリン帯の指標を使用して市場の波動性を判断し,平均線と合わせて市場の傾向を判断し,波動率が低い場合の傾向方向を判断し,波動率が低いときの傾向利潤の取得を目的とする.

戦略原則

この戦略は,平均線とその上下波動を計算して市場の波動率を判断する.具体的には,まずn日間の単純な移動平均線を計算し,次に平均線の下の各拡張k倍の標準差の範囲を計算し,上線と下線,すなわちブリン帯を形成する.価格が上下線に近づくと,市場の波動が増加することを示す.価格が上下線の間にあると,市場の波動が減少することを示す.

この戦略は,波動が減る時に,均線の方向を利用してトレンドの方向を判断し,均線上行時に多行し,均線下行時に空行する.具体的には,価格が下軌道から上方突破したとき,多行し,価格が上軌道から下方突破したとき,空行する.各ポジションのストップ・ロスは,リスクを制御するために軌道に対応する.

この戦略の利点は,波動率が低い時にトレンドに参加し,一部の市場のランダムな波動を回避することで,利益の確率を高めることです.

優位分析

  1. 低波動率でトレンドを判断し,ランダム性を減らし,安定性を高める

この戦略は,ブリン帯の収縮と市場の波動が弱まる時にのみトレンドに参加し,高波動期間の不確実性を回避し,その結果ランダム性を減らし,安定性を高めます.

  1. 平均線は判断を助長し,判断の正確性を高めます.

この戦略は,ブリン帯の変動率を識別するだけでなく,均線判断の傾向方向を導入し,両者は相互検証し,判断の正確性を向上させることができる.

  1. リスクのコントロール

この戦略の各取引は,ブリン帯の上線または下線であるストップ・ローズを設定し,迅速にストップしてリスクを制御します.

リスク分析

  1. 傾向を誤って判断するリスク

ブリン帯の収縮の過程で均線方向が変化し,トレンド判断が誤り,その結果損失が生じることがある.

平均線パラメータを調整したり,他の指標を追加して検証することで,このリスクを減らすことができます.

  1. ブリン帯の波動は危険すぎる

ブリン帯のパラメータが大きく設定され,波動が大きすぎると,無効取引が多く発生する可能性があります.

ブリン帯の標準差倍数パラメータを調整して最適化することもでき,フィルタ条件としてブリン帯幅の値を設定することもできます.

  1. 破綻するリスク

価格が上線または下線を突破した後に失敗し,トレンドを形成できず,損失を招く可能性があります.

突破信号を検証する補助条件として,閉盤価格やK線が突破する時にのみ入場するか,量能を増やすなどを行うことで,突破失敗の確率を減らすことができる.

最適化の方向

  1. さらに多くの指標を検証する

MACD,KDJなどの他の指標を導入して平均線判断を検証し,判断の正確性を向上させることができる.

  1. オプティマイゼーションパラメータ

平均線パラメータ,ブリン帯標準差倍数パラメータを回測して最適化することで最適なパラメータの組み合わせが得られる.

  1. 入学時の選択を最適化する

収束価格またはK線実体がブリン帯を突破したときにのみ入場するように調整するか,または突破を検証するために量エネルギー条件を増やすように調整できます.

  1. ストップ・ロスの最適化

トレーリングストップや移動ストップなどの方法で利益をロックし,利益への反転を回避できます.

要約する

均線穿越波動帯戦略は,典型的なトレンド追跡戦略である.ブルリン帯を巧みに利用して低波動の時間帯を判断し,均線判断トレンドの方向を配合し,波動率が低い時にトレンドに参加する.これは,市場のランダム性の一部を効果的に排除し,安定性を高める.この戦略には一定の優位性があるが,一定のリスクもあるため,注意が必要である.より多くの指標を導入し,パラメータを最適化し,場内タイム等を導入することで,この戦略の安定性と利益因子を継続的に向上させることができる.

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

//@version=4
strategy("Trading Public School", overlay=true)
source = close
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)