متحرک CCI سپورٹ اور مزاحمتی حکمت عملی


تخلیق کی تاریخ: 2024-01-22 16:37:46 آخر میں ترمیم کریں: 2024-01-22 16:37:46
کاپی: 1 کلکس کی تعداد: 725
1
پر توجہ دیں
1617
پیروکار

متحرک CCI سپورٹ اور مزاحمتی حکمت عملی

جائزہ

اس حکمت عملی میں سی سی آئی کے اشارے کے محوروں کا استعمال کیا گیا ہے تاکہ متحرک حمایت اور مزاحمت کی سطح کا حساب لگایا جاسکے ، جس میں رجحانات کے فیصلے کے ساتھ مل کر خرید اور فروخت کے اشارے تلاش کیے جائیں۔ اس حکمت عملی میں سی سی آئی کی الٹ خصوصیات اور رجحانات کی پیروی کرنے کی صلاحیت کو ملا دیا گیا ہے ، جس کا مقصد وسط مدتی رجحانات میں تبدیلیوں کو فائدہ اٹھانا ہے۔

حکمت عملی کا اصول

سی سی آئی اشارے اس بات کی نشاندہی کرنے کے قابل ہیں کہ آیا مارکیٹ بہت کمزور ہے یا بہت مضبوط ہے۔ 80 اور -80 کی حد کی حد کا استعمال اس بات کا تعین کرنے کے لئے کیا جاسکتا ہے کہ آیا مارکیٹ اوور بیئر اور اوور سیل کی حالت میں داخل ہوئی ہے۔ اس حکمت عملی نے سی سی آئی کی اس خصوصیت کا استعمال کیا ہے ، جس میں 50 کے لائنوں کے ہر ایک کے بائیں اور دائیں طرف کے نوڈس کا حساب لگایا گیا ہے۔

جب اختتامی قیمت کھلنے والی قیمت سے زیادہ اور اوپری سپورٹ لائن سے نیچے ہو تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب اختتامی قیمت کھلنے والی قیمت سے کم اور نیچے کی مزاحمت لائن سے اوپر ہو تو فروخت کا اشارہ پیدا ہوتا ہے۔ غیر اہم رجحان کی سمت کو فلٹر کرنے کے لئے ، حکمت عملی کو ای ایم اے اور اسکیلپنگ اشارے کے ساتھ مل کر موجودہ مرکزی رجحان کی سمت کا تعین کرنے کے لئے بھی استعمال کیا جاتا ہے۔ صرف اس صورت میں خریدنے کا عمل ہوتا ہے جب رجحان کو ایک سے زیادہ سرخی کا تعین کیا جاتا ہے۔ صرف اس صورت میں فروخت کا عمل ہوتا ہے جب رجحان کو خالی سرخی کا تعین کیا جاتا ہے۔

اسٹاپ نقصان اور اسٹاپ اسٹاپ اے ٹی آر اشارے کی متحرک حساب کتاب پر مبنی ہے ، جس سے اس حکمت عملی کا خطرہ کنٹرول بھی زیادہ معقول ہے۔

طاقت کا تجزیہ

  1. سی سی آئی اشارے کی الٹ خصوصیات کا استعمال کرتے ہوئے ، الٹ پوائنٹس کے قریب خرید و فروخت کا انتخاب کریں ، تاکہ منافع کمانے کے امکانات میں اضافہ ہو۔
  2. رجحانات کا اندازہ لگانے کے ساتھ ، مخالف آپریشن سے بچنے اور نقصانات کو کم کرنے کے لئے۔
  3. متحرک سٹاپ نقصان روکنے کی ترتیب خطرے کو کنٹرول کرنے کے لئے زیادہ مناسب ہے.
  4. سی سی آئی کے دورانیے ، بفر زون کا سائز ، وغیرہ جیسے اپنی مرضی کے مطابق پیرامیٹرز مارکیٹ کے زیادہ حالات کے مطابق ہیں۔

خطرے کا تجزیہ

  1. سی سی آئی اشارے جھوٹے سگنل پیدا کرنے کے لئے آسان ہے، رجحان فلٹرنگ کے ساتھ مل کر.
  2. اس کا مطلب یہ ہے کہ آپ کو ایک بار پھر آپ کے کاروبار کو تبدیل کرنے کی ضرورت نہیں ہے.
  3. پیرامیٹرز کی غلط ترتیب سے زیادہ بار بار تجارت ہوسکتی ہے یا تجارت کے مواقع سے محروم ہوسکتا ہے۔

اس کے علاوہ ، یہ حکمت عملی دوسرے اشارے کے معاون ٹول کے طور پر بھی کام کرسکتی ہے ، اور اس پر مکمل طور پر انحصار کرنے کی ضرورت نہیں ہے۔

اصلاح کی سمت

  1. مختلف اتار چڑھاؤ کے بازاروں کے مطابق ایک بہتر بیجنگ سائز۔
  2. زیادہ درست متحرک سٹاپ نقصان کو روکنے کے لئے اے ٹی آر سائیکل پیرامیٹرز کو بہتر بنائیں۔
  3. مختلف سی سی آئی پیرامیٹرز کی ترتیبات کو آزمائیں
  4. دیگر اقسام کے رجحانات کی پیمائش کرنے والے اشارے کی جانچ پڑتال کریں.

خلاصہ کریں۔

اس حکمت عملی میں سی سی آئی کے اشارے کی کثیر فیلڈ سلیکشن کی صلاحیت اور رجحانات کے فیصلے کی فلٹرنگ کی تصدیق کو مربوط کیا گیا ہے ، جس میں کچھ عملی قدر ہے۔ متحرک اسٹاپ نقصان کی روک تھام بھی حکمت عملی کو عملی استعمال میں خطرے سے قابو پانے کے قابل بناتی ہے۔ پیرامیٹرز کو بہتر بنانے اور بہتر بنانے کے ذریعہ ، بہتر نتائج کی توقع کی جاسکتی ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © AliSignals


//@version=5
strategy("CCI based support and resistance strategy", overlay=true  )


cci_length = input.int(50, "cci length")
right_pivot = input.int(50, "right pivot")
left_pivot = input.int(50, "left pivot")
buffer = input.float(10.0, "buffer")
trend_matter = input.bool(true, "trend matter?")
showmid = input.bool ( false , "show mid?")
trend_type = input.string("cross","trend type" ,options = ["cross","slope"])
slowma_l = input.int(100, "slow ma length")
fastma_l = input.int(50, "fast ma length")
slope_l = input.int(5,  "slope's length for trend detection")
ksl = input.float(1.1)
ktp = input.float(2.2)
restf = input.timeframe(title="Time Frame of Last Period for Calculating max" , defval="D")



// Calculating Upper and Lower CCI
cci = ta.cci(hlc3,cci_length)

uppercci = 0.0
lowercci = 0.0

uppercci := fixnan(ta.pivothigh(cci, left_pivot, right_pivot)) - buffer
lowercci := fixnan(ta.pivotlow (cci, left_pivot, right_pivot)) + buffer
midccci  = math.avg(uppercci,lowercci)


// Support and Resistance based on CCI
res = uppercci*(0.015*ta.dev(hlc3,cci_length))+ ta.sma(hlc3,cci_length)
sup = lowercci*(0.015*ta.dev(hlc3,cci_length))+ ta.sma(hlc3,cci_length)
mid =  midccci*(0.015*ta.dev(hlc3,cci_length))+ ta.sma(hlc3,cci_length)



// Calculating trend
t_cross  = 0
t_cross := ta.ema(close,fastma_l) > ta.ema(close,slowma_l) ? 1 : ta.ema(close,fastma_l) < ta.ema(close,slowma_l) ? -1 : t_cross[1] 

t_slope  = 0
t_slope := ta.ema(close,slowma_l) > ta.ema(close,slowma_l)[slope_l] ? 1 : ta.ema(close,slowma_l) < ta.ema(close,slowma_l)[slope_l]  ? -1 : t_slope[1] 

t  = 0
t := trend_type == "cross" ? t_cross : trend_type == "slope" ? t_slope : na

colort =  trend_matter == false ? color.rgb(201, 251, 0) : t == 1 ? color.rgb(14, 243, 132) :  t == -1 ? color.rgb(255, 34, 34) : na
bull_t = trend_matter == false or t ==  1
bear_t = trend_matter == false or t == -1

plot(res, color = colort)
plot(sup, color = colort)
plot(showmid == true ? mid : na)


// Long and Short enter condition
buy  = bull_t == 1 and ta.lowest (2) < sup and close > open and close > sup
sell = bear_t == 1 and ta.highest(2) > res and close < open and close < res

plotshape( buy , color=color.rgb(6, 255, 23) , location = location.belowbar, style = shape.triangleup  , size = size.normal)
plotshape( sell, color=color.rgb(234, 4, 4) ,  location = location.abovebar, style = shape.triangledown, size = size.normal)





atr = ta.atr(100)



CLOSE=request.security(syminfo.tickerid, restf, close)
max = 0.0
max := CLOSE == CLOSE[1] ? math.max(max[1], atr) : atr
act_atr = 0.0
act_atr := CLOSE == CLOSE[1] ? act_atr[1] : max[1]

atr1 =  math.max(act_atr, atr) 

dis_sl = atr1 * ksl
dis_tp = atr1 * ktp


var float longsl  = open[1] - dis_sl
var float shortsl = open[1] + dis_sl
var float longtp =   open[1] + dis_tp
var float shorttp =  open[1] - dis_tp


longCondition = buy
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = sell
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)


longsl  := strategy.position_size > 0  ? longsl[1]  : close - dis_sl
shortsl := strategy.position_size < 0 ? shortsl[1] : close + dis_sl
longtp  := strategy.position_size > 0  ? longtp[1]  : close + dis_tp
shorttp := strategy.position_size < 0 ? shorttp[1] : close - dis_tp




if strategy.position_size > 0 
    strategy.exit(id="My Long close Id", from_entry ="My Long Entry Id" , stop=longsl, limit=longtp)
if strategy.position_size < 0 
    strategy.exit(id="My Short close Id", from_entry ="My Short Entry Id" , stop=shortsl, limit=shorttp)