//@version=5
indicator("Auto USDT vs USDC Spread", shorttitle="USDC Spread", overlay=false)

// 1. ์ˆ˜๋™ ์„ค์ • ์˜ต์…˜ (๊ธฐ๋ณธ๊ฐ’์„ ๋น„์›Œ๋‘๋ฉด ์ž๋™ ํƒ์ƒ‰ ๋ชจ๋“œ๋กœ ์ž‘๋™)
manualSymbol = input.string("", title="์ˆ˜๋™ ์ž…๋ ฅ (๋น„์›Œ๋‘๋ฉด ์ž๋™ ๋ณ€ํ™˜)")

// 2. ํ˜„์žฌ ์ฐจํŠธ์˜ ํ‹ฐ์ปค ์ด๋ฆ„์—์„œ "USDT"๋ฅผ "USDC"๋กœ ์ž๋™ ๊ธ€์ž ์น˜ํ™˜
// ์˜ˆ: "BINANCE:SOLUSDT.P" -> "BINANCE:SOLUSDC.P"
autoTargetSymbol = str.replace(syminfo.tickerid, "USDT", "USDC")

// 3. ์ˆ˜๋™ ์ž…๋ ฅ๊ฐ’์ด ์žˆ์œผ๋ฉด ๊ทธ๊ฑธ ์“ฐ๊ณ , ์—†์œผ๋ฉด ์ž๋™ ์ƒ์„ฑ๋œ ์‹ฌ๋ณผ์„ ์‚ฌ์šฉ
targetSymbol = manualSymbol == "" ? autoTargetSymbol : manualSymbol

// 4. ํƒ€๊ฒŸ ์‹ฌ๋ณผ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
// (์ฃผ์˜: USDC ํŽ˜์–ด๊ฐ€ ์ƒ์žฅ๋˜์ง€ ์•Š์€ ์ฝ”์ธ์ผ ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š๋„๋ก ignore_invalid_symbol=true ์„ค์ •)
targetPrice = request.security(targetSymbol, timeframe.period, close, ignore_invalid_symbol=true)

currentPrice = close
spread = currentPrice - targetPrice

// 5. ์ƒ‰์ƒ ์ง€์ • (์–‘์ˆ˜: ์ดˆ๋ก, ์Œ์ˆ˜: ๋นจ๊ฐ•)
spreadColor = spread >= 0 ? color.new(color.green, 40) : color.new(color.red, 40)
lineColor = spread >= 0 ? color.green : color.red

// 6. ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ
hline(0, title="Zero Line", color=color.gray, linestyle=hline.style_dashed)
plot(spread, title="Spread Histogram", style=plot.style_columns, color=spreadColor)
plot(spread, title="Spread Line", color=lineColor, linewidth=1)

// 7. ํ˜„์žฌ ๋น„๊ต ์ค‘์ธ ํ‹ฐ์ปค๋ฅผ ํ™”๋ฉด ์šฐ์ธก ํ•˜๋‹จ์— ํ‘œ์‹œ (ํŽธ์˜์„ฑ ๊ธฐ๋Šฅ)
var table infoTable = table.new(position.bottom_right, 1, 1)
if barstate.islast
ย  ย  // USDC ํŽ˜์–ด ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์•ˆ๋‚ด ๋ฌธ๊ตฌ ์ถœ๋ ฅ
ย  ย  display_text = "๋น„๊ต ๋Œ€์ƒ: " + targetSymbol + (na(targetPrice) ? "\n(USDC ํŽ˜์–ด ์—†์Œ)" : "")
ย  ย  table.cell(infoTable, 0, 0, display_text, text_color=color.white, bgcolor=color.new(color.black, 60), text_size=size.small)


์š”๋Ÿฐ๋А๋‚Œ


ETHUSDT.P ๋ณด๊ณ ์žˆ์„๋•Œ ์ž๋™์œผ๋กœ ETHUSDC.P ์ฐพ์•„์„œ ๊ฐ€๊ฒฉ์ฐจ์ด ๋ณด์—ฌ์ฃผ๋Š” ์Šคํฌ๋ฆฝํŠธ์ž„


๊ผฌ๋ฆฌ ๋‹ค๋ฅธ๊ฒƒ๋•Œ๋ฌธ์— ์ฐจํŠธ๋Š” USDT์— ๊ทธ๋ ค์•ผ๊ฒ ๊ณ  ๋งค๋งค๋Š” USDC๋กœํ• ๋•Œ ๊ฐ€๊ฒฉ ๋‹ค๋ฅธ๊ฑฐ ๊ณ„์‚ฐํ•˜๊ธฐ ๊ท€์ฐฎ์•„์„œ ๋งŒ๋“ค์–ด๋ด„