% ボリュームオシレーター戦略

作者: リン・ハーンチャオチャン開催日:2023年11月6日 15:45:02
タグ:

img

概要:

パーセンテージ・ボリューム・オシレーター (PVO) は,ボリュームのモメント・オシレーターである.PVOは,ボリュームベースの移動平均値の2つの違いを,ボリュームトレンドの変化を測定するために,より大きな移動平均値のパーセントとして測定する.この戦略は,PVOを使用してボリュームトレンドを特定し,価格の動きを確認または否定する.通常,PVOが上昇または正であるときにブレイクまたはサポートブレイクが検証される.PVOは,PVOが上昇または正であるときに,PVOが上昇する.PVOは,PVOが上昇または正であるときに,PVOが上昇する.PVOは,PVOが上昇するときに,PVOが上昇する.PVOは,PVOが上昇するときに,PVOが上昇する.PVOは,PVOが上昇するときに,PVOが上昇する.

戦略論理:

  1. 短期間のボリューム EMA (デフォルト12日) を計算する
  2. 長期期間のボリューム EMAを計算する (デフォルト26日)
  3. 短期および長期EMAの割合差としてPVOを計算する
  4. PVO の信号線 EMA を計算する (デフォルト 9 日)
  5. PVO と信号線間の差としてヒストグラムを計算する
  6. 信号線が PVO を越えると短走し,下を通ると長走する
  7. 取引方向を逆転させるオプション
  8. 信号に基づく色帯

この戦略は,二重EMA組成を通じてPVO指標を形成し,潜在的な価格方向を予測するために,ボリュームトレンドの変化を識別する信号線を使用する.通常の二重EMAとは異なり,PVOは,ボリューム増加/減少のより明確な判断のために,ボリュームパーセント差により焦点を当てています.

利点:

  1. 早期警告として,将来の価格動向を決定するために,ボリュームの変化を利用する
  2. 柔軟なパラメータ調節とシンプルで実用的な二重EMA構造
  3. 直感的なトレンド判断と簡単な操作のための可視化された色バー
  4. 信号線は偽信号を減少させ,安定性を向上させる
  5. 選択的なリバース・トレーディングは戦略の使用を豊かにする
  6. 中期から長期間の動向と短期取引に適用される

この戦略は,価格アクションに対するボリューム変化の指示的な効果を完全に活用している.単一指標と比較して,PVO構造はボリュームトレンドの変化を判断し,潜在的な価格方向を事前に検出するためのカスタマイズ可能なパラメータによりより安定している.直感的な色差はトレンド決定と逆取引オプションを強化し,多角的なボリュームベースの戦略となっています.

リスク:

  1. ボリュームインジケーターは価格信号を遅らせており,異なる可能性があります.
  2. EMA パラメータの設定が正しくない場合,市場の状態を誤って判断する可能性があります.
  3. リバース・トレーディングには注意が必要で 損失を増やす可能性があります
  4. 容量の変化だけでは 特定の入口点を決定することはできません
  5. 総額は価格を完全に予測できず,他の指標と組み合わせる必要がある

ボリュームの変化はしばしば価格の動きに遅れ,PVOは価格がトレンド終了に近づくときに間違った信号を与える可能性があります.間違ったパラメータ設定は判断の正確性にも影響を与えます.トレンドが拡大する可能性があるため,逆取引では注意が必要です.ボリュームだけでは正確なエントリーポイントを決定することができず,タイミングのために他の指標の助けが必要です.ボリュムは価格を完全に予測できず,慎重にフォローする必要があります.

オプティマイズ

  1. 異なる製品と時間枠のための EMA 期間を最適化
  2. 無効信号を避けるためにフィルター条件を追加する
  3. 入力タイミングを確認するために他の指標を組み合わせる
  4. ストップ損失を追加する

トレンド検出のための最適な期間を見つけるためにEMA組み合わせをテストし最適化する.不効率な信号をフィルターするためにボリューム変動の値を追加する.さらなるエントリー確認のためにMACD,KDを組み込む.単一の取引損失を制御するためにストップロスを設定する.これらは戦略の適用性を大幅に改善する.

結論は

パーセンテージ・ボリューム・オシレーター戦略は,潜在的な価格方向を予測するためにボリューム・EMAの間のパーセント差を計算することによってボリューム・トレンドの変化を判断する.ボリューム変動を測定するためにシンプルで効果的なダブル・EMA構造を採用し,視覚効果を高めるために直感的なカラーコーディングを使用する.柔軟なリバース・トレードオプションとパラメータ設定により,中長期および短期間のトレードの両方に適している.しかし,ボリューム・インジケーターは価格信号に遅れ,正確なエントリータイミングを決定できないため,パラメーターと他の指標の組み込みは戦略のパフォーマンスを改善するために最適化する必要があります.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/09/2017
// The Percentage Volume Oscillator (PVO) is a momentum oscillator for volume. 
// PVO measures the difference between two volume-based moving averages as a 
// percentage of the larger moving average. As with MACD and the Percentage Price 
// Oscillator (PPO), it is shown with a signal line, a histogram and a centerline. 
// PVO is positive when the shorter volume EMA is above the longer volume EMA and 
// negative when the shorter volume EMA is below. This indicator can be used to define 
// the ups and downs for volume, which can then be use to confirm or refute other signals. 
// Typically, a breakout or support break is validated when PVO is rising or positive. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percentage Volume Oscillator (PVO)", shorttitle="PVO")
LengthShortEMA = input(12, minval=1)
LengthLongEMA = input(26, minval=1)
LengthSignalEMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xShortEMA = ema(volume , LengthShortEMA)
xLongEMA = ema(volume , LengthLongEMA)
xPVO = ((xShortEMA - xLongEMA) / xLongEMA) * 100
xSignalEMA = ema(xPVO , LengthSignalEMA)
xPVOHisto = xPVO - xSignalEMA
pos = iff(xSignalEMA < xPVO, -1,
	   iff(xSignalEMA > xPVO, 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(xPVO, color=blue, title="PVO")
plot(xSignalEMA, color=red, title="Signal")
plot(xPVOHisto, color=gray, title="PVO Histo", style=histogram)

もっと