
ڈبل سائیکل سی سی آئی ٹرینڈ ٹریک ٹریڈنگ اسٹریٹجی ایک مقداری ٹریڈنگ سسٹم ہے جو طویل اور مختصر مدت کے کموڈٹی چینل انڈیکس (CCI) کے ساتھ مل کر مارکیٹ میں مضبوط رجحان سازی کو پہچاننے اور پکڑنے کے لئے ڈیزائن کیا گیا ہے۔ یہ حکمت عملی مارکیٹ میں اہم رجحانات کی سمت کا تعین کرنے کے لئے 50 سائیکلوں کی لمبی مدت کے سی سی آئی کا استعمال کرتی ہے ، جبکہ 5 سائیکلوں کی مختصر مدت کے سی سی آئی کا استعمال کرتے ہوئے مارکیٹ کی حرکیات میں تبدیلی اور موقع پر قبضہ کرتی ہے۔ یہ دوہری سائیکل کا مجموعہ نہ صرف مؤثر طریقے سے جعلی سگنل کو فلٹر کرنے کے قابل ہے ، بلکہ اس رجحان کے ابتدائی حصے میں عین مطابق داخلی مقامات بھی فراہم کرتا ہے ، جس سے اس رجحان میں قبضہ کرنے کے لئے بنیادی منافع کو زیادہ سے زیادہ کیا جاسکتا ہے۔ یہ حکمت عملی دو طرفہ تجارت کی حمایت کرتی ہے ، اور صارف اپنے خطرے کی ترجیحات کے مطابق لچکدار طور پر اس کو بند یا بند کرسکتا ہے ، اور اسے مختلف مارکیٹ کے ماحول اور تجارتی ضروریات کے مطابق بناتا ہے۔
اس حکمت عملی کا بنیادی منطق سی سی آئی کے اشارے پر صفر لائن پار کرنے اور حرکیات میں تبدیلی کی تھیوری پر مبنی ہے ، اور اس کے عملی اصول درج ذیل ہیں:
متعدد داخلے کی شرائط:
ملٹی ہیڈ پیوریج شرائط:
خالی سر داخلے کی شرط(صرف خالی کرنے کی خصوصیت فعال ہونے پر):
خالی پیسے کی پوزیشن کی شرائط:
متغیر کے ذریعے حکمت عملیinPositiveCciLongCycle、firstCrossoverOccurredاورfirstCrossunderOccurredرجحان کی سائیکل کی حیثیت کا سراغ لگانا ، اس بات کو یقینی بنانا کہ ایک رجحان کی مدت میں صرف ایک ہی تجارت کی جائے ، جو ہلچل والی مارکیٹ میں بار بار تجارت اور غیر ضروری فیسوں کے نقصان سے بچنے کے لئے موثر ہے۔
کوڈ کو گہرائی سے تجزیہ کرنے کے بعد، اس حکمت عملی میں کئی اہم فوائد ہیں:
رجحانات اور رفتار کی دوہری تصدیق: لمبی مدت اور مختصر مدت کے سی سی آئی اشارے کے ساتھ مل کر ، رجحان کی سمت اور داخلے کے وقت کی دوہری تصدیق کا طریقہ کار ، جعلی سگنل کے خطرے کو نمایاں طور پر کم کرتا ہے۔
عین مطابق داخلے کا وقتحکمت عملی: مختصر مدت کے سی سی آئی کے ذریعے صفر لائن کو عبور کرنے کے ذریعے متحرک تبدیلیوں کی نشاندہی کرنے کے لئے ، رجحانات کے اوائل میں زیادہ درست اندراج کے مقامات فراہم کرنے کے قابل ، فنڈز کے استعمال میں بہتری۔
بار بار تجارت سے گریز کریں: سائیکل کے اندر ایک بار داخل ہونے کے طریقہ کار کے ذریعے ، ہنگامہ خیز مارکیٹوں میں بار بار تجارت سے بچنے اور تجارت کی لاگت کو کم کرنے کے لئے موثر ہے۔
لچکدار تجارت کے طریقوں: صرف ایک یا دو طرفہ تجارت کی حمایت کرتا ہے ، صارف مارکیٹ کے حالات اور ذاتی ترجیحات کے مطابق مختلف مارکیٹ کے حالات کے مطابق لچکدار ہوسکتے ہیں۔
واضح بصری آراء: حکمت عملی تجزیہ اور ریٹرننگ کی توثیق کے لئے سی سی آئی اشارے لائنوں اور ٹریڈنگ سگنل کے نشانات سمیت بصری اشارے فراہم کرتی ہے۔
پیرامیٹرز ایڈجسٹ: صارفین کو مختلف مارکیٹوں اور اقسام کی خصوصیات کے مطابق طویل اور مختصر سی سی آئی سائیکل پیرامیٹرز کو ایڈجسٹ کرنے کی اجازت دیتا ہے ، جس سے حکمت عملی کی موافقت میں اضافہ ہوتا ہے۔
اس حکمت عملی کے معقول ڈیزائن کے باوجود ، مندرجہ ذیل ممکنہ خطرات موجود ہیں:
رجحان کے الٹ جانے کا خطرہ: ایک مضبوط رجحان کے اچانک الٹ جانے کی صورت میں ، طویل مدتی سی سی آئی صفر لائن کو بروقت عبور کرنے سے قاصر ہوسکتا ہے ، جس کی وجہ سے فلیٹ پوزیشن سگنل میں تاخیر ہوتی ہے ، جس کی وجہ سے پہلے سے ہی منافع بخش واپسی کا سبب بن سکتا ہے۔ اس کا حل روکنے کا طریقہ کار متعارف کرانا یا زیادہ حساس فلیٹ پوزیشن اشارے شامل کرنا ہے۔
افقی مارکیٹ کی ناکامی: طویل عرصے سے افقی یا غیر واضح رجحان کے ساتھ مارکیٹ کے ماحول میں ، حکمت عملی میں متعدد بار ناکارہ سگنل پیدا ہوسکتے ہیں ، جس سے نقصان ہوتا ہے۔ یہ تجویز کی جاتی ہے کہ اس حکمت عملی کا استعمال اس وقت کیا جائے جب مارکیٹ واضح رجحان میں ہو۔
پیرامیٹر کی حساسیتسی سی آئی سائیکل پیرامیٹرز کے انتخاب سے حکمت عملی کی کارکردگی پر نمایاں اثر پڑتا ہے۔ مختلف مارکیٹوں میں مختلف پیرامیٹرز کی ترتیبات کی ضرورت ہوسکتی ہے۔ یہ تجویز کی جاتی ہے کہ پیرامیٹرز کا مجموعہ تلاش کریں جو کسی خاص مارکیٹ کے لئے موزوں ہے۔
واحد اشارے پر انحصار: حکمت عملی صرف سی سی آئی اشارے پر انحصار کرتی ہے ، دیگر تکنیکی اشارے یا قیمت کی شکل کی معاون تصدیق کی کمی ، جعلی سگنل کے خطرے کو بڑھا سکتی ہے۔ اضافی فلٹرنگ شرائط کو شامل کرنے پر غور کریں۔
ناکافی فنڈز کا انتظام: کوڈ میں فکسڈ تناسب پوزیشن مینجمنٹ کا استعمال کریں ((100٪ فنڈ) ، جو زیادہ اتار چڑھاؤ والے بازاروں میں زیادہ خطرہ لاحق ہوسکتا ہے۔ مارکیٹ میں اتار چڑھاؤ کی متحرکات کے مطابق پوزیشن کا سائز ایڈجسٹ کرنے کی تجویز ہے۔
کوڈ تجزیہ کی بنیاد پر ، اس حکمت عملی کو مندرجہ ذیل سمتوں میں بہتر بنایا جاسکتا ہے۔
فلٹرنگ کی شرائط شامل کریں: دیگر تکنیکی اشارے جیسے مساوی لائن ، آر ایس آئی یا ایم اے سی ڈی کے ساتھ مل کر ، ایک سے زیادہ تصدیق کے طریقہ کار کی تعمیر ، سگنل کے معیار کو بہتر بنائیں۔ اس طرح کی اصلاح اس لئے کی گئی ہے کہ ایک ہی سی سی آئی اشارے سے بعض مارکیٹ کے حالات میں گمراہ کن سگنل پیدا ہوسکتے ہیں ، متعدد اشارے مل کر اپنی اپنی کمزوریوں کو پورا کرسکتے ہیں۔
موافقت کے پیرامیٹرز متعارف کرانے: سی سی آئی کی سائیکلنگ پیرامیٹرز کو مارکیٹ کے اتار چڑھاؤ پر مبنی خود کار طریقے سے ایڈجسٹ کرنے کے لئے ڈیزائن کیا گیا ہے ، تاکہ حکمت عملی کو مختلف مارکیٹ کے مراحل کے مطابق ڈھال لیا جاسکے۔ اس اصلاح سے حکمت عملی کو مختلف اتار چڑھاؤ کے ماحول میں مستحکم کارکردگی برقرار رکھنے میں مدد ملتی ہے۔
فنڈ مینجمنٹ کو بہتر بنائیں: اے ٹی آر پر مبنی متحرک پوزیشن مینجمنٹ متعارف کرایا گیا ہے ، جو مارکیٹ میں اتار چڑھاؤ کے مطابق پوزیشن کے سائز کو خود بخود ایڈجسٹ کرتا ہے ، منافع اور خطرے کو متوازن کرتا ہے۔ اس بہتری سے حکمت عملی کو اعلی اتار چڑھاؤ والے بازاروں میں خطرے پر قابو پانے کی اجازت ملتی ہے ، جبکہ کم اتار چڑھاؤ والے رجحانات میں مواقع سے بھرپور فائدہ اٹھایا جاسکتا ہے۔
سٹاپ نقصان کے نظام میں اضافہ: مارکیٹ میں اتار چڑھاؤ پر مبنی متحرک اسٹاپ اور نقصان کی حکمت عملی تیار کریں ، جو پہلے سے ہی منافع کو بچائے اور ایک ہی تجارت میں ہونے والے نقصان کو محدود کرے۔ اس طرح طویل مدتی سی سی آئی رد عمل کے تاخیر کی وجہ سے بڑے پیمانے پر منافع کی واپسی سے بچا جاسکتا ہے۔
ٹائم فریم کی اصلاح: مختلف تجارتی اوقات (جیسے اوپن ، بند) کے لئے حکمت عملی کے پیرامیٹرز یا تجارتی منطق کو ایڈجسٹ کریں تاکہ مارکیٹ کی خصوصیات کو مختلف اوقات میں ایڈجسٹ کیا جاسکے۔ مارکیٹ مختلف اوقات میں مختلف اتار چڑھاؤ اور رجحان کی خصوصیات کا مظاہرہ کرتی ہے ، جس میں اہداف کی اصلاح سے حکمت عملی کی استحکام میں اضافہ ہوتا ہے۔
واپسی کنٹرول میں اضافہ: زیادہ سے زیادہ واپسی کنٹرول میکانیزم ڈیزائن کریں ، حکمت عملی کی خراب کارکردگی پر خود بخود پوزیشنوں کو کم کریں یا تجارت کو روک دیں ، تاکہ مسلسل نقصانات کو روکا جاسکے۔ یہ میکانیزم حکمت عملی کو غیر منفعتی مارکیٹ کے ماحول میں خود کی حفاظت میں مدد کرتا ہے۔
ڈبل سائیکل سی سی آئی ٹرینڈ ٹریک ٹریڈنگ اسٹریٹجی ایک اعلی کارکردگی کا رجحان ٹریڈنگ سسٹم ہے جو سی سی آئی اشارے پر مبنی ہے ، جس میں طویل اور قلیل مدت کے سی سی آئی کے ہم آہنگی کے ذریعے مارکیٹ کے رجحان کی سمت کی نشاندہی کرتے ہوئے بہترین انٹری ٹائمنگ کو پکڑنا ہے۔ اس حکمت عملی کو سادہ اور موثر انداز میں ڈیزائن کیا گیا ہے ، خاص طور پر واضح رجحان کی مارکیٹوں کے لئے موزوں ہے۔ اگرچہ کچھ پیرامیٹر حساسیت اور کسی ایک اشارے پر انحصار کرنے کا خطرہ موجود ہے ، لیکن تجویز کردہ اصلاح کی سمت ، جس میں کثیر اشارے کے امتزاج ، خود سے مطابقت پذیر پیرامیٹرز اور بہتر فنڈ مینجمنٹ میکانزم شامل ہیں ، اس حکمت عملی کی استحکام اور موافقت کو نمایاں طور پر بڑھا سکتے ہیں۔ رجحان ٹریڈنگ کی تلاش میں مقدار میں سرمایہ کاروں کے لئے ، یہ حکمت عملی ایک مثالی نقطہ آغاز فراہم کرتی ہے ، جس میں مزید تخصیص اور اصلاح کی جاسکتی ہے۔
/*backtest
start: 2024-07-03 00:00:00
end: 2025-07-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
// @version=6
// @description= Trend-following trading strategy based on the Commodity Channel Index (CCI) and price action confirmation.
// The strategy focuses on identifying momentum-driven trends with entry and exit conditions.
// @author: withoutbug
strategy("Momentum CCI Trend Following Strategy",
overlay=false,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.075,
margin_long=0,
margin_short=0)
// Input parameters
cciLongPeriod = input.int(50, "Long CCI Period", minval=1)
cciShortPeriod = input.int(5, "Short CCI Period", minval=1)
twoWayTrading = input(false, "Enable Short Order Book")
// Calculate CCI
cciLong = ta.cci(hlc3, cciLongPeriod)
cciShort = ta.cci(hlc3, cciShortPeriod)
cciLongCrossUnderZero = ta.crossunder(cciLong, 0)
cciShortCrossOverZero = ta.crossover(cciShort, 0)
cciLongCrossOverZero = ta.crossover(cciLong, 0)
cciShortCrossUnderZero = ta.crossunder(cciShort, 0)
// Track CCI Long > 0 state and first crossover
var bool inPositiveCciLongCycle = false
var bool firstCrossoverOccurred = false
var bool firstCrossunderOccurred = false
// Update CCI Long cycle state
firstCrossoverOccurred := false
firstCrossunderOccurred := false
// Buy conditions
buySignal = strategy.position_size==0 and cciLong > 0 and cciLong[1] > 0 and cciShortCrossOverZero and firstCrossoverOccurred == false
if buySignal
firstCrossoverOccurred := true
// Exit conditions
exitLong = strategy.position_size>0 and cciLongCrossUnderZero
// Sell conditions
sellSignal = strategy.position_size==0 and cciLong < 0 and cciLong[1] < 0 and cciShortCrossUnderZero and firstCrossunderOccurred == false
if sellSignal
firstCrossunderOccurred := true
// Exit conditions
exitShort = strategy.position_size<0 and cciLongCrossOverZero
// Strategy logic
if (buySignal)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long", comment="CCI Exit Long")
if (sellSignal and twoWayTrading)
strategy.entry("Short", strategy.short)
if (exitShort and twoWayTrading)
strategy.close("Short", comment="CCI Exit Short")
// Plot CCI indicators on the panel
plot(cciLong, title="Long CCI", color = cciLong>=0 ? color.green:color.red, linewidth=2, style = plot.style_area)
plot(cciShort, title="Short CCI", color=color.yellow, linewidth=1)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_solid)
// Plot buy and sell signals on the panel
plotshape(buySignal, title="Buy Signal", location=location.bottom, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(exitLong, title="exitLong", location=location.top, color=color.red, style=shape.triangledown, size=size.tiny)
plotshape(sellSignal, display = twoWayTrading?display.pane:display.none, title="Sell Signal", location=location.top, color=color.red, style=shape.triangledown, size=size.tiny)
plotshape(exitShort, display = twoWayTrading?display.pane:display.none, title="exitShort", location=location.bottom, color=color.green, style=shape.triangleup, size=size.tiny)