PROTECTED SOURCE SCRIPT
SOMA NL (선행형)

//version=5
indicator(title="SOMA NL (선행형)", shorttitle="SOMA NL", overlay=true)
// 선행 주 수 입력
slide_weeks = input.int(10, title="선행 주 수", minval=0, maxval=52)
// 시간 단위 계산
var float minutes_per_bar = na
if timeframe.isminutes
minutes_per_bar := timeframe.multiplier * 1
else if timeframe.isdaily
minutes_per_bar := timeframe.multiplier * 1440
else if timeframe.isweekly
minutes_per_bar := timeframe.multiplier * 10080
else if timeframe.ismonthly
minutes_per_bar := timeframe.multiplier * 43200
bars_offset = math.round(slide_weeks * 7 * 1440 / minutes_per_bar)
// SOMA & RRP 호출
soma = request.security("FRED:WSHOSHO", "W", close) // SOMA (자산 매입잔고)
rrp = request.security("FRED:RRPONTSYD", "W", close) // Reverse Repo
valid_data = not na(soma) and not na(rrp)
net_liquidity = valid_data ? (soma - rrp) : na // SOMA 기반 NL
net_liquidity_normalized = net_liquidity / 1e12 // 단위: USD → Trillions
// BTC 기준으로 정규화
btc = close
btc_max = math.max(ta.highest(btc, 200), 1)
liq_max = math.max(ta.highest(net_liquidity_normalized, 200), 1e-4)
scale_factor = btc_max / liq_max
net_liquidity_scaled = net_liquidity_normalized * scale_factor
// 표시
plot(net_liquidity_scaled, offset=bars_offset, title="SOMA NL (선행)", color=color.blue, linewidth=2)
indicator(title="SOMA NL (선행형)", shorttitle="SOMA NL", overlay=true)
// 선행 주 수 입력
slide_weeks = input.int(10, title="선행 주 수", minval=0, maxval=52)
// 시간 단위 계산
var float minutes_per_bar = na
if timeframe.isminutes
minutes_per_bar := timeframe.multiplier * 1
else if timeframe.isdaily
minutes_per_bar := timeframe.multiplier * 1440
else if timeframe.isweekly
minutes_per_bar := timeframe.multiplier * 10080
else if timeframe.ismonthly
minutes_per_bar := timeframe.multiplier * 43200
bars_offset = math.round(slide_weeks * 7 * 1440 / minutes_per_bar)
// SOMA & RRP 호출
soma = request.security("FRED:WSHOSHO", "W", close) // SOMA (자산 매입잔고)
rrp = request.security("FRED:RRPONTSYD", "W", close) // Reverse Repo
valid_data = not na(soma) and not na(rrp)
net_liquidity = valid_data ? (soma - rrp) : na // SOMA 기반 NL
net_liquidity_normalized = net_liquidity / 1e12 // 단위: USD → Trillions
// BTC 기준으로 정규화
btc = close
btc_max = math.max(ta.highest(btc, 200), 1)
liq_max = math.max(ta.highest(net_liquidity_normalized, 200), 1e-4)
scale_factor = btc_max / liq_max
net_liquidity_scaled = net_liquidity_normalized * scale_factor
// 표시
plot(net_liquidity_scaled, offset=bars_offset, title="SOMA NL (선행)", color=color.blue, linewidth=2)
Script protetto
Questo script è pubblicato come codice protetto. Tuttavia, è possibile utilizzarlo liberamente e senza alcuna limitazione – per saperne di più clicca qui.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script protetto
Questo script è pubblicato come codice protetto. Tuttavia, è possibile utilizzarlo liberamente e senza alcuna limitazione – per saperne di più clicca qui.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.