โอกาสใหม่ในการทำงานกับสีใน Pine สคริปต์

May 13, 2021

สคริปต์ของคุณจะเปล่งประกายด้วยสีสันสดใสได้ในตอนนี้ เราได้เพิ่มสีและการไล่ระดับสีชุดใหม่จากจานสี RGB

ฟังก์ชั่นใหม่ ‘color.rgb (red, green, blue, transp)’ ได้ถูกเพิ่มเข้าไปใน Pine ช่วยให้คุณกำหนดสีได้โดยส่งค่าของส่วนประกอบสีแดง, เขียว, น้ำเงินและความโปร่งแสง (transp) เป็นอาร์กิวเมนต์ ตอนนี้คุณสามารถกำจัดคำจำกัดความของจานสีทั้งหมดที่ใช้ในสคริปต์และคำนวณสีตามอาร์กิวเมนต์ที่ส่งผ่านมาแทน ลองดูตัวอย่างเล็ก ๆ นี้ซึ่งแสดงให้เห็นว่าการใช้การเปลี่ยนสีที่ซับซ้อนนั้นง่ายเพียงใด:

//@version=4
study("Relative Bars Color Saturation", "RBCS", overlay=true)

i_barcolor = input(color.rgb(33, 150, 243), "Bar Color", input.color)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

f_indexedPercent(_currentValue, _relativeValue, _maxValue) =>
    _currentValue * _maxValue / _relativeValue

transp = f_indexedPercent(abs(close - open), high - low, 100)
c_color = f_grad_transp(i_barcolor, transp)
barcolor(c_color)

ค่าของส่วนประกอบสีตั้งอยู่ในช่วงตั้งแต่ 0 (เข้มน้อยที่สุด) ถึง 255 (เข้มที่สุด) สำหรับองค์ประกอบความโปร่งแสงช่วงนี้มีค่าตั้งแต่ 0 (ทึบแสงเต็มที่) ถึง 100 (โปร่งแสงทั้งหมด)

หากคุณต้องการรับค่าตัวเลขของสีเฉพาะหรือส่วนประกอบความโปร่งแสงให้ลองใช้ฟังก์ชัน ‘color.r()’‘color.g()’‘color.b()’ และ ‘color.t()’ โดยส่งสีให้เป็นข้อโต้แย้ง

และฟังก์ชัน ‘color.from_gradient()’ ช่วยให้คุณสร้างการเปลี่ยนสีที่น่าประทับใจในแต่ละแถบสีของสคริปต์จะถูก จำกัด ด้วยจินตนาการของคุณในตอนนี้ นี่คือตัวอย่างที่แสดงให้เห็นว่าการอธิบายสีง่ายขึ้นเพียงใดขึ้นอยู่กับค่าของดัชนีความแข็งแรงสัมพัทธ์:

//@version=4
study("RGB RSI")
i_src = input(close, "Source", input.source)
i_length = input(14, "Length", input.integer)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

rsi = rsi(i_src, i_length)
c_grad = color.from_gradient(rsi, 30, 70, color.lime, color.red)

plot(rsi, color=c_grad, linewidth=3)
band1 = hline(70, "Overbought", color=color.rgb(255, 82, 82))
band0 = hline(30, "Oversold", color=color.rgb(76, 175, 80))
fill(band1, band0, color=f_grad_transp(c_grad, 90), title="Background")

อ่านเกี่ยวกับการอัปเดต Pine ทั้งหมดใน ส่วนบันทึกประจำรุ่น ในคู่มือผู้ใช้งาน

บิวท์อินอินดิเคเตอร์บางตัว (Momentum, TRIX, Price Oscillator, Detrended Price Oscillator, Chaikin Oscillator, Volume Oscillator, Ease of Movement, Rate of Change) ได้รับการอัปเดตและตอนนี้ใช้คุณสมบัติใหม่เหล่านี้คุณสามารถเพิ่มลงในแผนภูมิเพื่อดูการทำงานของฟังก์ชัน RGB

และนี่คือตัวอย่างที่น่าประทับใจของอินดิเคเตอร์ที่มีสี RGB จากชุมชนนักพัฒนา:

Directional Value by RicardoSantos

Color Gradient Framework by LucF, for PineCoders

Delta Volume Columns Pro by LucF

เราหวังว่าคุณจะพบคุณสมบัติใหม่ที่เป็นประโยชน์ และโปรดให้ข้อเสนอแนะและข้อเสนอแนะกับเราเรากำลังสร้าง TradingView สำหรับคุณและเราอยากทราบว่าคุณคิดอย่างไรเกี่ยวกับการอัปเดตแพลตฟอร์มของเรา

 


ติดตาม TradingView ประเทศไทย ได้ทาง Line ID: @tradingview_th และทวิตเตอร์ (Twitter) ค้นหา “TradingView Thailand

Look first Then leap

TradingView is built for you, so make sure you're getting the most of our awesome features
เปิดชาร์ต