Pine Script යනු කුමක්ද?

Pine Script යනු TradingView වේදිකාවේ ඔබේ ප්‍රස්ථාර (charts) වෙනස් කිරීමට භාවිතා කරන ස්ක්‍රිප්ට් ක්‍රමලේඛන භාෂාවකි. මෙම කාර්යය සඳහා වේදිකාව ඔබට බොහෝ විශේෂාංග ලබා දෙයි, නමුත් Pine Script ඔබට ඔබේ ඉලක්කය වෙත ඉදිරියට යාමට ඉඩ සලසයි. ඔබට මිල චලනය ප්‍රස්ථාරවල වර්ණ වෙනස් කිරීමට අවශ්‍ය වුවත්, නැතහොත් නව උපායමාර්ගයක් සඳහා backtest කිරීමක් කරද්දී වුවත්, Pine editor ඔබට ඔබට සුදුසු ලෙස ඔබ දකින පරිදි තත්‍ය කාලීනව ඔබේ ප්‍රස්ථාර අභිරුචිකරණය කිරීමට උපකාරී වනු ඇත.

මෙය විශිෂ්ට ලෙස දක්වා තිබෙන නිසා, වැඩි විස්තර සඳහා කරුණාකර පරිශීලක මාර්ගෝපදේශය බලන්න. මෙම පාඩමෙන්, මූලික කරුණු කිහිපයක් සාකච්ඡා කර, ක්‍රිප්ටෝ මුදල් වෙළඳාමේදී උපකාරී විය හැකි දර්ශකයන් ඉදිරිපත් කරන්නෙමු.

සැකසුම

Pine Script භාවිතයට ආරම්භ කිරීම ඉතා පහසුයි. අපි ලියන ඕනෑම කේතයක් TradingView හි සේවාදායකයන් මත ක්‍රියාත්මක වීම නිසා, බ්‍රවුසරය තුළම editor එක භාවිතා කර scripts සංවර්ධනය කරගන්න පුළුවන්—කිසිම බාගත කිරීමක් හෝ අමතර සකස් කිරීමක් අවශ්‍ය නැහැ.

මෙම පාඩමෙහිදී අපි Bitcoin/Binance USD (BTCBUSD) යුගලයක් සඳහා chart එකක් නිර්මාණය කරනවා. ඔබට තවම ගිණුමක් නැත්නම්, ඉදිරියට ගිහින් නොමිලේ ගිණුමක් සාදාගන්න පුළුවන් (pro subscription එකත් ඇත, නමුත් මෙම මාර්ගෝපදේශයට අනිවාර්ය නැහැ).

මෙම සබැඳිය අනුගමනය කරන්න; ඔබට පහත වගේම chart එකක් දැකගන්න ලැබෙනු ඇත:

ඔබේ chart එක තව ටිකක් ඉදිරියට යා හැක.

අපිට මෙහිදී full-featured chart එකක් ලබාගන්න ඕනෑ—ඒ සඳහා බොත්තම ක්ලික් කරන්න. මෙය අපට වැඩි පැහැදිලි overview එකක්, රූපණ මෙවලම් සහ වෙනත් ගුණාංග සමඟ trend lines අඳින්න options ද ලබාදෙනවා.

Full-featured chart එක. ඔබට tab එකක් උඩින් තියෙන “views” ක්ලික් කරලා timeframe එක වෙනස් කරන්න පුළුවන්.

ලබාගත හැකි විවිධ මෙවලම් භාවිතා කරන ආකාරය අපි සාකච්ඡා නොකරනවා. නමුත් ඔබ තාක්ෂණික විශ්ලේෂණයට කැමති නම්, ඒවා පිළිබඳව හුරු වීමට කරුණාකර ඒවා බලන්න. වම පැත්තේ පහළ (පින්තූරයේ පෙන්වා ඇති පරිදි) විවිධ tabs කිහිපයක් ඇත—Pine editor එක ක්ලික් කරන්න.

Pine editor

මෙම editor එක ඔබට ආකර්ශනීය ගුණාංග කට්ටලයක් ලබාදෙනවා. අපට අවශ්‍ය දේ එයට කියලා, ඉන්පසු “Add to chart” ක්ලික් කරන්න—අපේ annotations ඉහළින් පෙනෙයි. එකම වෙලාවේ annotations කිහිපයක් දාන්නේ නම් chart එක ටිකක් අවුල් විය හැකි බව කරුණාකර සලකන්න. එබැවින් උදාහරණ අතරදී ඒවා ඉවත් කරමු (Chart එක මත right-click > Remove indicators).

ඔබට පෙනෙනಂತೆ, අපට symbols දෙකක් ඉතාමත් තිබේ. කුමක් සිදුවන්නේද කියලා බලන්න chart එකට “Add” ක්ලික් කරමු.

මුල් chart එකට පහළින් තවත් chart එකක් අඳිනු ලබනවා. එය නව chart එකටත් සමාන දත්ත පෙන්වනු ඇත. මගේ script බොත්තම උඩට මවුසර් ගෙන ගොස්, ඉවත් කරන්න (delete) ලකුණ ක්ලික් කරන්න. දැන් කේතය තවත් විස්තරාත්මකව සාකච්ඡා කරමු.

study("My Script")

පළමු රේඛාව අපගේ comments සැකසීම සඳහා වන ඉදිකිරීමයි. එයට ඔබට අවශ්‍ය දර්ශක නාමය පමණක් ඇතුලත් කළ යුතුය ("My Script"—මෙම අවස්ථාවේදී). නමුත් අපට එකතු කළ හැකි තවත් විකල්ප විචල්‍යයන් කිහිපයක් තිබේ. ඉන් එකක් overlay වේ; එය දර්ශකය වත්මන් chart එකට ඉහළින් පෙන්වීමට (නව කොටසක් තුළට නොව) වේදිකාවට කියනවා. පළමු උදාහරණයේ ඔබට පෙනෙන ලෙස, එය පෙරනිමියෙන් false ලෙස සකස් කර ඇත. ඒ නිසා අපි තවම එය දකින්නේ නැහැ. overlay=true දමා ඇති නිසා දර්ශකය වත්මන් chart එකට ඉහළින් දිස්වේ.

plot(close)

මෙම රේඛාව Bitcoin එකේ close price එක ඇඳීම සඳහා උපදෙස් දෙයි. එයින් line chart එකක් ලැබේ. නමුත් අපි ඉක්මනින් බලන පරිදි, price candles සහ bars ද පෙන්වන්න පුළුවන්.

දැන් මෙය උත්සාහ කරමු:

//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)

මෙම කේතය එකතු කළාට පසුව ඔබට තවත් chart එකක් පෙනෙන්න යුතුයි (මුල් chart එක පැත්තකට මාරු වූ වගේ පෙනෙයි). අපි කළේ ඉතින් opening price එක අඳීමයි. වර්තමාන දිනයේ opening price එක යනු ඊයේ දිනයේ closing price එක නිසා, ඒ දෙකට එකිනෙකට සමාන හැඩයක් ඇති එක ස්වාභාවිකයි.

හරිම හොඳයි! අපි ඉන්න තිබෙන comment ඉවත් කරමු (අපි ඒක කරන්නේ right-click කර “Remove indicators” ඔබලා). මවුසර් කර්සරය Bitcoin/BUSD මත තියලා “Hide” බොත්තම ක්ලික් කරලා, වර්තමාන chart එකත් ඉවත් කරගන්න.

බොහෝ වෙළඳුන් candles වල price chart වලට කැමතියි. මන්ද, එය අපි දැන් වගේ කළ සරල රූපණයට වඩා වැඩි තොරතුරු ලබාදෙන නිසාය. අපි ඒවා පහතින් එක් කරමු.

//@version=4 study("My Script", overlay=true) plotcandle(open, high, low, close)

මූලික ආරම්භයක් හොඳයි, නමුත් වර්ණ නැති නිසා ටිකක් මඳයි. අවසන් වශයෙන්, නියම කාල සීමාවක් තුළ opening price එක close price එකට වඩා වැඩි නම් රතු candles, සහ close price එක opening price එකට වඩා වැඩි නම් කොළ candles තිබිය යුතුයි. අපි candle رسم() (draw candle) ගුණාංගයට ඉහළින් අමතර line එකක් එක් කරමු:

//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close)

මෙය සෑම price chart එකකම සිදුවන අතර, opening price closing price ට වඩා වැඩිද නැතිනම් සමානද කියලාත් පරීක්ෂා කරනවා. මෙම අවස්ථාවේදී, එයින් අදහස් වන්නේ නිශ්චිත කාල පරාසය තුළ මිල පහත වැටී ඇති බවයි; එබැවින් price chart එක රතු පාටින් වර්ණ ගැන්වෙනවා. එසේ නොවුණොත් එය කොළ පාටින් වර්ණ ගැන්වෙනවා. වර්ණ ක්‍රමයක් ඇතුළත් කිරීමට render candlestick() function එක වෙනස් කරන්න:

// @version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors)

ඔබ දැනට ඇති indicators ඉවත් කරලා නොමැති නම් ඒවා ඉවත් කරන්න, ඉන්පසු මෙම indicator එක chart එකට එක් කරන්න. අපට සාමාන්‍ය price chart එකක් වගේ දෙයක් පෙනෙන්න ඕන.

චලන සාමාන්‍යයන් ඇඳීම (MA)

පහත අපට මූලික දේවල් කිහිපයක් තිබෙනවා. දැන් අපි පළමු “custom” දර්ශකය—Exponential Moving Average (EMA)—ට යමු. මෙය වෙළඳපොලේ ඇති කලබල අඩු කර, වෙළඳපොල චලනයන් අවබෝධ කරගැනීම පහසු කරන වටිනා මෙවලමක්.

Exponential Moving Average (EMA) SMAට වඩා ටිකක් වෙනස්. මෙය නවතම දත්ත වලට වැඩි බරක් දෙන අතර, හදිසි චලනයන් වලට ඉක්මනින් ප්‍රතිචාර දැක්වීමට නැඹුරු වේ. සාමාන්‍යයෙන් එය කෙටි කාලීන ගනුදෙනු වලදී භාවිතා කරයි (උදාහරණයක් ලෙස දින වෙළඳාම).

Simple Moving Average (SMA)

අපි සරල චලන සාමාන්‍යය (SMA) ද අඳින්නත් පුළුවන්. එබැවින් පසුව ඒ දෙක සංසන්දනය කළ යුතුය. ඔබගේ script එකට මෙය එක් කරන්න:

plot(sma(close, 10))

මෙම සාමාන්‍යය පෙර දින දහයේ නිරූපණයකි. වක්‍රය වෙනස් වන්නේ කෙසේද කියලා බැලීමට කොඳු ඇට අතර ඇති අංකය වෙනස් කරන්න—විවිධ පරාස සලකා බලද්දී.

Simple Moving Average පදනම් වන්නේ පසුගිය දින දහය (10) මතයි.

Exponential Moving Average (EMA)

EMA තරමක් අවබෝධ කරගන්න අමාරු විය හැක. නමුත් කරදර වෙන්න එපා. දැන් අපි ඒ සමීකරණය විස්තරාත්මකව බලමු:

EMA = (Close - Previous Day’s EMA) * Multiplier - Previous Day’s EMA

ඒකෙන් අපට කියන්නේ මොනවාද? හොඳයි, නව moving average එක සෑම දිනකම ගණනය වන්නේ පෙර දිනේ moving average එක මත පදනම්ව. multiplier යනු මෑතකාල පරාසයේ දත්ත “බර කරන්නේ” කෙසේද කියන එක; එය පහත සමීකරණය මඟින් ගණනය කරයි:

Multiplier = 2 / (Length of EMA + 1)

සරල චලන සාමාන්‍යයන් සඳහා, අපට අවශ්‍ය වන්නේ EMA (Exponential Moving Average) ගණනය කිරීමට ගන්න කාල සීමාවයි. ව්‍යුහය අනුව, EMA රූපණය කිරීම SMA රූපණය කිරීම හා සමානයි. ඒ දෙක අතර සැසඳීමක් කරන්න පුළුවන් වෙන්න, එය SMA გვერდින් අඳින්න:

//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))

මෙම moving averages දෙක අතර කුඩා වෙනසක් ඔබට දැකගන්න පුළුවන්.

Built-in scripts

අපි මෙතෙක් කේතය අතින් ලිව්වා—ඒක තේරුම් ගන්නයි. නමුත් කාලය ඉතිරි කරගන්න උදව්වක් වන දෙයක් දාමු; විශේෂයෙන්ම වඩා සංකීර්ණ scripts ලියන අවස්ථාවක, මුල සිටම කරන්න අපට අවශ්‍ය නැහැ.

ඔබගේ editor එකේ ඉහළ දකුණු පැත්තේ ඇති “New” බොත්තම ක්ලික් කරන්න. විවිධාකාරයේ technical indicators සියල්ල ඇතුළත් dropdown එකක් පෙන්වනු ඇත. EMA (Exponential Moving Average) සොයාගෙන, ඒක සඳහා source code නිරූපනය කරන EMA එක ක්ලික් කරන්න.

ඉන්පසු එය chart එකට එක් කරන්න.

එය අපගේ symbols වලින් වෙනස්. ඔබට input() වල ලක්ෂණ දැකගන්න පුළුවන්—භාවිතා කිරීමේ පැහැදිලි බවක් තියෙන නිසා ඔබට මේ කොටුව මත ක්ලික් කරලා වෙනස් කරන්න පුළුවන්…

ඔබට popup window එකේ ඇති සමහර අගයන්ද පහසුවෙන්, settings wheel එක ක්ලික් කරලා වෙනස් කළ හැකිය.

ඊළඟ script එකට input() property දෙකක් එක් කරලා, එය කරන්නේ කොහොමද කියලා පෙන්වන්න යන්නේ.

Relative Strength Index (RSI) දර්ශකය අඳීම

සාපේක්ෂ ශක්ති දර්ශකය (RSI) යනු තාක්ෂණික විශ්ලේෂණයේ මූලික දර්ශකයකි. එය momentum දර්ශකයක් ලෙස හඳුන්වන්නේ, එනම් වත්කම් මිලදී ගැනීම සහ විකිණීම වේගය මැනීමයි. 0 සිට 100 දක්වා පරිමාණයකින් තක්සේරු කරනු ලැබේ. RSI අගය යෝජනා කරන්නේ වත්කම වැඩිපුර මිලදී ගැනීමටද නැතිනම් වැඩිපුර විකිණීමටද නැඹුරුද යන්න ගැන ආයෝජකයන්ට දැනුම් දීමටය. සාමාන්‍යයෙන් RSI අගය 30ට අඩු හෝ ඊට සමාන නම් එය වැඩිපුර විකිණෙමින් පවතින බවත්, 70ට වැඩි හෝ ඊට සමාන නම් එය වැඩිපුර මිලදී ගැනෙමින් පවතින බවත් සලකනු ලැබේ.

ඔබ RSI දර්ශකය/استراتيجية RSI ට නව දේකට යන්නේ නම්, ඒක ඔබම දැකගන්න පුළුවන්. RSI දර්ශකය ගණනය කරන්නේ 14 කාල පරාසයන් මත (එනම් පැය 14ක් හෝ දින 14ක්), නමුත් ඔබේම වෙළඳාම් ක්‍රමයට ගැලපෙන ලෙස මෙම සකසනය වෙනස් කිරීමට ඔබට නිදහස ඇත.

එය chart එකට එක් කරන්න. ඉන්පසු ඔබට සමහර කැන්ඩල් දැන් පෙනෙන්න යුතුයි (ඒවා තෝරාගෙන ඇත්තේ කේතයේ ඇති input.strategy() ගුණාංගය මගින්). RsiLE යන්නෙන් අදහස් වන්නේ වත්කමට තිබිය හැකි මිලදී ගැනීමේ අවස්ථා—එය වැඩිපුර විකිණුණු කලාපයට ළඟා විය හැකි නිසා. RsiSE මඟින් දක්වන්නේ වත්කම විකිණීමට හැකි ස්ථාන—එය වැඩිපුර මිලදී ගත් කලාපයට පැමිණෙන විට. සෑම දර්ශකයක් මෙන්ම, මේවා මත පමණක් තදින් විශ්වාස කරලා මිල ඉහළ යාවි/පහළ යාවි කියලා නිශ්චිත තීරණයක් ගන්න අනුශාසනය නැහැ.

Backtesting

custom indicators පරීක්ෂා කිරීමට අපට ඉඩ දෙන ක්‍රමයක් තිබෙනවා. පසුගිය performance නැවතත් අනාගත ප්‍රතිඵල සඳහා සහතිකයක් නොවුණත්, backtesting එක මගින් signals ලබාදීමේ කාර්යක්ෂමතාව කෙතරම්දැයි අදහසක් ගන්න පුළුවන්.

පහත දැක්වෙන්නේ සරල script උදාහරණයකි. Bitcoin මිල 11,000 ඩොලරයට පහත වැටෙන විට “මිලදී ගැනීමේ” ගනුදෙනුවකට ඇතුල්වෙන්නත්, මිල 11,300 මට්ටම ඉක්මවන විට ගනුදෙනුවෙන් පිටවෙන්නත් අපි සරල ක්‍රමවේදයක් සකසන්නෙමු. ඒ අනුව, මෙම ක්‍රමවේදය ඓතිහාසිකව කොතරම් ලාභදායීද කියලා තේරුම් ගන්න පුළුවන්.

//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip", strategy.long, comment="BuyTheDip") if (price >= exit) strategy.close_all(comment="SellTheNews")

මෙහි අපි entry සහ exit points ලෙස variables දෙකක් තැබුවා—දෙකම inputs වන නිසා ඔබට ඒවා පසුව chart එක මත වෙනස් කළ හැකියි. තවද කාල පරාසයක් සඳහා closing price වාර්තා කරන price variable එකත් අපි දාලා තිබෙනවා. එබැවින් if-conditions භාවිතා කිරීම තර්කානුකූලයි. කොඳු ඇට අතර ඇති කොටස true නම්, indented කොටස ක්‍රියාත්මක වේ. නැතිනම් එය මඟහැරෙයි.

එසේම, මිල පහත වැටෙන විට හෝ අවශ්‍ය entry මිලට සමාන වූ විට, එම expression එක true ලෙස ගණනය කර, අපි මිලදී ගැනීමේ ගනුදෙනුවක් විවෘත කරමු. මිල entry ගේ අවශ්‍ය exit මිලට සමාන වුවත් ඉක්මවුවත්, දෙවන කොටස ක්‍රියාත්මක වන අතර, විවෘත වී ඇති සියලුම ගනුදෙනු වසා දමනු ලැබේ.

අපි arrows භාවිතා කරලා entry/exit points chart එක මත annotate කරන්නෙමු. ඒ නිසා අපි ඒ points වල නම් comments රාමුවේ දකවමු (මෙම උදාහරණයේ: "Buy the dips" සහ "Sell when news is published"). කේතය පිටපත් කරලා chart එකට එක් කරන්න.

ඔබට දැන් indicators chart එක මත පෙනෙනවා. බැලීමට zoom out කරන්න අවශ්‍ය විය හැක.

TradingView වේදිකාව ඔබගේ රීති පැරණි දත්ත මත ක්‍රියාත්මක කරයි. එසේම ඔබ Pine editor එකෙන් “Strategy Tester” tab එකට මාරුවන බවත් ඔබට පෙනේ. එහිදී, ලබාගත හැකි ලාභ පිළිබඳ overview එකක්, trading ලැයිස්තුවක්, සහ එක් එක් trade එකේ performance එක බලන්න ඔබට පුළුවන්.

අපි ඇතුළත් කළ සහ පිටව ගිය ගනුදෙනු.

අංග එකට සම්බන්ධ කිරීම

දැන් මෙතෙක් පැහැදිලි කරපු සංකල්ප කිහිපයක් භාවිතා කරලා අපේ script එක ලියන්න වෙලාවයි. අපි Exponential Moving Average සහ RSI දෙකම ඒවායේ අගයන් අනුව price chart candles වර්ණ ගන්වන්නත්, වඩා හොඳින් දෘශ්‍යමාන කළ හැකි අවබෝධයක් ලබාගන්නත් ඒකාබද්ධ කරනවා.

මෙය මූල්‍ය උපදෙස් ලෙස නොසලකන්න—මෙම දර්ශකය භාවිතා කිරීම සඳහා අරමුණක්/නිශ්චිත “නිවැරදි” ක්‍රමයක් ලෝක පුරාම සමාන ලෙස නැහැ. අනෙකුත් සියලු දර්ශක මෙන්ම, ඔබගේම ආයෝජන ක්‍රමවේදයක් ගොඩනැගීමට එය වෙනත් මෙවලම් සමඟ භාවිතා කළ යුතුයි.

නව script එක මත වැඩ කරන්න පටන් ගමු. chart එකෙන් ඇති සියලු indicators ඉවත් කරන්න, එසේම Bitcoin/BUSD chart එකත් hide කරන්න—එවිට අපට වැඩ ආරම්භ කිරීමට හිස් chart එකක් ලැබේ.

අපි study property එක හඳුනාගැනීමෙන් ආරම්භ කරමු. ඔබට ඕනෑම නමක් භාවිතා කළ හැකියි; නමුත් overlay=true ලෙස සකස් කර තිබිය යුතුයි.

study(title="Binance Academy Script", overlay=true)

අපි කලින් කතා කළ Exponential Moving Average (EMA) සමීකරණය මතකද? EMA ගණනය කිරීමට ගන්න කාල සීමාව සඳහා අපට multiplier එකට දත්ත ලබාදිය යුතුයි. එය fractional දශම නැති, integer එකක් අවශ්‍ය වන input field එකක් ලෙස හදමු. ඒ වගේම minval සහ defval (default value) ද සකසමු.

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)

නව variable එක භාවිතා කරලා, chart එකේ සෑම candle එකකටම EMA අගය ගණනය කළ හැක:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)

ඉතා හොඳයි. RSI දර්ශකය සම්බන්ධයෙන් අපි timeframe එකද සමාන ආකාරයෙන්ම ඇතුල් කරමු:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)

දැන් අපට ඒක ගණනය කළ හැකිය:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)

මෙම අවස්ථාවේදී, price chart candles වල වර්ණ EMA සහ RSI අගයන් මත රඳා පවතින බව ඔබ දැනගත යුතුයි. (a) එක් candle එකේ close price එක EMA එකට වඩා වැඩි වන විටත්, (b) RSI 50ට වඩා වැඩි වන විටත් උදාහරණයක් බලමු.

ඇයි? හොඳයි, ඔබට මෙම indicators එකට භාවිතා කරලා Bitcoin එක මිලදී ගන්න/විකිණීමට ඇති වේලාව කියන්න පුළුවන් යැයි ඔබ සිතන්න පුළුවන්. උදාහරණයක් ලෙස, දුර්වලතා දෙකම (දෙපාර්ශ්ව) සපුරාලනවා නම්, එය මිලදී ගැනීමේ ගනුදෙනුවකට ඇතුල්වීමට සුදුසු වෙලාවක් යැයි ඔබට අදහස් වෙන්න පුළුවන්. වෙනත් පැත්තෙන්, අනෙක් indicators වලින් පෙන්වුණත්, විකිණිය යුතු නොවන විට ඔබට මතක් කර දීමට indicators භාවිතා කළ හැක.

එබැවින්, පහත රේඛාව මෙවැනි ලෙස පෙනේ:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close >= emaVal and rsiVal >= 50 ? color.green : color.red

එය සරල ඉංග්‍රීසි වලට පරිවර්තනය කළහොත්: Exponential Moving Average අගය closing price එකට වඩා වැඩි වෙලාත්, RSI අගය 50 සීමාව ඉක්මවලාත් තිබේ නම්, අපි candle එක කොළ පාටින් වර්ණ ගන්වමු. නැතිනම් එය රතු පාටින් වර්ණ ගන්වනු ඇත.

ඉන්පසු, EMA අඳින්නෙමු:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close >= emaVal and rsiVal >= 50 ? color.green : color.red plot(emaVal, "EMA")

අවසානයේ, candlesticks අඳින්න, සහ color විචල්‍යය ඇතුළත් කර ඇති බවට වග බලාගන්න:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close >= emaVal and rsiVal >= 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)

මේන් ඔබ script එකෙන් ඉවරයි! එය ක්‍රියාත්මක වෙමින් පෙනෙන්න chart එකට එක් කරන්න.

Exponential Moving Average/Relative Strength Index දර්ශකය භාවිතයෙන් BTC/BUSD chart එක.

අවසාන සිතුවිලි

මෙම ලිපියෙන් ඔබට TradingView හි Pine editor භාවිතයෙන් කළ හැකි දේවල් පිළිබඳ මූලික උදාහරණ කිහිපයක් අපි සලකා බැලුවා. ඔබගේ දර්ශකයන්ගෙන් අතිරේක අවබෝධයක් ලබාගන්න, price chart එක මත සරල annotations එක් කිරීමට ඔබට හැකි විය යුතුයි.

මෙහිදී අපි දර්ශක දෙකක් පමණක් පැහැදිලි කළා. නමුත් වැඩිපුර සංකීර්ණ දර්ශක සෑදීම සරලයි—නව අඩංගු script එකක් ඇතුළත් කිරීමෙන් හෝ ඔබම ලියීමෙන්.

නැවුම් අදහස් අවශ්‍යද? ඔබගේ නව project එක සඳහා අදහස් කිහිපයක් ලබාගන්න පහත ලිපි උපකාරී විය හැක: