ボリュームベースのトレンドフォロー戦略


作成日: 2023-11-03 15:47:22 最終変更日: 2023-11-03 15:47:22
コピー: 0 クリック数: 586
1
フォロー
1617
フォロワー

ボリュームベースのトレンドフォロー戦略

概要

取引量に基づくトレンド追跡戦略は,取引量の多空比を計算して,現在のトレンド方向を判断し,トレンド追跡取引を実現する.この戦略は取引量指数 ((On-Balance Volume, OBV)) によってインスピレーションを受け,取引量を判断する Close と Open の関係を計算して,取引量を正負と判断し,N 日移動平均を取り,指標を構成し,上を穿越軌道に多做し,下を穿越軌道に空做する.

原則

この戦略は主に以下のステップで構築されています.

  1. 取引量を正負として計算する.閉盘価格が開盘価格より高い場合,その根K線の取引量は正として記す.閉盘価格が開盘価格より低い場合,その根K線の取引量は負として記す.閉盘価格が開盘価格に等しい場合,その根K線の取引量は0として記す.

  2. N日間の取引量に正負の値を加えると,累積取引量が得られます.

  3. 累積取引量のN日移動平均を計算して,最終指標値を得る.

  4. 指標が上線する時は多めに;指標が下線する時は空いてください.

このように,取引量の正負の判断によってトレンドの方向を判断し,移動平均と組み合わせて取引信号を生成し,トレンドを効果的に追跡し,中長線の動きを捉えることができる.

利点

  • 取引量によるトレンドの判断はより説得力があり,取引量は市場参加者の意思を反映している.

  • 移動平均の円滑な曲線と組み合わせると,トレンドを追跡し,頻繁に取引を減らすことができます.

  • 移動平均の日数を調整することで,異なる周期の市場リズムに適応することができる.

  • 上下線を組み合わせることで,空き時間について明確に判断できる.

  • 戦略の論理はシンプルで明快で,実行が分かりやすい.

リスク

  • 動向を追跡する際には,指標が誤った信号を発信するリスクがあり,揺れの中に入ることもあります.

  • 極端な状況では,指数から外れることがあります.

  • 上下軌道は静的な設定で,市場の変動に動的に適応できない.

  • ストップ・ローズ戦略を考慮していないため,損失拡大の危険性がある.

  • 移動平均は後退し,トレンドの転換点を逃しているかもしれない.

思考を最適化する

  • 他の指標と組み合わせた取引を考慮して,誤った信号を回避できます.

  • 動的に上下軌道パラメータを計算し,市場の変動に自律的に適応させる.

  • 単一損失を抑えるため,損失防止機構を強化する.

  • 移動平均のタイプを市場のペースに合わせて調整する

  • 移動平均周期パラメータを最適化して,順位捕捉の効果を向上させる.

  • 突破して上下する際に,トラッキング・ストップを導入して利益をロックすることを考えることができます.

要約する

取引量に基づくトレンド追跡戦略は,取引量による正負判断トレンドを計算し,移動平均を生成し,取引信号を生じ,中長線トレンドを効果的に追跡する.この戦略の優点は,トレンド判断が正確で,ほとんどのトレーダーの長線操作習慣に合致していることである.しかし,いくつかの問題があり,市場の複雑さによりうまく対応するためにさらなる最適化が必要である.全体的に,この戦略は,取引量を量化するための簡単な実用的なトレンド追跡方案を提供し,ほとんどの量化者の取引ニーズに適合する.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/12/2017
// This is the second part of TFS trading strategy. The concept of this 
// indicator is similar to that of On-Balance Volume indicator (OBV). It 
// is calculated according to these rules:
// If Close > Open, Volume is positive
// If Close < Open, Volume is negative
// If Close = Open, Volume is neutral
// Then you take the 7-day MA of the results. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="TFS: Volume Oscillator", shorttitle="TFS: Volume Oscillator")
AvgLen = input(7, minval=1)
TopBand = input(40000, step=1)
LowBand = input(-35000, step=1)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
hline(0, color=blue, linestyle=line)
xClose = close
xOpen = open
xVolume = volume
nVolAccum = sum(iff(xClose > xOpen, xVolume, iff(xClose < xOpen, -xVolume, 0))  ,AvgLen)
nRes = nVolAccum / AvgLen
pos = iff(nRes > TopBand, 1,
       iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="TFS", style = histogram)