OPEN-SOURCE SCRIPT
๐ ProfittoPath โ Glass HUD

//version=5
indicator("๐ ProfittoPath โ Glass HUD", overlay=true)
// === Inputs ===
entryPrice = input.float(0.0, "Entry Price", step=0.01)
qty = input.float(1.0, "Position Size", step=1.0)
isLong = input.bool(true, "Long Trade?")
offsetY = input.int(60, "Vertical Offset (ticks)", step=1)
showPercent = input.bool(true, "Show % Change")
// === Calculations ===
inTrade = entryPrice > 0
priceDiff = inTrade ? (close - entryPrice) * (isLong ? 1 : -1) : na
plUsd = inTrade ? priceDiff * qty : na
plPercent = inTrade ? (priceDiff / entryPrice) * 100 : na
isProfit = inTrade ? (plUsd >= 0) : false
// === Colors ===
gold = color.rgb(255,215,0)
lossRed = color.rgb(255,90,90)
txtColor = isProfit ? gold : lossRed
bgGlass = color.new(color.rgb(15,15,15),85)
// === Entry Line ===
var line entryLine = na
if barstate.isfirst
entryLine := line.new(bar_index, entryPrice, bar_index, entryPrice, extend=extend.both, color=color.new(gold,40), style=line.style_dotted)
if inTrade
line.set_color(entryLine, color.new(gold,40))
else
line.set_color(entryLine, color.new(color.black,100))
// === Panel Label ===
var label pnlLabel = na
if barstate.isfirst
pnlLabel := label.new(bar_index, na, "", style=label.style_label_center, textcolor=txtColor, color=bgGlass, size=size.large)
// === Update ===
if inTrade
string pnlText = "๐ ProfittoPath Glass HUD\n"
pnlText += "โโโโโโโโโโโโโโโโโโโโโโโโ\n"
pnlText += "Trade: " + (isLong ? "LONG ๐" : "SHORT ๐") + "\n"
pnlText += "Entry: " + str.tostring(entryPrice, format.mintick) + "\n"
pnlText += "Current: " + str.tostring(close, format.mintick) + "\n"
pnlText += "P/L: " + (isProfit ? "+" : "") + str.tostring(plUsd, format.mintick) + " USD"
if showPercent
pnlText += " (" + str.tostring(plPercent, "#.##") + "%)"
pnlText += "\n"
pnlText += "โโโโโโโโโโโโโโโโโโโโโโโโ\n"
pnlText += "Status: " + (isProfit ? "PROFIT โ " : "LOSS โ")
label.set_text(pnlLabel, pnlText)
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, entryPrice + offsetY * syminfo.mintick)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, txtColor)
else
label.set_text(pnlLabel, "๐ Set Entry Price โ")
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, close)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, gold)
indicator("๐ ProfittoPath โ Glass HUD", overlay=true)
// === Inputs ===
entryPrice = input.float(0.0, "Entry Price", step=0.01)
qty = input.float(1.0, "Position Size", step=1.0)
isLong = input.bool(true, "Long Trade?")
offsetY = input.int(60, "Vertical Offset (ticks)", step=1)
showPercent = input.bool(true, "Show % Change")
// === Calculations ===
inTrade = entryPrice > 0
priceDiff = inTrade ? (close - entryPrice) * (isLong ? 1 : -1) : na
plUsd = inTrade ? priceDiff * qty : na
plPercent = inTrade ? (priceDiff / entryPrice) * 100 : na
isProfit = inTrade ? (plUsd >= 0) : false
// === Colors ===
gold = color.rgb(255,215,0)
lossRed = color.rgb(255,90,90)
txtColor = isProfit ? gold : lossRed
bgGlass = color.new(color.rgb(15,15,15),85)
// === Entry Line ===
var line entryLine = na
if barstate.isfirst
entryLine := line.new(bar_index, entryPrice, bar_index, entryPrice, extend=extend.both, color=color.new(gold,40), style=line.style_dotted)
if inTrade
line.set_color(entryLine, color.new(gold,40))
else
line.set_color(entryLine, color.new(color.black,100))
// === Panel Label ===
var label pnlLabel = na
if barstate.isfirst
pnlLabel := label.new(bar_index, na, "", style=label.style_label_center, textcolor=txtColor, color=bgGlass, size=size.large)
// === Update ===
if inTrade
string pnlText = "๐ ProfittoPath Glass HUD\n"
pnlText += "โโโโโโโโโโโโโโโโโโโโโโโโ\n"
pnlText += "Trade: " + (isLong ? "LONG ๐" : "SHORT ๐") + "\n"
pnlText += "Entry: " + str.tostring(entryPrice, format.mintick) + "\n"
pnlText += "Current: " + str.tostring(close, format.mintick) + "\n"
pnlText += "P/L: " + (isProfit ? "+" : "") + str.tostring(plUsd, format.mintick) + " USD"
if showPercent
pnlText += " (" + str.tostring(plPercent, "#.##") + "%)"
pnlText += "\n"
pnlText += "โโโโโโโโโโโโโโโโโโโโโโโโ\n"
pnlText += "Status: " + (isProfit ? "PROFIT โ " : "LOSS โ")
label.set_text(pnlLabel, pnlText)
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, entryPrice + offsetY * syminfo.mintick)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, txtColor)
else
label.set_text(pnlLabel, "๐ Set Entry Price โ")
label.set_x(pnlLabel, bar_index)
label.set_y(pnlLabel, close)
label.set_color(pnlLabel, bgGlass)
label.set_textcolor(pnlLabel, gold)
์คํ ์์ค ์คํฌ๋ฆฝํธ
์ง์ ํ ํธ๋ ์ด๋ฉ๋ทฐ ์ ์ ์ ๋ฐ๋ผ ์ด ์คํฌ๋ฆฝํธ ์์ฑ์๋ ํธ๋ ์ด๋๊ฐ ๊ธฐ๋ฅ์ ๊ฒํ ํ๊ณ ๊ฒ์ฆํ ์ ์๋๋ก ์คํ์์ค๋ก ๊ณต๊ฐํ์ต๋๋ค. ์์ฑ์์๊ฒ ์ฐฌ์ฌ๋ฅผ ๋ณด๋ ๋๋ค! ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ง๋ง ์ฝ๋๋ฅผ ๋ค์ ๊ฒ์ํ ๊ฒฝ์ฐ ํ์ฐ์ค ๋ฃฐ์ด ์ ์ฉ๋๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์.
๋ฉด์ฑ ์ฌํญ
์ด ์ ๋ณด์ ๊ฒ์๋ฌผ์ TradingView์์ ์ ๊ณตํ๊ฑฐ๋ ๋ณด์ฆํ๋ ๊ธ์ต, ํฌ์, ๊ฑฐ๋ ๋๋ ๊ธฐํ ์ ํ์ ์กฐ์ธ์ด๋ ๊ถ๊ณ ์ฌํญ์ ์๋ฏธํ๊ฑฐ๋ ๊ตฌ์ฑํ์ง ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด์ฉ ์ฝ๊ด์ ์ฐธ๊ณ ํ์ธ์.
์คํ ์์ค ์คํฌ๋ฆฝํธ
์ง์ ํ ํธ๋ ์ด๋ฉ๋ทฐ ์ ์ ์ ๋ฐ๋ผ ์ด ์คํฌ๋ฆฝํธ ์์ฑ์๋ ํธ๋ ์ด๋๊ฐ ๊ธฐ๋ฅ์ ๊ฒํ ํ๊ณ ๊ฒ์ฆํ ์ ์๋๋ก ์คํ์์ค๋ก ๊ณต๊ฐํ์ต๋๋ค. ์์ฑ์์๊ฒ ์ฐฌ์ฌ๋ฅผ ๋ณด๋ ๋๋ค! ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ง๋ง ์ฝ๋๋ฅผ ๋ค์ ๊ฒ์ํ ๊ฒฝ์ฐ ํ์ฐ์ค ๋ฃฐ์ด ์ ์ฉ๋๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์.
๋ฉด์ฑ ์ฌํญ
์ด ์ ๋ณด์ ๊ฒ์๋ฌผ์ TradingView์์ ์ ๊ณตํ๊ฑฐ๋ ๋ณด์ฆํ๋ ๊ธ์ต, ํฌ์, ๊ฑฐ๋ ๋๋ ๊ธฐํ ์ ํ์ ์กฐ์ธ์ด๋ ๊ถ๊ณ ์ฌํญ์ ์๋ฏธํ๊ฑฐ๋ ๊ตฌ์ฑํ์ง ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด์ฉ ์ฝ๊ด์ ์ฐธ๊ณ ํ์ธ์.