Расчет Tradeview диапазонов Python Vwap Stdev ⇐ Python

Программы на Python
Anonymous
Расчет Tradeview диапазонов Python Vwap Stdev

Сообщение Anonymous »

Я ломаю голову, типа 2 дня без сна, пытаясь сделать полосы tradeview vwap со стандартным оборудованием на Python.
Я не могу получить то же значение, перепробовал много формул...
уже было мой DataFrame с правильным значением vwap (CSV ИЗ DF НИЖЕ)

Код: Выделить всё

datetime,timestamp,open,high,low,close,volume,VWAP_DAY
2024-10-04 21:00:00-03:00,1728086400000,0.534,0.5346,0.5314,0.5345,5311321.0,0.5335
2024-10-04 22:00:00-03:00,1728090000000,0.5344,0.5352,0.5305,0.5326,5260775.0,0.5331
2024-10-04 23:00:00-03:00,1728093600000,0.5327,0.5327,0.5276,0.5282,6445244.0,0.5318
2024-10-05 00:00:00-03:00,1728097200000,0.5281,0.5302,0.5266,0.5277,5083775.0,0.5309
2024-10-05 01:00:00-03:00,1728100800000,0.5277,0.5307,0.5267,0.5296,3029875.0,0.5307
2024-10-05 02:00:00-03:00,1728104400000,0.5295,0.5324,0.5293,0.5324,3780651.0,0.5308
2024-10-05 03:00:00-03:00,1728108000000,0.5323,0.5346,0.5307,0.5343,7718494.0,0.5313
2024-10-05 04:00:00-03:00,1728111600000,0.5343,0.5347,0.5313,0.533,5220037.0,0.5315
2024-10-05 05:00:00-03:00,1728115200000,0.5329,0.5352,0.5318,0.5328,4142629.0,0.5317
2024-10-05 06:00:00-03:00,1728118800000,0.5328,0.5343,0.5318,0.5329,3128659.0,0.5318
2024-10-05 07:00:00-03:00,1728122400000,0.5328,0.5333,0.531,0.5315,2907398.0,0.5318
2024-10-05 08:00:00-03:00,1728126000000,0.5316,0.5325,0.5309,0.5314,1847370.0,0.5318
2024-10-05 09:00:00-03:00,1728129600000,0.5314,0.5324,0.531,0.532,3234747.0,0.5318
2024-10-05 10:00:00-03:00,1728133200000,0.5321,0.5329,0.5298,0.5304,6145601.0,0.5317
2024-10-05 11:00:00-03:00,1728136800000,0.5304,0.5319,0.5289,0.5307,3542143.0,0.5316
2024-10-05 12:00:00-03:00,1728140400000,0.5308,0.5312,0.5285,0.5298,3221815.0,0.5315
формула по умолчанию для стандартного отклонения никогда не дает того же стандартного отклонения, что и шоу TradingView.
Ниже приведен код tradeview, чтобы показать значение стандартного отклонения, возвращаемое из ta.vwap.

Код: Выделить всё

//@version=5
indicator(title="Volume Weighted Average Price", shorttitle="VWAP", overlay=true, timeframe="", timeframe_gaps=true)

hideonDWM = input(false, title="Hide VWAP on 1D or Above", group="VWAP Settings", display = display.data_window)
var anchor = input.string(defval = "Session", title="Anchor Period",
options=["Session", "Week", "Month", "Quarter", "Year", "Decade", "Century", "Earnings", "Dividends", "Splits"], group="VWAP Settings")
src = input(title = "Source", defval = hlc3, group="VWAP Settings", display = display.data_window)
offset = input.int(0, title="Offset", group="VWAP Settings", minval=0, display = display.data_window)

new_earnings = request.earnings(syminfo.tickerid, earnings.actual, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true)
new_dividends = request.dividends(syminfo.tickerid, dividends.gross, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true)
new_split = request.splits(syminfo.tickerid, splits.denominator, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true)

isNewPeriod = switch anchor
"Earnings"  => not na(new_earnings)
"Dividends" => not na(new_dividends)
"Splits"    => not na(new_split)
"Session"   => timeframe.change("D")
"Week"      => timeframe.change("W")
"Month"     => timeframe.change("M")
"Quarter"   => timeframe.change("3M")
"Year"      => timeframe.change("12M")
"Decade"    => timeframe.change("12M") and year % 10 == 0
"Century"   => timeframe.change("12M") and year % 100 == 0
=> false

isEsdAnchor = anchor == "Earnings" or anchor == "Dividends"  or anchor == "Splits"
if na(src[1]) and not isEsdAnchor
isNewPeriod := true

float vwapValue = na
float stdevAbsValue = na
float stdev = na

if not (hideonDWM and timeframe.isdwm)
[_vwap, _stdevUpper, _] = ta.vwap(src, isNewPeriod, 1)
vwapValue := _vwap
stdevAbs = _stdevUpper - _vwap
stdev := stdevAbs

plot(vwapValue, title="VWAP", color=#2962FF, offset=offset)
plot(stdev, title="stdev", color=color.rgb(255, 0, 0), offset=offset)
Я пытаюсь получить то же стандартное отклонение, что и Tradeview, но не могу понять формулу.
Уже сделал, разными способами, но так и не получил то же самое
может кто-нибудь мне с этим помочь? я не могу заснуть, думая об этом, и не могу найти правильную формулу.
Наиболее близкое значение, которое я получаю, — это вариант vwap со sma, равным 9, но это не правильно, хе-хе-хе
Я пытаюсь получить ту же формулу, что и в tradeview ta.vwap, чтобы показать полосы стандартного отклонения.
например, ищу метод стандартного отклонения, который возвращает то же значение, что и tradeview ta.vwap

Подробнее здесь: https://stackoverflow.com/questions/790 ... alculation

Вернуться в «Python»