
এই কৌশলটি একটি ট্রেন্ড ট্র্যাকিং ট্রেডিং সিস্টেম যা চাদ গতিশীলতা অস্থিরতা সূচক (সিএমও) উপর ভিত্তি করে। এই কৌশলটি মূল্যের গতিশীলতার গণনা এবং বিশ্লেষণের মাধ্যমে ওভারসোল্ড অঞ্চলে কেনার সুযোগ এবং ওভারসোল্ড অঞ্চলে বিক্রির সুযোগ খুঁজতে এবং ঝুঁকি পরিচালনা করতে পারে। এই পদ্ধতিটি মূল্যের বিপরীত হওয়ার সুযোগকে ধরা এবং ঘন ঘন বাজারে ঘন ঘন লেনদেন এড়াতে পারে।
কৌশলটির কেন্দ্রবিন্দু হল বাজারের গতিশীলতা পরিমাপ করার জন্য সিএমও সূচক ব্যবহার করা। সিএমও একটি সূচক মান তৈরি করে যা ১০০ থেকে ১০০ এর মধ্যে ওঠানামা করে, উত্থান এবং পতনের পরিমাণের পার্থক্য এবং সামগ্রিক অনুপাত গণনা করে। যখন সিএমও ৫০ এর নীচে থাকে, তখন বাজারটি ওভারসেল অবস্থায় থাকে, সিস্টেমটি একাধিক সংকেত দেয়। যখন সিএমও 50 এর বেশি হয় বা যখন পজিশনটি 5 টিরও বেশি সময় ধরে থাকে, তখন সিস্টেমটি পজিশনটি বন্ধ করে দেয়। এই নকশাটি দামের বিপর্যয়ের সুযোগগুলি ক্যাপচার করার পাশাপাশি সময়মতো স্টপ লসকে থামিয়ে দেয়।
এটি একটি গতিশীলতা-ভিত্তিক প্রবণতা-অনুসরণ কৌশল যা সিএমও সূচকগুলির মাধ্যমে বাজারের ওভার-বিক্রয় ওভার-বিক্রয় সুযোগগুলি ক্যাপচার করে। কৌশলটি যুক্তিসঙ্গতভাবে ডিজাইন করা হয়েছে, সুস্পষ্ট ট্রেডিং নিয়ম এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা রয়েছে। যদিও কিছু অন্তর্নিহিত ঝুঁকি রয়েছে, তবে অপ্টিমাইজেশনের মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে। কৌশলটি বিশেষত উচ্চতর ওঠানামাযুক্ত বাজারের জন্য উপযুক্ত, যা প্রবণতা স্পষ্ট পর্যায়ে ভাল আয় করতে পারে।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 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)