
یہ حکمت عملی ایک ٹریڈنگ سسٹم ہے جو رجحانات کی پیروی کرتی ہے ، جس کی بنیاد پر چارڈ ڈائنامک شاکلیٹی اشارے (CMO) ہے۔ یہ حکمت عملی قیمت کی حرکیات کے حساب کتاب اور تجزیہ کے ذریعہ اوور سیل زون میں خریدنے کے مواقع تلاش کرتی ہے ، اوور خریدنے والے علاقوں میں فروخت کے مواقع تلاش کرتی ہے ، اور پوزیشن رکھنے کے وقت کی پابندی کے ساتھ مل کر خطرے کا انتظام کرتی ہے۔ یہ طریقہ کار قیمتوں میں الٹ جانے کے مواقع کو پکڑنے کے ساتھ ساتھ ہلچل کی منڈیوں میں بار بار تجارت سے بچنے کے لئے بھی کام کرتا ہے۔
اس حکمت عملی کا مرکز مارکیٹ کی حرکیات کی پیمائش کرنے کے لئے سی ایم او اشارے کا استعمال کرنا ہے۔ سی ایم او نے 100 سے 100 کے درمیان اتار چڑھاو پیدا کرنے کے لئے اضافہ اور کمی کی شرح کے فرق اور مجموعی تناسب کا حساب لگایا ہے۔ جب سی ایم او 50 سے کم ہوتا ہے تو ، اس سے ظاہر ہوتا ہے کہ مارکیٹ میں زیادہ فروخت کی حالت ہے۔ جب سی ایم او 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)