یہ حکمت عملی کموڈٹی چینل انڈیکس (سی سی آئی) اشارے پر مبنی ہے ، جس کا مقصد زیادہ فروخت کی حالت میں طویل اور زیادہ خریدنے کی حالت میں مختصر ہونا ہے۔ یہ صرف رجحان کی سمت میں تجارت کرنے کے لئے اختیاری طور پر ایک ایکسپونینشل موونگ ایوریج (ای ایم اے) فلٹر بھی استعمال کرتا ہے۔ یہ حکمت عملی مقررہ فیصد یا اوسط حقیقی رینج (اے ٹی آر) پر مبنی اسٹاپ نقصان اور منافع بھی فراہم کرتی ہے۔
مارکیٹ کے رجحان کا تعین کرنے کے لئے CCI اشارے کا استعمال کریں
اس کے علاوہ، یہ بھی کہا گیا ہے کہ اس کی قیمتوں کا تعین کرنے کے لئے، اس کی قیمتوں کا تعین کرنے کے لئے، اس کی قیمتوں کا تعین کرنے کے لئے، اس کی قیمتوں کا تعین کرنے کے لئے، اس کی قیمتوں کا تعین کرنے کے لئے.
سی سی آئی 150 سے اوپر زیادہ خریدا جاتا ہے، -100 سے نیچے زیادہ فروخت کیا جاتا ہے
اختیاری طور پر ای ایم اے فلٹر استعمال کریں
صرف اس صورت میں طویل سفر کریں جب قیمت ای ایم اے سے اوپر ہو اور ای ایم اے سے نیچے ہو تو مختصر سفر کریں
رجحان کی سمت کا تعین کرنے کے لئے ای ایم اے کا استعمال کریں ، مخالف رجحان کی تجارت سے گریز کریں
سٹاپ نقصان اور منافع لینے کے دو قسم فراہم کریں
مقررہ فیصد پر مبنی سٹاپ نقصان اور منافع حاصل کریں: داخلہ قیمت کا مقررہ فیصد استعمال کریں
اے ٹی آر پر مبنی سٹاپ نقصان اور منافع لیں: اسٹاپ نقصان کے لئے اے ٹی آر ضرب کا استعمال کریں، خطرے کے اجر تناسب کی بنیاد پر منافع لینے کا حساب لگائیں
داخلے کی شرائط
جب سی سی آئی -100 سے اوپر جاتا ہے تو طویل عرصے تک جانا
جب سی سی آئی 150 سے نیچے جاتا ہے تو مختصر ہو جاتا ہے
اگر EMA فعال ہے تو ، صرف اس وقت درج کریں جب قیمت EMA کے دائیں طرف ہو
باہر نکلنے کی شرائط
بند پوزیشن جب سٹاپ نقصان یا منافع لینے کا نشانہ بنایا جاتا ہے
بند پوزیشن جب سی سی آئی دوبارہ زیادہ خرید/زیادہ فروخت کے علاقے میں داخل ہو
سازش
داخلہ کے لئے CCI overbought/oversold کا استعمال کریں، CCI کا ایک کلاسیکی استعمال
اختیاری ای ایم اے رجحان کے ساتھ تجارت کو یقینی بناتا ہے ، الٹ پھیر سے بچتا ہے
لچک کے لئے دو قسم کے سٹاپ نقصان / منافع حاصل کریں
سی سی آئی سگنل پر بندش دوبارہ واپسی کے منافع میں مقفل
گرافنگ روشنی ڈالتا ہے CCI سگنل واضح طور پر
سادہ اور واضح منطق، سمجھنے اور بہتر بنانے کے لئے آسان
سی سی آئی کا اثر تاخیر سے ہوتا ہے، اس سے واپسی کا امکان ہوتا ہے یا غلط اشارے ملتے ہیں
غلط EMA پیرامیٹرز رجحانات کو نظر انداز کرسکتے ہیں یا حکمت عملی کو غیر موثر بنا سکتے ہیں
مقررہ فیصد سٹاپ نقصان / منافع کم مارکیٹ کی تبدیلیوں کو اپنانے
اے ٹی آر سٹاپ نقصان / منافع لینے کے لئے حساس اے ٹی آر مدت، کو بہتر بنانا چاہئے
زیادہ ڈراؤنڈ رسک، پوزیشن سائزنگ کو ایڈجسٹ کیا جانا چاہئے
کارکردگی مارکیٹ کے حالات میں مختلف ہوتی ہے، پیرامیٹرز کا دوبارہ جائزہ لیں
بہترین پیرامیٹر مجموعے تلاش کرنے کے لئے CCI ادوار کا اندازہ کریں
بہترین رجحان کا تخمینہ لگانے کے لئے مختلف EMA ادوار کی جانچ کریں
اسٹاپ نقصان / منافع حاصل کرنے کے لئے بہترین رسک انعام تناسب کو ایڈجسٹ کریں
مزید غلط سگنل سے بچنے کے لئے حجم کی طرح دیگر فلٹرز شامل کریں
نمونہ کی تصدیق کے لئے ٹرینڈ لائنز / چارٹ پیٹرن کے ساتھ مل کر
کنٹرول ڈراؤنڈ کے لئے مقررہ سائز جیسے پوزیشن سائزنگ کے قوانین شامل کریں
مختلف مارکیٹ کے حالات میں بیک ٹسٹ، متحرک طور پر ایڈجسٹ کریں
یہ حکمت عملی داخلے کے لئے کلاسیکی سی سی آئی اوور بک / اوور سیل اصولوں کا استعمال کرتی ہے۔ ای ایم اے فلٹر ٹرینڈ ٹریڈنگ کو کنٹرول کرتا ہے۔ لچک کے لئے دو قسم کے اسٹاپ نقصان / منافع حاصل کریں۔ پلاٹنگ سگنلز کو واضح طور پر اجاگر کرتی ہے۔ سادہ اور واضح منطق ، سمجھنے اور بہتر بنانے میں آسان۔ پیرامیٹر ٹوننگ ، فلٹرز شامل کرنے ، رسک کنٹرول وغیرہ کے ذریعے مزید بہتری لائی جاسکتی ہے۔
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © alifer123 //@version=5 // strategy("CCI+EMA Strategy with Percentage or ATR TP/SL [Alifer]", shorttitle = "CCI_EMA_%/ATR_TP/SL", overlay=false, // initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.045) length = input(14, "CCI Length") overbought = input.int(150, step = 10, title = "Overbought") oversold = input.int(-140, step = 10, title = "Oversold") src = hlc3 ma = ta.sma(src, length) cci = (src - ma) / (0.015 * ta.dev(src, length)) // EMA useEMA = input(true, "Use EMA", tooltip = "Only enters long when price is above the EMA, only enters short when price is below the EMA") emaLength = input(55, "EMA Length") var float ema = na if useEMA ema := ta.ema(src, emaLength) // Take Profit and Stop Loss Method tpSlMethod_percentage = input(true, "Percentage TP/SL", group="TP/SL Method") tpSlMethod_atr = input(false, "ATR TP/SL", group="TP/SL Method") // Percentage-based Take Profit and Stop Loss tp_percentage = input.float(10.0, title="Take Profit (%)", step=0.1, group="TP/SL Method") sl_percentage = input.float(10.0, title="Stop Loss (%)", step=0.1, group="TP/SL Method") // ATR-based Take Profit and Stop Loss atrLength = input(20, title="ATR Length", group="TP/SL Method") atrMultiplier = input(4, title="ATR SL Multiplier", group="TP/SL Method") riskRewardRatio = input(2, title="Risk Reward Ratio", group="TP/SL Method") // Calculate TP/SL levels based on the selected method, or leave them undefined if neither method is selected longTP = tpSlMethod_percentage ? strategy.position_avg_price * (1 + tp_percentage / 100) : na longSL = tpSlMethod_percentage ? strategy.position_avg_price * (1 - sl_percentage / 100) : na shortTP = tpSlMethod_percentage ? strategy.position_avg_price * (1 - tp_percentage / 100) : na shortSL = tpSlMethod_percentage ? strategy.position_avg_price * (1 + sl_percentage / 100) : na if tpSlMethod_atr longSL := strategy.position_avg_price - ta.atr(atrLength) * atrMultiplier longTP := ((strategy.position_avg_price - longSL) * riskRewardRatio) + strategy.position_avg_price shortSL := strategy.position_avg_price + ta.atr(atrLength) * atrMultiplier shortTP := ((strategy.position_avg_price - shortSL) * riskRewardRatio) - strategy.position_avg_price // Enter long position when CCI crosses below oversold level and price is above EMA longCondition = ta.crossover(cci, oversold) and (not useEMA or close > ema) if longCondition strategy.entry("Buy", strategy.long) // Enter short position when CCI crosses above overbought level and price is below EMA shortCondition = ta.crossunder(cci, overbought) and (not useEMA or close < ema) if shortCondition strategy.entry("Sell", strategy.short) // Close long positions with Take Profit or Stop Loss if strategy.position_size > 0 strategy.exit("Long Exit", "Buy", limit=longTP, stop=longSL) // Close short positions with Take Profit or Stop Loss if strategy.position_size < 0 strategy.exit("Short Exit", "Sell", limit=shortTP, stop=shortSL) // Close positions when CCI crosses back above oversold level in long positions or below overbought level in short positions if ta.crossover(cci, overbought) strategy.close("Buy") if ta.crossunder(cci, oversold) strategy.close("Sell") // Plotting color_c = cci > overbought ? color.red : (cci < oversold ? color.green : color.white) plot(cci, "CCI", color=color_c) hline(0, "Middle Band", color=color.new(#787B86, 50)) obband = hline(overbought, "OB Band", color=color.new(#78867a, 50)) osband = hline(oversold, "OS Band", color=color.new(#867878, 50)) fill(obband, osband, color=color.new(#787B86, 90))