ボリュームの強さに基づくトレンドフォロー戦略


作成日: 2023-11-15 17:53:51 最終変更日: 2023-11-15 17:53:51
コピー: 1 クリック数: 854
1
フォロー
1617
フォロワー

ボリュームの強さに基づくトレンドフォロー戦略

概要

この戦略は,取引量の変化を計算し,市場のトレンドの方向を判断し,トレンド追跡方法を採用し,トレンドの開始段階でポジションを確立し,トレンドの終了時に平仓を停止する.

戦略原則

  1. 典型的な価格を計算する 典型的,対数リターン率inter,リターン率差winter
  2. 平均取引量vave,最大取引量vmaxを計算する
  3. 価格変化量mfを計算し,差差の値カットオフと比較し,価格駆動量vcpを計算する
  4. 総額vcpは量価指標vfiを得,それぞれvfiとその平均線vfimaを計算する.
  5. vfi と vfima の大きさを比較して,量価指標差値dVFI を得て,トレンド方向を判定する
  6. dVFI上は 0 を負の信号として,下は 0 を負の信号として
  7. dVFIの形状に基づいて,多額の空白策を策定する

戦略的優位分析

  1. この戦略は,トレンド判断に対する取引量変化の影響を十分に考慮し,動態指標でトレンドの強さや弱さを測定することで,トレンドの転換点をより正確に捉えることができます.
  2. 策略は取引量減価計算に組み込まれ,通常の変動をフィルターし,大金のみの集団行動を捉え,市場騒音に惑わされないようにする.
  3. 量と価格の関連判断,価格と取引量の総合的な考慮により,偽突破を効果的に回避できます.
  4. 均線フィルターと論理判断により,ほとんどの偽信号をフィルターできます.
  5. 逆転を予測するのではなくトレンドを追跡するというのは,中長線トレンドの取引に適しており,市場の主要方向を把握するのに役立ちます.

戦略的リスク分析

  1. この戦略は,トレンドを判断するために取引量の変化に大きく依存し,取引量が活発でない品種では効果が割引されます.
  2. 取引量データは操作されやすく,誤った信号を生成する可能性があるため,取引量値の偏差を防ぐ必要があります.
  3. 価格関係にはしばしば遅延があり,トレンドが始まる最高の入場時間を逃す可能性があります.
  4. 粗放なストップは,早めにストップし,トレンドを継続的に捉えることができない可能性があります.
  5. 短期的な調整に効果的に対応できず,突発的な出来事にも無反応である可能性もある.

均線システム,波動率指数などの入場と停止を最適化するために; 誤導信号を防ぐために,量値関係を分析するより多くのデータソースと組み合わせて; 短期的な調整への反応を高めるために適切な技術指標の追加を検討することができます.

戦略最適化の方向性

  1. 入場条件を最適化すると,平均線,ジャセオ極点などの判断を加えることを考え,トレンド開始後に入場を決定する.

  2. ストップを最適化する方法,移動ストップ,レベルストップなどを設定して,ストップを価格に近くしてトレンドをストップする.

  3. ADXのようなトレンド判断の要素を加えれば,横横と揺れ動いている市場の誤った取引を回避できます.

  4. パラメータ設定を最適化し,より長いデータ・トレッキングで最適なパラメータの組み合わせを検索する.

  5. 戦略をさらに多くの品種に拡大し,より質の高い品種,より取引量のある品種を探します.

  6. 機械学習モデルの導入を検討し,より多くのデータを活用して量価関係判断を行い,信号の質を向上させる.

要約する

この戦略の全体的な考え方は明確で,核心指標は直感的に分かりやすく,トレンドの方向を信頼して識別する.戦略の優点は取引量の変化を強調し,中長線トレンドを追跡するのに適しているが,誤導信号を防ぐ必要がある.パラメータ最適化,止損方法の改善,指標最適化組み合わせなどの面で改善することで,戦略の実盤パフォーマンスをさらに強化することができる.

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

//@version=4
strategy("Strategy for Volume Flow Indicator with alerts and markers on the chart", overlay=true)
// This indicator has been copied form Lazy Bear's code
lengthVFI = 130 
coefVFI = 0.2 
vcoefVFI = 2.5 
signalLength= 5 
smoothVFI=true 

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coefVFI * vinter * close
vave = sma( volume, lengthVFI )[1]
vmax = vave * vcoefVFI
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , lengthVFI )/vave, 3)
vfima=ema( vfi, signalLength )
dVFI=vfi-vfima

bullishVFI = dVFI > 0 and dVFI[1] <=0
bearishVFI =  dVFI < 0 and dVFI[1] >=0

longCondition = dVFI > 0 and dVFI[1] <=0
shortCondition = dVFI < 0 and dVFI[1] >=0

plotshape(bullishVFI, color=color.green, style=shape.labelup, textcolor=#000000, text="VFI", location=location.belowbar, transp=0)
plotshape(bearishVFI, color=color.red, style=shape.labeldown, textcolor=#ffffff,  text="VFI", location=location.abovebar, transp=0)

alertcondition(bullishVFI, title='Bullish - Volume Flow Indicator', message='Bullish - Volume Flow Indicator')
alertcondition(bearishVFI, title='Bearish - Volume Flow Indicator', message='Bearish - Volume Flow Indicator')

if(year > 2018)
    strategy.entry("Long", strategy.long, when=dVFI > 0 and dVFI[1] <=0)

if(shortCondition)
    strategy.close(id="Long")