커뮤니티
수식 부탁드립니다
//@version=5
indicator(
title="#DEMA Adjusted Average True Range [BackQuant]", shorttitle = "DEMA ATR [BackQuant]", overlay=true)
다음 TV 수식을 YT로 변환하고 싶습니다. 미리 감사드립니다.
//@version=5
indicator( title="DEMA Adjusted Average True Range [BackQuant]", shorttitle = "DEMA ATR [BackQuant]", overlay=true, timeframe="", timeframe_gaps=true )
// Define User Inputs
simple bool haCandles = input.bool(false, "Use HA Candles?")
simple int periodDema = input.int(7, "Dema Period", group = "Dema Atr")
series float sourceDema = input.source(close, "Calculation Source", group = "Dema Atr")
simple int periodAtr = input.int(14, "Period", group = "Dema Atr")
simple float factorAtr = input.float(1.7, "Factor", step = 0.01, group = "Dema Atr")
simple bool paintCandles = input.bool(false, "Paint Candles According to trend?")
string movingAverageType = input.string("Ema", title="MA Type", options=["SMA", "Hull", "Ema", "Wma", "Dema"],group = "Confluence")
simple int movingAveragePeriod = input.int(50, "Moving Average Period", group = "Confluence")
simple color longColour = #ff0000
simple color shortColour = #00ff00
/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
// Function
//DEMA//
DEMA(src, dLen)=>
e1 = ta.ema(src, dLen)
e2 = ta.ema(e1, dLen)
dema = 2 * e1 - e2
dema
DemaAtrWithBands(periodDema, source, lookback, atrFactor)=>
ema1 = ta.ema(source, periodDema)
ema2 = ta.ema(ema1, periodDema)
demaOut = 2 * ema1 - ema2
atr = ta.atr(lookback)
trueRange = atr * atrFactor
DemaAtr = demaOut
DemaAtr := nz(DemaAtr[1], DemaAtr)
trueRangeUpper = demaOut + trueRange
trueRangeLower = demaOut - trueRange
if trueRangeLower > DemaAtr
DemaAtr := trueRangeLower
if trueRangeUpper < DemaAtr
DemaAtr := trueRangeUpper
DemaAtr
// Function Out
DemaAtr = DemaAtrWithBands(periodDema, source, periodAtr, factorAtr)
/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
// Moving Average Switch Type
maOut = ta.ema(DemaAtr, movingAveragePeriod, movingAverageType)
/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////
// Conditions
DemaAtrLong = ta.crossover(DemaAtr, DemaAtr[1])
DemaAtrShort = ta.crossunder(DemaAtr, DemaAtr[1])
// Colour Condtions
var color Trend = #ffffff
if DemaAtrLong
Trend := longColour
if DemaAtrShort
Trend := shortColour
// Plotting
plot( DemaAtr, "ATR", color=Trend, linewidth = 2 )
plot(maOut, "Moving Average", color.white, 2, plot.style_line)
답변 1
예스스탁 예스스탁 답변
2025-11-17 14:17:03