μμ νμΈ μλν°μ λΆμ¬λ£κΈ°ν΄μ μ°μ
λ§κ·Έλλ‘ νμ΄ν¨ μμ μ°¨νΈλ₯Ό λ°μ νλ λ λ§λ€μ΄μ€
μμΉμΆμΈ λ Ήμ νλ½μΆμΈ λΆμμ λ°±κ·ΈλΌμ΄λ μμΉ λ¨Β
νμ μμΌλ©΄ κΊΌμ£Όμκ³
//@version=5
indicator("νμ΄ν¨μμ μ°¨νΈ - DC CHART", overlay= false, shorttitle="Custom HA")
// βββββββββββββββββββββββββββββββ
// 1. νμ΄ν¨ μμ κ³μ°
// βββββββββββββββββββββββββββββββ
var float haOpenVal = open
haCloseVal = (open + high + low + close) / 4
haOpenVal := na(haOpenVal[1]) ? (open + close) / 2 : (haOpenVal[1] + haCloseVal[1]) / 2
haHighVal = math.max(high, math.max(haOpenVal, haCloseVal))
haLowValΒ = math.min(low, math.min(haOpenVal, haCloseVal))
// νμ΄ν¨ μμ μΊλ€ νλ‘―
plotcandle(haOpenVal, haHighVal, haLowVal, haCloseVal, title="Heikin Ashi",Β
Β Β Β color = haCloseVal >= haOpenVal ? color.new(color.green,0) : color.new(color.red,0))
// βββββββββββββββββββββββββββββββ
// 2. μ΄λνκ· μ (MA50, MA99, MA200) - νμ΄ν¨μμ μ’ κ° κΈ°μ€
// βββββββββββββββββββββββββββββββ
ma50Β Β = ta.sma(haCloseVal, 50)
ma99Β Β = ta.sma(haCloseVal, 99)
ma200Β = ta.sma(haCloseVal, 200)
plot(ma50, color=color.blue, title="MA50")
plot(ma99, color=color.orange, title="MA99")
plot(ma200, color=color.purple, title="MA200")
// βββββββββββββββββββββββββββββββ
// 3. λ³Όλ¦°μ λ°΄λ (Period=20, Multiplier=2)
// βββββββββββββββββββββββββββββββ
bb_period = input.int(20, "λ³Όλ¦°μ λ°΄λ κΈ°κ°", minval=1)
bb_multΒ Β = input.float(2.0, "λ³Όλ¦°μ λ°΄λ λ°°μ", step=0.1)
bb_basisΒ = ta.sma(haCloseVal, bb_period)
bb_devΒ Β = bb_mult * ta.stdev(haCloseVal, bb_period)
bb_upperΒ = bb_basis + bb_dev
bb_lowerΒ = bb_basis - bb_dev
plot(bb_basis, color=color.yellow, title="BB Basis")
plot(bb_upper, color=color.yellow, title="BB Upper")
plot(bb_lower, color=color.yellow, title="BB Lower")
// βββββββββββββββββββββββββββββββ
// 4. λ§₯긴리 λ€μ΄λλ―Ή (McGinley Dynamic)
// βββββββββββββββββββββββββββββββ
// McGinley Dynamic 곡μ:Β
// MD = MD_prev + (price - MD_prev) / (N * (price/MD_prev)^4)
var float mg7Β = na
var float mg14 = na
var float mg28 = na
if bar_index == 0
Β Β mg7Β := haCloseVal
Β Β mg14 := haCloseVal
Β Β mg28 := haCloseVal
else
Β Β mg7Β := na(mg7[1])Β ? ta.ema(haCloseVal, 7)Β : mg7[1]Β + (haCloseVal - mg7[1])Β / (7Β * math.pow(haCloseVal / mg7[1], 4))
Β Β mg14 := na(mg14[1]) ? ta.ema(haCloseVal, 14) : mg14[1] + (haCloseVal - mg14[1]) / (14 * math.pow(haCloseVal / mg14[1], 4))
Β Β mg28 := na(mg28[1]) ? ta.ema(haCloseVal, 28) : mg28[1] + (haCloseVal - mg28[1]) / (28 * math.pow(haCloseVal / mg28[1], 4))
plot(mg7,Β title="MG Dynamic 7",Β color=color.aqua,Β Β linewidth=1)
plot(mg14, title="MG Dynamic 14", color=color.green, linewidth=1)
plot(mg28, title="MG Dynamic 28", color=color.orange,Β Β linewidth=1)
// βββββββββββββββββββββββββββββββ
// 5. MA6 (Close, Open) - νμ΄ν¨ μμ κΈ°μ€
// βββββββββββββββββββββββββββββββ
ma6_close = ta.sma(haCloseVal, 6)
ma6_openΒ = ta.sma(haOpenVal, 6)
sma6gcross= ma6_close > ma6_open
sma6dcross= ma6_close < ma6_open
sma6cross= sma6gcross orΒ sma6dcross
sma6crossColor = sma6cross ? (sma6gcrossΒ ? color.new(color.green, 90) : color.new(color.red, 90)) : na
bgcolor(sma6crossColor)
μ λ²μ μΊλ€ν¨ν΄ κ·Έκ±°λ μ΄λμ λ³΄κ³ κΈ°λ° μ‘μκ±°μ? λͺκ° κ²°ν©νκ³ μΆμκ² μλλ°
https://medium.com/@ziad.francis
μ¬κΈ°μ λ΄€μ μ’μ μμ΄λμ΄ μμ 곡μ μ’ γ γ
λ§λ€μ΄λ³΄κ³ μλκ² μλλ° μμ±νλ©΄ μ¬λ €λ³Όκ»
λ³Όλλ§λ€ κ°μΆ