インスタントブレイクアウトボラティリティEMAトレンド戦略


作成日: 2024-01-15 12:00:25 最終変更日: 2024-01-15 12:00:25
コピー: 0 クリック数: 689
1
フォロー
1617
フォロワー

インスタントブレイクアウトボラティリティEMAトレンド戦略

概要

この戦略は単純な突破策であり,二つの異なるゼロ時遅れのEMAの差値を用いて,対象物の上昇または下降の勢いを追跡する.差値が一定数の倍数を超えると,基本EMAの方向に応じて多行または空行信号が生成される.

戦略原則

この策略は,波動率差を計算するために2つの特殊なタイプのEMA指標を使用します.これらのEMA指標の計算式は以下のとおりです.

hJumper = math.max(src,ta.ema(src,lx)) 

lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

この指数は,価格の大幅な変動に即座に反応し,遅滞しません.

バリン帯を上線する際のdifを超えると入場信号が生成され,ブリン帯中線より下線すると出場信号が生成される.基本EMA方向は多行または空行方向を決定する.

優位分析

この策略の最大の利点は,突破信号を遅滞なく迅速に捕捉することです.これは,2つの特殊なゼロ時遅延EMAを計算することによって実現されます.これは,策略が価格突破事件に即座に反応できるようにし,トレンド形成の初期により高い効率で捕捉することができます.

もう1つの優点は,この策略は1つのパラメータlxのみを使用していることです.パラメータが少ないことは,策略を調節しやすくし,過度に最適化のリスクを軽減します.

リスク分析

この戦略の主なリスクは,突破信号が偽突破を引き起こす可能性があることにある. 価格が揺れると,偽突破が連続して発生する可能性がある. このようなリスクを軽減するために,ブルリン帯の倍数を適切に拡大して,信号をより安定させることができる.

もう一つのリスクは,小規模な損失が頻繁に起こるというものです.これは,出場メカニズムを調整することで緩和できます.例えば,ストップ・ロッドまたはストップ・ストップの価格を設定します.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 他の指標と組み合わせた入場信号のフィルタリングにより,偽突破の確率を減らす

  2. リスク管理のための止損防止の強化

  3. 取引量の確認を導入し,多くの不正信号を回避する

  4. 適応ブリン帯のパラメータを使用して,市場の変動率に応じてパラメータを調整する

  5. 動的に最適化する戦略のパラメータ

要約する

この即時突破変動率EMA戦略は,ゼロ時間遅れのEMAを計算することによって価格トレンドの勢いを捕捉し,迅速な応答,パラメータの簡素性などの利点があります.次のステップは,フィルタリング信号,ストップ損失,取引量確認などの面で最適化され,戦略は,異なる市場環境で安定して動作できるようにすることができます.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false)

tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+
 " exposes you to more risk but potentially could generate larger returns."

src = input.source(close,"Source")
lx = input.int(200,"EMA Difference Length")
bbmult = input.float(2.0,"Standard Deviation Multiple")
useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1)

hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

[bbm,bbu,bbl] = ta.bb(dif,lx,bbmult)

plot(dif,color=color.white,title="Zero lag EMA Difference")
plot(bbu,color=color.lime,title="Bollinger Top")
plot(bbl,color=color.red,title="Bollinger Bottom")
plot(bbm,color=color.yellow,title="Bollinger Middle")

sigEnter = ta.crossover(dif,bbu)
sigExit = ta.crossunder(dif,bbm)
emaBase = ta.ema(src,lx)
enterLong = sigEnter and emaBase > emaBase[1]
enterShort = sigEnter and emaBase < emaBase[1]

plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny)

if enterLong
    strategy.entry("Long",strategy.long)
if enterShort
    strategy.entry("Short",strategy.short)
if not useBinaryStrategy and sigExit
    strategy.close("Long")
    strategy.close("Short")