
یہ حکمت عملی ایک متحرک ٹریڈنگ سسٹم ہے جو کموڈٹی چینل انڈیکیٹر (CCI) پر مبنی ہے ، جس میں مارکیٹ میں زیادہ فروخت ہونے والے علاقوں میں ٹریڈنگ کے مواقع کو پکڑنے کے لئے قیمتوں کی اوسط سے انحراف کی نگرانی کی جاتی ہے۔ حکمت عملی 12 سائیکلوں کو پیچھے کی مدت کے طور پر استعمال کرتی ہے ، جب سی سی آئی اشارے 90 thresholds سے نیچے آجائے تو زیادہ خریدیں ، اور جب بند ہونے والی قیمتیں پچھلے دور کی اونچائی کو توڑ دیں تو پوزیشن سے باہر نکلیں ، اور اس میں اختیاری اسٹاپ نقصان اور منافع بند کرنے کا طریقہ کار موجود ہے۔
اس حکمت عملی کا بنیادی حصہ یہ ہے کہ سی سی آئی اشارے کا استعمال قیمتوں اور ان کی اوسط قیمت کے مابین انحراف کی پیمائش کرنے کے لئے کیا جائے۔ سی سی آئی کے حساب کتاب کے عمل میں شامل ہیں: پہلے عام قیمتوں کا حساب لگائیں (اعلی ، کم قیمتوں اور اختتامی قیمتوں کی ریاضیاتی اوسط) ، پھر عام قیمتوں کا ایک سادہ حرکت پذیر اوسط (ایس ایم اے) ، اور آخر میں ایس ایم اے کو عام قیمت سے کم کرکے اور اس کو اوسط انحراف کے ساتھ تقسیم کرکے 0.015 سے ضرب کرکے حتمی سی سی آئی حاصل کریں۔ سی سی آئی کی قیمت 90 سے کم ہونے پر ، مارکیٹ میں ممکنہ طور پر oversold ہونے کی نشاندہی کی جاتی ہے ، اور اس وقت زیادہ تجارت کی جاتی ہے۔ جب قیمت پچھلی مدت کی اونچائیوں کو توڑتی ہے ، تو اس کا اشارہ ہوتا ہے کہ اوپر کی طرف رجحان قائم ہے ، اور اس وقت بیعانہ کی حکمت عملی۔ اس کے علاوہ ، اسٹاپ نقصان اور منافع کے اختتامی پیرامیٹرز کی ترتیب کے اختیارات بھی فراہم کیے جاتے ہیں ، جو تاجر کے خطرے کی ترجیحات کے مطابق لچکدار ایڈجسٹمنٹ کے
یہ حکمت عملی سی سی آئی اشارے کے ذریعہ مارکیٹ میں زیادہ فروخت کے مواقع پر قبضہ کرتی ہے ، جس میں اسٹاپ نقصان اور منافع بند کرنے کا طریقہ کار ہوتا ہے ، اور ایک مکمل تجارتی نظام حاصل کیا جاتا ہے۔ حکمت عملی کی منطق واضح ہے ، اس پر عمل درآمد آسان ہے ، اور اس میں خطرہ پر قابو پانے کی اچھی صلاحیت موجود ہے۔ سگنل فلٹرنگ ، متحرک تخفیف اور دیگر اصلاحی طریقوں کو متعارف کرانے کے ذریعہ حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بہتر بنانے کی گنجائش ہے۔ یہ تجویز کی جاتی ہے کہ تاجر اس کو عملی طور پر استعمال کرنے سے پہلے بھرپور تاثرات دیں اور پیرامیٹرز کی ترتیب کو مارکیٹ کی مخصوص خصوصیات کے مطابق ایڈجسٹ کریں۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("CCI Threshold Strategy", overlay=false, initial_capital=50000, pyramiding=0, commission_type=strategy.commission.cash_per_contract, commission_value=0.05, slippage=1)
// --- Input Parameters ---
// Lookback period for CCI calculation
lookbackPeriod = input.int(12, minval=1, title="CCI Lookback Period")
// Buy threshold for CCI; typically represents an oversold condition
buyThreshold = input.int(-90, title="CCI Buy Threshold")
// Stop loss and take profit settings
stopLoss = input.float(100.0, minval=0.0, title="Stop Loss in Points")
takeProfit = input.float(150.0, minval=0.0, title="Take Profit in Points")
// Checkboxes to enable/disable SL and TP
useStopLoss = input.bool(false, title="Enable Stop Loss")
useTakeProfit = input.bool(false, title="Enable Take Profit")
// --- Calculate CCI ---
// CCI (Commodity Channel Index) is used as a momentum indicator to identify oversold and overbought conditions
cci = ta.cci(close, length=lookbackPeriod)
// --- Define Buy and Sell Conditions ---
// Buy condition: CCI drops below -90, indicating potential oversold levels
longCondition = cci < buyThreshold
// Sell condition: Close price crosses above the previous day's high, signaling potential exit
sellCondition = close > ta.highest(close[1], 1)
// --- Strategy Execution ---
// Buy entry based on the long condition
if (longCondition)
strategy.entry("Buy", strategy.long)
// Close the long position based on the sell condition
if (sellCondition)
strategy.close("Buy")
// Optional: Add stop loss and take profit for risk management
if (longCondition)
strategy.exit("Sell", from_entry="Buy", loss=useStopLoss ? stopLoss : na, profit=useTakeProfit ? takeProfit : na)
// --- Plotting for Visualization ---
// Plot CCI with threshold levels for better visualization
plot(cci, title="CCI", color=color.blue)
hline(buyThreshold, "Buy Threshold", color=color.red, linestyle=hline.style_dotted)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)