Strategi Indeks Volume Positif membandingkan jumlah semalam dan hari ini. Ia mengira perubahan harga pada hari-hari apabila jumlah berkembang untuk membentuk indeks jumlah positif, dan membandingkannya dengan purata bergerak untuk menjana isyarat perdagangan. Strategi ini mengikuti prinsip pasaran pengembangan jumlah dan harga serentak.
Strategi pertama mengira perubahan harga harian xROC. Ia kemudian membandingkan jumlah hari ini dengan jumlah semalam.[1] Jika jumlah hari ini lebih besar, indeks jumlah positif nRes hari ini adalah indeks nRes semalam[1] ditambah xROC. Jika jumlah hari ini kurang daripada atau sama dengan semalam, indeks hari ini tetap sama dengan nRes semalam[1].
Selepas mengira indeks volum nRes positif, ia dibandingkan dengan purata bergerak N-hari nResEMA. Jika nRes lebih besar daripada nResEMA, ia adalah isyarat panjang. Jika nRes kurang daripada nResEMA, ia adalah isyarat pendek.
Strategi ini mengikuti hubungan antara indeks jumlah positif dan purata bergerak untuk menjana isyarat perdagangan. Apabila indeks melintasi di atas purata bergerak, ia adalah isyarat beli. Apabila indeks melintasi di bawah, ia adalah isyarat jual.
Kelebihan strategi ini termasuk:
Ia menangkap momentum pasaran dengan memerhatikan perubahan jumlah.
Peningkatan indeks menunjukkan pasaran bull yang berpotensi.
Logiknya mudah untuk pelaksanaan dan backtesting.
Frekuensi dagangan boleh dikawal dengan menyesuaikan parameter purata bergerak.
Risiko utama strategi ini ialah:
Peningkatan jumlah tidak semestinya bermakna peningkatan harga.
Stop loss yang munasabah harus ditetapkan untuk mengawal kerugian.
Isyarat dari indeks dan pergerakan purata harga lag perubahan.
Volume yang tidak normal atau terlalu optimum boleh menyebabkan isyarat palsu.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Uji dengan menambah penunjuk teknikal lain seperti MACD, KDJ untuk penapisan isyarat.
Mengoptimumkan parameter purata bergerak untuk keseimbangan terbaik.
Tambahkan mekanisme stop loss seperti trailing stop untuk mengawal risiko.
Pertimbangkan keluar kedudukan separa untuk mengurangkan risiko secara beransur-ansur.
Mengoptimumkan parameter untuk produk tertentu untuk meningkatkan ketahanan.
Strategi indeks jumlah positif merancang dagangan berdasarkan perubahan jumlah, dengan beberapa pasaran mengikuti keupayaan. Tetapi perbezaan antara jumlah dan harga harus diperhatikan. Dengan mengoptimumkan parameter, menetapkan stop loss, menambah penunjuk dan lain-lain, strategi boleh dipertingkatkan untuk mengawal risiko dan meningkatkan prestasi. Ia sesuai untuk meneroka hubungan harga-volume dan membantu masa pasaran.
/*backtest start: 2023-08-18 00:00:00 end: 2023-09-17 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 11/10/2017 // The theory behind the indexes is as follows: On days of increasing volume, // you can expect prices to increase, and on days of decreasing volume, you can // expect prices to decrease. This goes with the idea of the market being in-gear // and out-of-gear. Both PVI and NVI work in similar fashions: Both are a running // cumulative of values, which means you either keep adding or subtracting price // rate of change each day to the previous day`s sum. In the case of PVI, if today`s // volume is less than yesterday`s, don`t add anything; if today`s volume is greater, // then add today`s price rate of change. For NVI, add today`s price rate of change // only if today`s volume is less than yesterday`s. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Positive Volume Index", shorttitle="Positive Volume Index") EMA_Len = input(255, minval=1) reverse = input(false, title="Trade reverse") xROC = roc(close, 1) nRes = iff(volume > volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0)) nResEMA = ema(nRes, EMA_Len) pos = iff(nRes > nResEMA, 1, iff(nRes < nResEMA, -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="PVI") plot(nResEMA, color=blue, title="EMA")