ভূমিকা
সঠিক ট্রেডিং ট্যুলস ছাড়া, আপনি কার্যকর টেকনিক্যাল অ্যানালাইসিস পরিচালনা করতে পারবেন না। একটি শক্তিশালী ট্রেডিং কৌশল আপনাকে সাধারণ ভুলগুলো এড়াতে, আপনার ঝুঁকি ব্যবস্থাপনার উন্নতি করতে ও সুযোগগুলো শনাক্ত করতে এবং তার সদ্ব্যবহার করার ক্ষমতা বাড়াতে সাহায্য করবে।
অনেকের কাছে ট্রেডিংভিউ হলো নির্ভরযোগ্য চার্টিং প্ল্যাটফর্ম। টেকনিক্যাল অ্যানালাইসিস ট্যুলগুলোর একটি হাব অফার করা শক্তিশালী HTML5 ওয়েব অ্যাপ্লিকেশনটি লক্ষ লক্ষ মানুষ ফরেক্স, ক্রিপ্টোকারেন্সি এবং প্রচলিত স্টক মার্কেটের গতিবিধি ট্র্যাক করতে ব্যবহার করে।
ট্রেডিংভিউ এর অনেক শক্তিশালী বৈশিষ্ট্য রয়েছে: এটি আমাদেরকে অসংখ্য ট্রেডিং প্ল্যাটফর্ম জুড়ে অ্যাসেট ট্র্যাক করতে এবং এর সামাজিক নেটওয়ার্কের মধ্যে ট্রেডিং সংশ্লিষ্ট ধারণা প্রকাশ করতে দেয়। এই নিবন্ধে, আমরা এটির কাস্টোমাইজযোগ্যতার উপর ফোকাস করবো। আমরা ট্রেডিংভিউ এর নিজস্ব প্রোগ্রামিং ভাষা Pine Scrip ব্যবহার করবো যা আমাদের চার্ট লেআউটের উপর বিস্তৃত নিয়ন্ত্রণ প্রদান করে।
চলুন শুরু করা যাক!
Pine Scrip কী?
Pine Scrip একটি স্ক্রিপ্টিং ভাষা যা আপনার ট্রেডিংভিউ চার্ট মডিফাই করতে ব্যবহার করা যেতে পারে। প্ল্যাটফর্মটিতে ইতোমধ্যেই এটি করার জন্য অনেক বৈশিষ্ট্য রয়েছে, কিন্তু Pine Scrip আপনাকে এটিকে আরো এক ধাপ এগিয়ে নেয়ার সুযোগ প্রদান করে। আপনি আপনার ক্যান্ডেলস্টিকের রঙ পরিবর্তন করতে চান বা কোনো নতুন কৌশল পরীক্ষা করতে চান, যাই হোক না কেন, Pine Editor আপনাকে আপনার রিয়েল-টাইম চার্টগুলোকে আপনার ইচ্ছে অনুযায়ী কাস্টোমাইজ করতে সক্ষম করবে।
কোডটি চমৎকারভাবে নথিভুক্ত, তাই আরো তথ্যের জন্য ব্যবহার বিধি পরীক্ষা করে দেখতে ভুলবেন না। এই টিউটোরিয়ালে আমাদের লক্ষ্য হলো কিছু মৌলিক বিষয় নিয়ে আলোচনা করা এবং ইন্ডিকেটরগুলো উপস্থাপন করা যা ক্রিপ্টোকারেন্সি ট্রেডিংয়ের জন্য কার্যকর হতে পারে।
সেটিংস
Pine Scrip দিয়ে শুরু করা অবিশ্বাস্যরকম সহজ। আমরা যে কোডই লিখি তা ট্রেডিংভিউর সার্ভারে চালিত হয়, যাতে আমরা এডিটরে প্রবেশ করতে পারি এবং ব্রাউজার থেকে আমাদের স্ক্রিপ্টগুলো ডেভলপ করতে পারি – কোনো অতিরিক্ত ডাউনলোড বা কনফিগারেশনের প্রয়োজন ছাড়াই।
এই টিউটোরিয়ালে, আমরা বিটকয়েন/Binance USD (BTCBUSD) কারেন্সি পেয়ার চার্ট করতে যাচ্ছি। আপনার যদি ইতোমধ্যে একটি না থাকে তাহলে একটি ফ্রি অ্যাকাউন্ট তৈরি করুন (এখানে একটি প্রো সাবস্ক্রিপশনও রয়েছে, তবে এই গাইডের জন্য এটি প্রয়োজনীয় নয়)।
এই লিংকটি অনুসরণ করুন এবং আপনি নিম্নলিখিত বিষয়গুলো অনুরূপ একটি চার্ট দেখতে পাবেন:
আপনারটি সম্ভবত আরো হালনাগাদকৃত হবে।
এখানে, আমরা পূর্ণ বৈশিষ্ট্যযুক্ত চার্ট পেতে চাই – এটি অ্যাক্সেস করতে বাটনে ক্লিক করুন। এটি অন্যান্য জিনিসগুলোর মধ্যে আমাদেরকে আরো বিস্তারিত দৃশ্য, ড্রয়িং ট্যুল এবং ট্রেন্ডলাইন প্লট করার বিকল্প প্রদান করে।
সম্পূর্ণ বৈশিষ্ট্যযুক্ত চার্ট। হাইলাইট করা ট্যাবগুলোর উপরে ভিউগুলোতে ক্লিক করে আপনি সময়সীমা সমন্বয় করতে পারবেন।
এখানে থাকা বিভিন্ন ট্যুলগুলো কিভাবে ব্যবহার করবেন তা নিয়ে আমরা আলোচনা করবো না, তবে আপনি যদি টেকনিক্যাল অ্যানালাইসিসের বিষয়ে সিরিয়াস হন তাহলে আমরা আপনাকে এগুলো সম্পর্কে জেনে নিতে পরামর্শ দিচ্ছি। নিচের বাম দিকে (ছবিতে বর্ণিত) আপনি কয়েকটি ভিন্ন ট্যাব দেখতে পাবেন – Pine Editor-এ ক্লিক করুন।
The Pine Editor
এই এডিটরের মধ্যেই যাদু হয়। আমরা কী করতে চাই তা আমরা বলবো, তারপরে আমাদের টীকাগুলো (Annotation) উপরে প্রদর্শিত হিসেবে দেখতে চার্টে যোগ করুন-এ ক্লিক করবো। মনে রাখবেন যে আমরা একসাথে বেশ কয়েকটি টীকা অন্তর্ভুক্ত করলে জিনিসগুলো অগোছালো হয়ে উঠতে পারে, তাই আমরা সেগুলোকে উদাহরণের মধ্যে মধ্যে সরিয়ে দেব (চার্টে ডান-ক্লিক করুন > ইন্ডিকেটরগুলো সরান)।
আপনি দেখতে পাচ্ছেন যে ইতোমধ্যেই এখানে কয়েক লাইন কোড রয়েছে। কী ঘটে তা দেখতে চার্টে যোগ করুন-এ ক্লিক করুন।
মূল চার্টের নিচে একটি দ্বিতীয় চার্ট যোগ হল। নতুন চার্ট একই ডেটা দেখায়। My Script-এর উপর হোভার করুন এবং সরাতে ক্রসে ক্লিক করুন। এখন, চলুন কোড নিয়ে কথা বলা যাক।
study("My Script")
প্রথম এই লাইনটি আমাদের টীকা সেট আপ করছে। ইন্ডিকেটরকে ("My Script", এই ক্ষেত্রে), কল করার জন্য এটির শুধু নামটি প্রয়োজন তবে কিছু ঐচ্ছিক প্যারামিটারও আমরা যোগ করতে পারি। এগুলোর মধ্যে একটি হলো overlay, যেটি ট্রেডিংভিউকে বিদ্যমান চার্টে (নতুন সেগমেন্টের পরিবর্তে) ইন্ডিকেটর রাখতে বলে। আপনি আমাদের প্রথম উদাহরণ থেকে দেখতে পাচ্ছেন, এটি ডিফল্টভাবে false-এ থাকে। আমরা এখন এটিকে কাজ করতে না দেখলেও, overlay=true বিদ্যমান চার্টে ইন্ডিকেটর যোগ করে।
plot(close)
এই লাইনটি হলো বিটকয়েনের ক্লোজ প্রাইসকে প্লট করার ইন্সট্রাকশন। plot কেবল আমাদের একটি লাইন চার্ট দেয়, তবে আমরা ক্যান্ডেলস্টিক এবং বার প্রদর্শন করতে পারি, যা আমরা শীঘ্রই দেখতে পাবো।
এখন, নিম্নলিখিত বিষয়গুলো পরীক্ষা করে দেখা যাক:
//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)
আপনি এটি যোগ করলে, দ্বিতীয় একটি চার্ট দেখতে পাবেন (যা ডানদিকে সরানো আসলটির মতো দেখায়)। পরিবর্তে আমরা যা করেছি তা হলো ওপেন প্রাইস প্লট করেছি, এবং যেহেতু বর্তমান দিনের ওপেন মানে আগের দিনের ক্লোজ তাই এগুলোর একটি অভিন্ন আকার থাকা বোধগম্য।
ঠিক আছে! এখান থাকা টীকাগুলো সরিয়ে ফেলা যাক (মনে রাখবেন, আমরা রাইট-ক্লিক করে এবং Remove Indicators চেপে এটি করি)। বিটকয়েন / BUSD-এর উপর হোভার করুন এবং বর্তমান চার্টটি ক্লিয়ার করতে লুকান বাটনে ক্লিক করুন।
অনেক ব্যবসায়ী ক্যান্ডেলস্টিক চার্ট পছন্দ করেন কারণ এগুলো আমরা এইমাত্র যে সাধারণ প্লটটি বানালাম তারচেয়ে অনেল বেশি তথ্য দেয়। পরবর্তীতে এগুলো যোগ করা যাক।
//@version=4 study("My Script", overlay=true) plotcandle(open, high, low, close)
শুরু হিসেবে এটি ভালোই তবে রঙের অভাব এটিকে কিছুটা নীরস করে ফেলেছে। আদর্শ পরিস্থিতিতে, প্রদত্ত সময়সীমার ক্ষেত্রে ক্লোজের চেয়ে ওপেন বেশি হলে আমাদের লাল ক্যান্ডেল পাওয়ার কথা, আর ক্লোজ ওপেনের চেয়ে বেশি হলে সবুজ ক্যান্ডেল পাওয়ার কথা। আমরা plotcandle() ফাংশনের উপরে একটি লাইন যোগ করবো:
//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close)
এটি প্রতিটি ক্যান্ডেলস্টিক দেখে চেক করবে যে ওপেন ক্লোজের চেয়ে বড় বা সমান কিনা। যদি তা হয়, তাহলে এর মানে হলো সময়ের সাথে সাথে মূল্য কমে গেছে, তাই এটি ক্যান্ডেলস্টিকের রঙকে লাল করবে। অন্যথায়, সবুজ করবে। এই রঙের স্কিমটি নিচের লাইনে পাস করতে plotcandle() ফাংশন মডিফাই করুন:
//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors)
যদি ইতোমধ্যেই করে না থাকেন তাহলে বর্তমান ইন্ডিকেটরগুলো সরান এবং এটিকে চার্টে যুক্ত করুন। এখন নিয়মিত ক্যান্ডেলস্টিক চার্টের মতো কিছু একটা হবার কথা।
সুন্দর!
মুভিং অ্যাভারেজ (MA) প্লট করা
আমরা প্রাথমিক কিছু বিষয় বুঝতে পেরেছি। চলুন আমাদের প্রথম কাস্টোম ইন্ডিকেটর – এক্সপোনেন্সিয়াল মুভিং অ্যাভারেজ বা EMA নিয়ে আলোচনা করা যাক। এটি একটি মূল্যবান ট্যুল কারণ এটি আমাদেরকে মার্কেটের যেকোনো গোলমাল ফিল্টার করতে এবং প্রাইস অ্যাকশনকে মসৃণ করতে দেয়।
EMA, সিম্পল মুভিং অ্যাভারেজ (SMA) থেকে কিছুটা আলাদা, এই দিক থেকে যে এটি সাম্প্রতিক ডেটাতে অধিক ওয়েট রাখে। এটি আকস্মিক ওঠানামার প্রতি অধিক প্রতিক্রিয়াশীল এবং প্রায়শই স্বল্পমেয়াদের জন্য ব্যবহৃত হয় (উদাহরণস্বরূপ, ডে ট্রেডিংয়ে)।
সিম্পল মুভিং অ্যাভারেজ (SMA)
আমরা SMA-ও প্লট করতে পারতাম যাতে দুটিকেই তুলনা করা যেত। আপনার স্ক্রিপ্টে এই লাইনটি যোগ করুন:
plot(sma(close, 10))
এটি আগের দশ দিনের গড়কে প্লট করে। বিভিন্ন দৈর্ঘ্য বিবেচনা করলে বক্ররেখা কিভাবে পরিবর্তিত হয় তা দেখতে ব্র্যাকেটের সংখ্যা পরিবর্তন করে করে দেখুন।
বিগত দশ দিনের উপর ভিত্তি করে SMA।
এক্সপোনেন্সিয়াল মুভিং অ্যাভারেজ (EMA)
EMA বোঝাটা সামান্য কঠিন হবে, তবে চিন্তার কিছু নেই। প্রথমে আসুন সূত্রটি ভেঙে দেখি:
EMA = (ক্লোজ - আগের দিনের EMA) * গুণক - আগের দিনের EMA
তো, এটি আমাদের কী বলছে? প্রতিদিনের জন্য, আমরা আগের দিনেরটির উপর ভিত্তি করে একটি নতুন মুভিং অ্যাভারেজ গণনা করি। গুণক হলো যেটিতে সবচেয়ে সাম্প্রতিক সময়ের "বিবেচনা" থাকে এবং এটিকে নিম্নলিখিত সূত্র দিয়ে গণনা করা হয়:
গুণক = 2 / (EMA-এর দৈর্ঘ্য+ 1)
সিম্পল মুভিং অ্যাভারেজের মতো, আমাদের EMA কতক্ষণ হবে তা নির্দিষ্ট করতে হবে। ভাষাগত দিক থেকে, EMA প্লট করার ফাংশনটি SMA-এর মতোই। এটিকে SMA-এর পাশাপাশি প্লট করতে হবে যাতে দুটি তুলনা করা যায়:
//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
আপনি দুই ধরনের MA-এর মধ্যে সামান্য পার্থক্য দেখতে পারেন।
➟ ক্রিপ্টোকারেন্সি দিয়ে শুরু করতে চাইছেন? Binance-এ বিটকয়েন ক্রয় করুন!
বিল্ট-ইন স্ক্রিপ্ট
এখন পর্যন্ত, আমরা আমাদের কোড ম্যানুয়ালি লিখেছি যাতে আপনি এটি ভালো করে বুঝতে পারেন। তবে এবার আসুন এমন কিছু দেখাই যা আমাদের সময় বাঁচাতে পারে, বিশেষ করে যদি আমরা অনেক জটিল কোনো স্ক্রিপ্ট লিখি, এবং আমরা সেগুলো শুরু থেকে করতে না চাই।
উপরে, আপনার এডিটরের ডানদিকে, নতুন-এ ক্লিক করুন। আপনি ভিন্ন ভিন্ন সকল ধরণের টেকনিক্যাল ইন্ডিকেটরসহ একটি ড্রপডাউন মেনু পাবেন। কোনো EMA ইন্ডিকেটরের সোর্স কোড দেখতে মুভিং অ্যাভারেজ এক্সপোনেনশিয়াল -এ ক্লিক করুন।
চার্টে এটিকে যোগ করুন।
এটি আমাদেরটি থেকে আলাদা – আপনি ইনপুট() ফাংশনগুলো লক্ষ্য করবেন। ব্যবহারযোগ্যতার দৃষ্টিকোণ থেকে এগুলো চমৎকার কারণ আপনি এই বাক্সে ক্লিক করতে পারেন…
...এবং সেটিংস হুইলে ক্লিক করে পপ-আপ উইন্ডোতে কিছু কিছু ভ্যালু সহজেই পরিবর্তন করতে পারেন।
এটি প্রদর্শনের জন্য আমরা আমাদের পরবর্তী স্ক্রিপ্টে কয়েকটি ইনপুট() ফাংশন যোগ করবো।
রিলেটিভ স্ট্রেংথ ইন্ডিকেটর (RSI) প্লট করা
রিলেটিভ স্ট্রেংথ ইন্ডিকেটর (RSI) টেকনিক্যাল অ্যানালাইসিসের আরেকটি অপরিহার্য ইন্ডিকেটর। এটি মোমেন্টাম ইন্ডিকেটর হিসেবে পরিচিত, যার অর্থ এটি অ্যাসেট ক্রয় এবং বিক্রয়ের হার পরিমাপ করে। 0 থেকে 100-এর স্কেলে উপস্থাপিত হওয়া RSI স্কোর বিনিয়োগকারীদেরকে কোনো অ্যাসেট ওভারবট বা ওভারসোল্ড কিনা তা জানানোর চেষ্টা করে। সাধারণত, কোনো অ্যাসেটের স্কোর 30-এর কম বা সমান হলে তাকে ওভারসোল্ড এবং স্কোর 70-এর বেশি বা সমান হলে ওভারবট বলে বিবেচনা করা যেতে পারে।
নতুন > RSI কৌশলে গেলে আপনি নিজেই এটি দেখতে পারবেন। RSI সাধারণত 14 ইউনিট (অর্থাৎ, 14 ঘন্টা বা 14 দিন) সময়ের হিসেবে পরিমাপ করা হয়, কিন্তু আপনি আপনার নিজস্ব কৌশল অনুসারে সেই সেটিংটি পরিবর্তন করতে পারবেন।
চার্টে এটি যোগ করুন। আপনি এখন প্রদর্শিত কয়েকটি তীর দেখতে পাবেন (কোডের strategy.entry() ফাংশন দিয়ে বর্ণিত)। RsiLE অ্যাসেটকে লং করার একটি সম্ভাব্য সুযোগ নির্দেশ করে কারণ এটি বেশি বিক্রি হতে পারে। অ্যাসেটটি ওভারবট হয়ে গেলে RsiSE সম্ভাব্য পয়েন্টগুলো হাইলাইট করে যেখানে শর্ট করতে হবে। মনে রাখবেন, সকল ইন্ডিকেটরের মতোই, মূল্য কমবে/বাড়বে কিনা সেটি নির্ধারণ করার জন্য এগুলোর উপর সম্পূর্ণভাবে নির্ভর করা উচিত হবে না।
ব্যাকটেস্টিং
আমাদের কাস্টোম ইন্ডিকেটর পরীক্ষা করার জন্য আমাদের কাছে একটি উপায় আছে। অতীতের পারফরম্যান্স ভবিষ্যতের ফলাফলের কোনো গ্যারান্টি না হলেও, স্ক্রিপ্টগুলো ব্যাকটেস্ট করলে এগুলো সংকেতগুলো বাছাই করতে কতটা কার্যকর সে সম্পর্কে আমরা ধারণা পেতে পারি।
নিচে আমরা একটি সহজ স্ক্রিপ্টের উদাহরণ দেবো। আমরা একটি সরল কৌশল তৈরি করতে যাচ্ছি যা কোনো লং পজিশনে প্রবেশ করবে যখন BTC মূল্য $11,000-এর নিচে নেমে যায় এবং পজিশন থেকে বেরিয়ে যাবে যখন মূল্য $11,300 ছাড়িয়ে যায়। এই কৌশলটি অতীতের বিচারে কতটা লাভজনক হবে তা আমরা তখন দেখতে পারবো।
//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price = exit) strategy.close_all(comment="SellTheNews")এখানে আমরা এন্ট্রি এবং এক্সিটকে ভেরিয়েবল হিসেবে সংজ্ঞায়িত করেছি – দুটোই ইনপুট, অর্থাৎ আমরা পরে চার্টে সেগুলো পরিবর্তন করতে পারবো। আমরা price ভেরিয়েবলও সেট আপ করেছি যা প্রতিটি পিরিয়ডে ক্লোজকে বিবেচনায় নেয়। তারপর, if স্টেটমেন্ট আকারে কিছু লজিক রয়েছে। ব্র্যাকেটের অংশটি true হলে এর নিচের আলাদা করে রাখা ব্লকটি রান করা হবে। অন্যথায়, এটি এড়িয়ে যাওয়া হবে।সুতরাং, মূল্য যদি আমাদের পছন্দসই এন্ট্রির চেয়ে কম বা সমান হয়, তাহলে প্রথম এক্সপ্রেশনটি সত্য হিসেবে মূল্যায়িত হবে এবং আমরা একটি লং পজিশন ওপেন করবো। মূল্য কাঙ্খিত প্রস্থানের সমান বা অতিক্রম করে গেলে দ্বিতীয় ব্লকটি ট্রিগার হয়ে সকল ওপেন পজিশন বন্ধ করে দেবে। আমরা কোথায় প্রবেশ করেছি/প্রস্থান করেছি তা আমরা তীর দিয়ে চার্টে টীকা যোগ করবো, ফলে আমরা মন্তব্য প্যারামিটারের মাধ্যমে এই পয়েন্টগুলোকে কী লেবেল করতে হবে তা নির্দিষ্ট করেবো (এই উদাহরণে, "BuyTheDip" এবং "SellTheNews")। কোডটি কপি করে চার্টে যোগ করুন।
আপনি এখন চার্টে ইন্ডিকেটরগুলো দেখতে পাবেন। আপনাকে জুম আউট করতে হতে পারে।
ট্রেডিংভিউ পুরানো ডেটাতে স্বয়ংক্রিয়ভাবে আপনার নিয়ম প্রয়োগ করে। আপনি আরো লক্ষ্য করবেন যে এটি Pine Editor থেকে কৌশল পরীক্ষক ট্যাবে স্যুইচ করে। এটি আপনাকে আপনার সম্ভাব্য লাভের একটি সংক্ষিপ্তসার, ট্রেডের তালিকা এবং তাদের প্রতিটি আলাদা আলাদা পারফরম্যান্স দেখার সুযোগ দেয়।
আমরা যে যে পজিশনে প্রবেশ করেছি এবং প্রস্থান করেছি।
একসাথে পরীক্ষা করে দেখাআমাদের এখন পর্যন্ত দেখা কিছু ধারণা ব্যবহার করে আমাদের নিজস্ব স্ক্রিপ্ট লেখার সময় হয়েছে। এমন ইনসাইট নিয়ে আমরা EMA ও RSI একত্রিত করবো এবং ক্যান্ডেলস্টিক রঙ করতে তাদের ভ্যালুগুলো ব্যবহার করবো যা আমরা সহজেই কল্পনা করতে পারি। এটিকে আর্থিক পরামর্শ হিসেবে নেয়া যাবে না – এই ইন্ডিকেটরটি ব্যবহার করার নিরপেক্ষ কোনো সঠিক উপায় নেই। অন্য সকলের মতোই, আপনার নিজস্ব কৌশল ডেভলপ করার জন্য অন্যান্য ট্যুলগুলোর সাথে এটিকে ব্যবহার করতে হবে।চলুন এবার আমাদের নতুন স্ক্রিপ্ট নিয়ে কাজ করা যাক। চার্ট থেকে আপনার সকল ইন্ডিকেটর সরান, এবং বিটকয়েন/BUSD চার্টটিও লুকিয়ে রাখুন, যাতে কাজ করার জন্য আমাদের একটি পরিষ্কার ক্যানভাস থাকে।আমাদের অধ্যয়ন সংজ্ঞায়িত করে শুরু করা যাক। আপনি যা চান নির্দ্বিধায় সেই নাম দিন, শুধু overlay=true সেট করতে ভুলবেন না।study(title="Binance Academy Script", overlay=true)আগে উল্লেখ করা আমাদের EMA সূত্র মনে রাখবেন। গুণককে আমাদের EMA-এর দৈর্ঘ্য দিতে হবে। আসুন এটিকে এমন একটি ইনপুট বানাই যার জন্য একটি পূর্ণসংখ্যা প্রয়োজন হয় (অর্থাৎ, কোনো দশমিক নেই)। আমরা একটি সর্বনিম্ন ভ্যালুও সেট করবো যাতে এটি (minval), এবং একটি ডিফল্ট ভ্যালু (defval) হতে পারে।study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
এই নতুন ভেরিয়েবল ব্যবহার করার মাধ্যমে আমরা আমাদের চার্টে প্রতিটি ক্যান্ডেলের জন্য 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-এ। একইভাবে আমরা এটিকে একটি দৈর্ঘ্য দেবো: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)এই পর্যায়ে, আসুন EMA এবং RSI ভ্যালুর উপর নির্ভর করে ক্যান্ডেলস্টিককে রঙ করার লজিকটি একত্রিত করি। আসুন এমন একটি পরিস্থিতি বিবেচনা করা যাক যেখানে (a) ক্যান্ডেলের ক্লোজ প্রাইস EMA-কে ছাড়িয়ে গেছে এবং (b) যেখানে RSI-এর ভ্যালু 50-এর উপরে।কেন? ঠিক আছে, আপনি সিদ্ধান্ত নিতে পারেন যে বিটকয়েনকে কখন লং বা শর্ট করতে হবে তা জানাতে এই ইন্ডিকেটরগুলো ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি ভাবতে পারেন যে এই উভয় শর্তই পূরণ করার অর্থ হল কোনো লং পজিশনে প্রবেশ করার জন্য এটি একটি ভালো সময়। অথবা বিপরীতভাবে, কখন শর্ট করা যাবে না তা ঠিক করতে আপনি এটি ব্যবহার করতে পারেন, এমনকি অন্যান্য ইন্ডিকেটরগুলো যখন বিপরীত কথা বলে।সুতরাং, আমাদের পরবর্তী লাইন দেখাবে এমন: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এটিকে সরল ইংরেজিতে বললে, আমরা এখানে কেবল বলছি যে যদি EMA মান ক্লোজ প্রাইসকে ছাড়িয়ে যায় এবং RSI স্কোর 50 ছাড়িয়ে যায়, তাহলে আমরা ক্যান্ডেলটিকে সবুজ রঙ করবো। অন্যথায়, আমরা এটিকে লাল রঙ করবো। পরবর্তীতে, 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")অবশেষে, রঙের প্যারামিটারকে অন্তর্ভুক্ত করা নিশ্চিত করে ক্যান্ডেল প্লট করুন: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)আর এটাই হলো স্ক্রিপ্ট! কার্যকর দেখতে এটিকে চার্টে যুক্ত করুন।
EMA/RSI ইন্ডিকেটরসহ একটি BTC/BUSD চার্ট।
শেষ কথাট্রেডিংভিউ এর Pine Editor-এর মাধ্যমে আপনি কী করতে পারেন তার কিছু প্রাথমিক উদাহরণ আমরা এই নিবন্ধে দিয়েছি। এতক্ষণের মধ্যে, আপনার নিজের ইন্ডিকেটরগুলো থেকে অতিরিক্ত ইনসাইট পেতে প্রাইস চার্টে সহজ টীকা তৈরিতে আপনার আত্মবিশ্বাসী হয়ে ওঠার কথা।আমরা এখানে শুধুমাত্র কয়েকটি ইন্ডিকেটর নিয়ে আলাপ করেছি, কিন্তু আরো জটিল কিছু সহজেই তৈরি করা যায় – হয় New থেকে ইন-বিল্ট স্ক্রিপ্ট নির্বাচন করে অথবা নিজে লিখে।অনুপ্রেরণার অভাব? নিম্নলিখিত নিবন্ধগুলো আপনাকে আপনার পরবর্তী প্রজেক্টের জন্য কিছু ধারণা দিতে পারে:প্যারাবোলিক SAR ইন্ডিকেটরের একটি সংক্ষিপ্ত নির্দেশিকাফিবোনাচ্চি রিট্রেসমেন্টে দক্ষতা অর্জনের গাইডলিডিং ও ল্যাগিং সূচকের ব্যাখ্যাMACD ইন্ডিকেটরের ব্যাখ্যা