Strategi Tren Harga Volume yang Dimodifikasi Berdasarkan Perubahan Harga Volume

Penulis:ChaoZhang, Tanggal: 2023-12-01 14:56:17
Tag:

img

Gambaran umum

Nama strategi ini adalah Modified Price-Volume Trend Strategy Based on Price-Volume Changes. Strategi ini menghitung perubahan kumulatif dalam harga dan volume, dikombinasikan dengan garis rata-rata bergerak untuk menetapkan posisi panjang dan pendek, untuk melacak tren.

Prinsip Strategi

Indikator inti dari strategi ini adalah indikator Modified Price Volume Trend (MPVT). Indikator ini mencerminkan antusiasme pasar dan arus masuk dan keluar modal melalui perubahan harga dan volume perdagangan. Rumus perhitungan spesifik adalah sebagai berikut:

rV = Volume / 50000
xCumPVT = Yesterday's xCumPVT + (rV * (Latest Close Price - Yesterday's Close Price) / Yesterday's Close Price) 

Kemudian dikombinasikan dengan parameter Level dan Scale, bangun indikator Price-Volume Change Residence:

nRes = Level + Scale * xCumPVT

Indikator Residensi mencerminkan perubahan gabungan dalam harga dan volume. Ketika melintasi di atas rata-rata bergerak sederhana N-hari, pergi panjang. Ketika jatuh di bawah rata-rata bergerak sederhana N-hari, pergi pendek.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Menghakimi antusiasme pasar dan arah arus modal melalui indikator harga-volume dapat menangkap titik balik tren secara tepat waktu.

  2. Penyesuaian yang fleksibel dari parameter strategi melalui optimasi parameter untuk beradaptasi dengan lingkungan pasar yang berbeda.

  3. Strategi shorting dapat direalisasikan dengan mengatur parameter input terbalik untuk memperluas skenario aplikasi strategi.

Analisis Risiko

Ada juga beberapa risiko dalam strategi ini:

  1. Indikator volume harga rentan terhadap sinyal palsu, dan mungkin ada kasus di mana terobosan tidak berlaku.

  2. Ini lebih cocok untuk pasar tren, dan dapat menghasilkan sinyal palsu di pasar yang terikat rentang.

  3. Efek dari optimasi parameter tergantung pada siklus historis, yang dapat menyebabkan risiko over-fitting.

Arahan Optimasi

Aspek berikut dapat dipertimbangkan untuk mengoptimalkan strategi ini:

  1. Uji rata-rata bergerak yang berbeda, seperti rata-rata bergerak tertimbang, EMA, dll untuk melihat kombinasi mana yang lebih baik.

  2. Gabungkan dengan indikator lain, seperti RSI, KD, dll untuk menyaring sinyal dan mengurangi kemungkinan sinyal palsu.

  3. Uji kombinasi parameter yang berbeda untuk menemukan pasangan parameter yang optimal. Metode optimasi bertahap juga dapat diadopsi untuk memperbarui parameter secara real time.

  4. Meningkatkan stabilitas strategi dengan menggabungkannya dengan indikator tren seperti Bollinger Bands.

Ringkasan

Strategi ini menghitung perubahan kumulatif dalam harga dan volume untuk merancang indikator Residensi Perubahan Harga-Volume, yang dapat secara efektif mencerminkan arus masuk dan keluar modal. Ini adalah strategi COMBO harga-volume yang khas. Strategi ini sederhana dan praktis, cocok untuk pasar tren, dengan ruang optimasi yang besar melalui optimasi parameter dan optimasi kombinasi indikator, dan merupakan strategi tren yang sangat direkomendasikan.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/07/2018
//  The related article is copyrighted material from
//  Stocks & Commodities.
//  Strategy by HPotter.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Modified Price-Volume Trend Backtest", shorttitle="MPVT")
Level = input(0)
Scale = input(1)
Length = input(23)
reverse = input(false, title="Trade reverse")
xOHLC4 = ohlc4
xV = volume
rV = xV / 50000
xCumPVT = nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
nRes = Level + Scale * xCumPVT
xMARes = sma(nRes, Length)
pos = iff(nRes > xMARes, 1,
       iff(nRes < xMARes, -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=red, title="MPVT", linewidth = 2)
plot(xMARes, color=blue, title="MPVT", linewidth = 2)

Lebih banyak