
اس حکمت عملی پر مبنی ہے کموڈٹی چینل انڈیکس ((CCI) اشارے ، متحرک موافقت پذیر اندراجات کے معیار کو بروقت اندازہ کرنے کے لئے ، جبکہ منافع کو مقفل کرنے کے لئے ٹریکنگ اسٹاپ نقصانات کا استعمال کرتے ہوئے۔ حکمت عملی کا نام سی سی آئی کے نیچے کی گرفتاری کے لئے کموڈٹی ٹریڈنگ کی حکمت عملی پرکشش ہے۔ اس حکمت عملی میں اس حکمت عملی کی بنیادی باتیں شامل ہیں: واپسی کے مواقع کو پکڑنے کے لئے اوور سیل علاقوں کا فیصلہ کرنے کے لئے سی سی آئی اشارے کا استعمال کریں ، اور متحرک موافقت پذیر اندراجات کو افقی طور پر انٹریوں کے وقت کو بہتر بنانے کے لئے استعمال کریں۔
بنیادی اشارے سی سی آئی اشارے ہیں جو اوور سیل علاقوں کا تعین کرنے کے لئے استعمال کیے جاتے ہیں تاکہ رجحان کو تبدیل کرنے کا موقع مل سکے۔ اس کے علاوہ ، مختلف اشارے اور مارکیٹ کے حالات کے مطابق ، سی سی آئی اوور سیل علاقوں کی وسعت بھی مختلف ہوسکتی ہے۔ لہذا ، اس حکمت عملی میں ایک پرکشش نقطہ نظر کا استعمال کیا گیا ہے ، جس میں سی سی آئی کی خریداری کی سطح کو متحرک طور پر طے کیا گیا ہے۔ اگر پچھلے 40 دن میں سی سی آئی کا کم از کم نقطہ -90 سے زیادہ ہے تو ، -90 نئے اوور سیل علاقہ کی سطح کے طور پر؛ اگر پچھلے 50 دن میں سی سی آئی کا کم از کم نقطہ -70 سے زیادہ ہے تو ، -70 نئے اوور سیل علاقہ کی سطح کے طور پر ، اس طرح تجویز کیا گیا ہے۔
خاص طور پر ، پہلے سے طے شدہ خرید سگنل کا سی سی آئی سطح -145 ہے۔ اس کے بعد ، پچھلے 40 دن ، 50 دن وغیرہ میں سی سی آئی کے کم سے کم نقطہ کی جگہ کا فیصلہ کریں ، اگر کم سے کم نقطہ پہلے سے طے شدہ سطح کی اگلی سطح جیسے -90 سے زیادہ ہے تو ، -90 کو بطور نیا اندراجات کی سطح کے طور پر استعمال کریں۔ اگر کم سے کم نقطہ -90 سے زیادہ ہے تو ، -70 کو بطور نیا اندراجات کی سطح کے طور پر استعمال کریں ، اور اسی طرح۔ اس طرح ، اندراجات کی سطح -145 / -90 / -70 / -50 / -4 / 0 / +25 / +50 / +70 کے درمیان متحرک طور پر تبدیل ہوسکتی ہے۔ جب سی سی آئی مناسب سطح سے کم ہوتا ہے تو خرید سگنل پیدا ہوتا ہے۔
اس کے علاوہ ، حکمت عملی میں منافع کو روکنے کے لئے ٹریکنگ اسٹاپ کا استعمال کیا جاتا ہے ، جس میں قیمت کے عمل کے ساتھ اسٹاپ نقصان کی سطح میں اضافہ ہوتا ہے۔
اس طرح کے متحرک ڈیزائن سے انٹریوں کے وقت کو بہتر بنایا جاسکتا ہے۔ گرنے والے بازاروں میں اعلی درجے کے معیار کا حصول کم خطرہ کا باعث بن سکتا ہے۔ اور زلزلے کے زون میں ترتیب دینے والے بازاروں میں انٹریوں کے معیار کو کم کرنے سے زیادہ مواقع کا فائدہ اٹھایا جاسکتا ہے۔ اس طرح کے ڈیزائن سے حکمت عملی کی موافقت میں اضافہ ہوتا ہے۔
سی سی آئی خود بھی اوور خرید اور اوور فروخت کے لئے ایک واضح اور قابل اعتماد اشارے کے طور پر کام کرتا ہے ، سی سی آئی کی بنیاد پر رجحان کی تبدیلی کا اندازہ لگانے کا طریقہ کار کارآمد ہے۔ متحرک اندراجات کے ڈیزائن کے ساتھ مل کر ، اس حکمت عملی کے مجموعی فوائد نمایاں ہیں۔
سی سی آئی کی بنیاد پر رجحان کی تبدیلی کے بارے میں سوچنے میں کچھ تاخیر ہوتی ہے ، جب قیمتیں تیزی سے بڑھتی ہیں یا گرتی ہیں تو ، اندراجات کا وقت غلط ہوسکتا ہے۔ اس کے علاوہ ، اندراجات کی سطح کے متحرک موافقت کا میکانزم بھی موجودہ مارکیٹ کے ماحول سے بالکل مماثل نہیں ہے ، جس کے نتیجے میں اندراجات کا بہترین وقت نہیں ہوتا ہے۔ آخر میں ، اجناس کی مارکیٹ خود ہی زیادہ اتار چڑھاؤ والی ہے ، یہاں تک کہ اگر اسٹاپ نقصان بھی طے کیا جاتا ہے ، لیکن اس کے بعد مخصوص پیرامیٹرز کی ترتیب بھی زیادہ نقصان کا سبب بن سکتی ہے۔
بنیادی طور پر سی سی آئی پیرامیٹرز خود ، انٹریز کی سطح کی ترتیب اور اسٹاپ نقصان پیرامیٹرز سے کئی پہلوؤں میں اصلاح کی جاسکتی ہے۔ مخصوص معیار کے ل for بہتر پیرامیٹرز کی بہتر شناخت حکمت عملی کی تاثیر کو بڑھا سکتی ہے۔
اس حکمت عملی میں سی سی آئی کے اشارے کا استعمال کیا گیا ہے جس میں اوورلوڈ اور اوورلوڈ کے بارے میں سوچا جاتا ہے ، اور متحرک انکولی اندراجات کی سطح کا ڈیزائن کیا گیا ہے ، جس میں توڑنے والے رجحانات کو پکڑنے کے لئے استعمال کیا جاتا ہے۔ مقررہ پیرامیٹرز کے مقابلے میں ، متحرک اندراجات کی سطح حکمت عملی کی موافقت کو نمایاں طور پر بڑھا دیتی ہے۔ اندراجات پر مبنی ریورس کیپنگ ماڈل اور ٹریکنگ اسٹاپ نقصان کے ساتھ مل کر ، مضبوط تر مواقع کو پکڑنے اور بروقت نقصان کو روکنے کے لئے استعمال کیا جاتا ہے۔ اس حکمت عملی میں پیرامیٹرز کی درست ترتیب کی شرط پر ، مجموعی طور پر اثر و رسوخ مضبوط ہے۔ سی سی آئی پیرامیٹرز کی ترتیب اور اندراجات کی سطح کی تشخیص کو بہتر بنانے کے لئے حکمت عملی کی استحکام اور منافع کو مزید بڑھانے کے لئے جاری رکھ سکتے ہیں۔
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Extended Adaptive CCI Entry Strategy for Commodities", shorttitle="Ext_Adaptive_CCI_Entry_Com", overlay=true)
// Inputs
cciLength = input(20, title="CCI Period")
defaultCCIEntryOversold = input(-145, title="Default CCI Entry Oversold Level")
adaptiveCCIEntryLevel90 = input(-90, title="Adaptive CCI Entry Level for 40 Days")
adaptiveCCIEntryLevel70_50Days = input(-70, title="Adaptive CCI Entry Level for 50 Days")
adaptiveCCIEntryLevel50 = input(-50, title="Adaptive CCI Entry Level for 60 Days")
adaptiveCCIEntryLevel4 = input(-4, title="Adaptive CCI Entry Level for 90 Days")
adaptiveCCIEntryLevel0 = input(0, title="Adaptive CCI Entry Level for 120 Days")
adaptiveCCIEntryLevel25 = input(25, title="Adaptive CCI Entry Level for 140 Days")
adaptiveCCIEntryLevel50_160Days = input(50, title="Adaptive CCI Entry Level for 160 Days")
adaptiveCCIEntryLevel70_180Days = input(70, title="Adaptive CCI Entry Level for 180 Days")
lookback40 = input(40, title="Lookback Period for -90 Level")
lookback50 = input(50, title="Lookback Period for -70 Level")
lookback60 = input(60, title="Lookback Period for -50 Level")
lookback90 = input(90, title="Lookback Period for -4 Level")
lookback120 = input(120, title="Lookback Period for 0 Level")
lookback140 = input(140, title="Lookback Period for +25 Level")
lookback160 = input(160, title="Lookback Period for +50 Level")
lookback180 = input(180, title="Lookback Period for +70 Level")
// Indicator Calculation
cci = ta.cci(close, cciLength)
// Determine adaptive entry level based on lookback periods
var float entryLevel = defaultCCIEntryOversold // Initialize with the default level
if ta.lowest(cci, lookback40) > adaptiveCCIEntryLevel90
entryLevel := adaptiveCCIEntryLevel90
if ta.lowest(cci, lookback50) > adaptiveCCIEntryLevel70_50Days
entryLevel := adaptiveCCIEntryLevel70_50Days
if ta.lowest(cci, lookback60) > adaptiveCCIEntryLevel50
entryLevel := adaptiveCCIEntryLevel50
if ta.lowest(cci, lookback90) > adaptiveCCIEntryLevel4
entryLevel := adaptiveCCIEntryLevel4
if ta.lowest(cci, lookback120) > adaptiveCCIEntryLevel0
entryLevel := adaptiveCCIEntryLevel0
if ta.lowest(cci, lookback140) > adaptiveCCIEntryLevel25
entryLevel := adaptiveCCIEntryLevel25
if ta.lowest(cci, lookback160) > adaptiveCCIEntryLevel50_160Days
entryLevel := adaptiveCCIEntryLevel50_160Days
if ta.lowest(cci, lookback180) > adaptiveCCIEntryLevel70_180Days
entryLevel := adaptiveCCIEntryLevel70_180Days
// Entry Condition
longCondition = cci < entryLevel
// Entry and Exit
if (longCondition)
strategy.entry("Long", strategy.long, qty=1)
alert("Long entry executed at " + str.tostring(close), alert.freq_once_per_bar)
trailOffset = input(10.0, title="Trailing Stop Offset in USD")
strategy.exit("Trailing Stop", "Long", trail_offset = trailOffset, trail_price = close)
if (close < entryLevel - trailOffset)
alert("Long position closed at " + str.tostring(close), alert.freq_once_per_bar)
// Plotting
plot(series=cci, color=color.purple, title="CCI")
hline(price=defaultCCIEntryOversold, color=color.red, title="Default CCI Entry Oversold Level")
hline(price=adaptiveCCIEntryLevel90, color=color.orange, title="CCI -90 Level (40 Days)")
hline(price=adaptiveCCIEntryLevel70_50Days, color=color.yellow, title="CCI -70 Level (50 Days)")
hline(price=adaptiveCCIEntryLevel50, color=color.green, title="CCI -50 Level (60 Days)")
hline(price=adaptiveCCIEntryLevel4, color=color.blue, title="CCI -4 Level (90 Days)")
hline(price=adaptiveCCIEntryLevel0, color=color.purple, title="CCI 0 Level (120 Days)")
hline(price=adaptiveCCIEntryLevel25, color=color.aqua, title="CCI +25 Level (140 Days)")
hline(price=adaptiveCCIEntryLevel50_160Days, color=color.black, title="CCI +50 Level (160 Days)")
hline(price=adaptiveCCIEntryLevel70_180Days, color=color.gray, title="CCI +70 Level (180 Days)")