
চ্যান্ডে ডায়নামিক ওসিলারেটর (সিএমও) ভিত্তিক গড় রিটার্ন ট্রেডিং কৌশলটি একটি প্রযুক্তিগত বিশ্লেষণ কৌশল যা নির্দিষ্ট সময়ের মধ্যে দামের পরিবর্তনের গতিশীলতা গণনা করে ওভারবয় ওভারসেল অঞ্চলগুলি সনাক্ত করে। এই কৌশলটি মূলত সম্পদের দামের গতিশীল পরিবর্তনগুলি পর্যবেক্ষণ করে, যখন দামের চরম বিচ্যুতি ঘটে তখন ট্রেডিং করে যাতে দামের গড় রিটার্নের সুযোগ ধরা যায়। কৌশলটি 9 দিনের চক্রের সিএমও সূচককে কেন্দ্রীয় সংকেত হিসাবে গ্রহণ করে, যখন সিএমও 50 এর নিচে থাকে তখন বেশি পজিশন করে এবং যখন সিএমও 50 এর উপরে থাকে বা 5 দিনের বেশি সময় ধরে পজিশন ধারণ করে তখন পজিশন পজিশন করে।
কৌশলটির কেন্দ্রবিন্দু হল সিএমও সূচকগুলির গণনা এবং প্রয়োগ। সিএমও একটি নির্দিষ্ট সময়ের মধ্যে উত্থান এবং পতনের পার্থক্য এবং মোটের অনুপাত গণনা করে গতিশীলতা পরিমাপ করে। নির্দিষ্ট গণনা সূত্রটি হলঃ CMO = 100 × (উচ্চতর সমষ্টি - নিম্নতর সমষ্টি) / (উচ্চতর সমষ্টি + নিম্নতর সমষ্টি)
ঐতিহ্যগত আরএসআইয়ের বিপরীতে, সিএমও একই সাথে পলস ডেটা ব্যবহার করে, যা আরও সামঞ্জস্যপূর্ণ গতিশীলতার পরিমাপ সরবরাহ করে। কৌশলটি সিএমওকে বলে যে বাজারটি oversold হয়েছে যখন এটি 50 এর নীচে ছিল এবং প্রত্যাশিত দাম বাড়বে, তাই আরও পজিশন খোলার জন্য। যখন সিএমও 50 এর উপরে বা 5 দিনেরও বেশি সময় ধরে পজিশনে ছিল, তখন কৌশলটি পজিশন বন্ধ বা বন্ধ করে দেয়।
এই কৌশলটি সিএমও সূচকগুলির মাধ্যমে বাজারের ওভারবয় ওভারসেল সুযোগগুলি ক্যাপচার করে, স্থির সময় বন্ধের সাথে মিলিত হয়, একটি স্থিতিশীল গড় মূল্যের রিটার্ন ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির যুক্তি স্পষ্ট, ঝুঁকি নিয়ন্ত্রণ যুক্তিসঙ্গত এবং ভাল ব্যবহারিক মূল্য রয়েছে। প্যারামিটারগুলি আরও অনুকূলিতকরণ এবং সহায়ক সূচকগুলি যুক্ত করে কৌশলটির স্থায়িত্ব এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Chande Momentum Oscillator Strategy", overlay=false)
// Input for the CMO period
cmoPeriod = input.int(9, minval=1, title="CMO Period")
// Calculate price changes
priceChange = ta.change(close)
// Separate positive and negative changes
up = priceChange > 0 ? priceChange : 0
down = priceChange < 0 ? -priceChange : 0
// Calculate the sum of ups and downs using a rolling window
sumUp = ta.sma(up, cmoPeriod) * cmoPeriod
sumDown = ta.sma(down, cmoPeriod) * cmoPeriod
// Calculate the Chande Momentum Oscillator (CMO)
cmo = 100 * (sumUp - sumDown) / (sumUp + sumDown)
// Define the entry and exit conditions
buyCondition = cmo < -50
sellCondition1 = cmo > 50
sellCondition2 = ta.barssince(buyCondition) >= 5
// Track if we are in a long position
var bool inTrade = false
if (buyCondition and not inTrade)
strategy.entry("Long", strategy.long)
inTrade := true
if (sellCondition1 or sellCondition2)
strategy.close("Long")
inTrade := false
// Plot the Chande Momentum Oscillator
plot(cmo, title="Chande Momentum Oscillator", color=color.blue)
hline(-50, "Buy Threshold", color=color.green)
hline(50, "Sell Threshold", color=color.red)