mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-13 08:08:05 +00:00
28 lines
973 B
Plaintext
28 lines
973 B
Plaintext
// The MIT License (MIT)
|
|||
|
|
// © mihakralj
|
||
|
|
//@version=6
|
||
|
|
indicator("Positive Volume Index (PVI)", "PVI", overlay=false)
|
||
|
|
|
||
|
|
//@function Calculates Positive Volume Index, tracks price changes on days with higher volume
|
||
|
|
//@doc https://github.com/mihakralj/pinescript/blob/main/indicators/volume/pvi.md
|
||
|
|
//@param src Price series to use for calculation
|
||
|
|
//@param vol Volume series
|
||
|
|
//@param start_value Starting value for PVI (typically 100 or 1000)
|
||
|
|
//@returns float The PVI value
|
||
|
|
pvi(series float src, series float vol = volume, simple float start_value = 100.0) =>
|
||
|
|
var float pvi_value = start_value
|
||
|
|
if not (na(src) or na(vol) or na(src[1]) or na(vol[1]) or src[1] == 0.0 or vol[1] <= 0.0) and vol > vol[1]
|
||
|
|
pvi_value := pvi_value * src / src[1]
|
||
|
|
pvi_value
|
||
|
|
|
||
|
|
// ---------- Main Calculation ----------
|
||
|
|
|
||
|
|
// Parameters
|
||
|
|
src = input.source(close, "Price Source")
|
||
|
|
|
||
|
|
// Calculations
|
||
|
|
pvi_line = pvi(src, volume)
|
||
|
|
|
||
|
|
// Plot
|
||
|
|
plot(pvi_line, "PVI", color=color.yellow, linewidth=2)
|