انکولی دوہری اشارے کراس اوور ذہین ٹائمنگ ٹریڈنگ حکمت عملی

RSI CCI EMA TIMEFRAME THRESHOLD
تخلیق کی تاریخ: 2025-02-19 10:56:59 آخر میں ترمیم کریں: 2025-02-19 10:56:59
کاپی: 2 کلکس کی تعداد: 435
1
پر توجہ دیں
1617
پیروکار

انکولی دوہری اشارے کراس اوور ذہین ٹائمنگ ٹریڈنگ حکمت عملی

جائزہ

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

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

اس حکمت عملی کے بنیادی اصولوں میں شامل ہیں:

  1. ٹائم سائیکل خود کو اپنانے: مختلف ٹائم سائیکلوں کے مطابق متحرک طور پر آر ایس آئی اور سی سی آئی کے پیرامیٹرز کی ترتیبات کو ایڈجسٹ کریں ((1 منٹ سے 4 گھنٹے)
  2. ڈبل اشارے کی تصدیق: تجارتی سگنل کو فلٹر کرنے کے لئے آر ایس آئی (Relative Strength Index) اور سی سی آئی (Consistency Index) کا مجموعہ استعمال کریں۔ تجارتی سگنل صرف اس وقت پیدا ہوتا ہے جب آر ایس آئی اور سی سی آئی دونوں مخصوص شرائط کو پورا کرتے ہیں۔
  3. سگنل تسلسل کی توثیق: کم سے کم تسلسل کی مدت (stayTimeFrames) کی ترتیب کے ذریعے سگنل کی استحکام کو یقینی بنائیں۔
  4. متحرک اسٹاپ نقصان: داخلہ کے وقت آر ایس آئی اور سی سی آئی کی سطح کی بنیاد پر متحرک طور پر قائم اسٹاپ نقصان کی پوزیشن۔
  5. رجحان کی تصدیق: رجحان کے حوالہ کے طور پر 200 سیکنڈ ای ایم اے کا استعمال کریں۔

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

  1. پیرامیٹرز کی حساسیت: مختلف مارکیٹ کے حالات میں زیادہ سے زیادہ پیرامیٹرز مختلف ہوسکتے ہیں.
  2. افقی جھٹکا کا خطرہ: مارکیٹ میں اتار چڑھاؤ کے دوران غلط سگنل پیدا ہوسکتے ہیں۔
  3. سلائڈ پوائنٹ اثر: ہائی فریکوئینسی ٹریڈنگ کو سلائڈ پوائنٹ کے اثرات کا سامنا کرنا پڑ سکتا ہے۔
  4. سگنل کی تاخیر: متعدد تصدیق کے طریقہ کار سے داخلے کے وقت میں معمولی تاخیر ہوسکتی ہے۔
  5. مارکیٹ کے ماحول پر انحصار: ایک مضبوط رجحان مارکیٹ میں ایک ہنگامہ خیز مارکیٹ سے بہتر کارکردگی کا مظاہرہ کر سکتا ہے.

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-01-19 00:00:00
end: 2025-02-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("RSI & CCI Strategy with Alerts", overlay=true)

// Detect current chart timeframe
tf = timeframe.period

// Define settings for different timeframes
rsiLength = tf == "1" ? 30 : tf == "5" ? 30 : tf == "15" ? 30 : tf == "30" ? 30 : 30  // Default
cciLength = tf == "1" ? 15 : tf == "5" ? 20 : tf == "15" ? 20 : tf == "30" ? 20 : 20  // Default
cciBuyThreshold = tf == "1" ? -100 : tf == "5" ? -100 : tf == "15" ? -100 : tf == "30" ? -100 : -100
cciSellThreshold = tf == "1" ? 100 : tf == "5" ? 100 : tf == "15" ? 100 : tf == "30" ? 100 : 100  // Default
stayTimeFrames = tf == "1" ? 1 : tf == "5" ? 1 : tf == "15" ? 1 : tf == "30" ? 1 : tf == "240" ? 1 : 2  // Default
stayTimeFramesOver =tf == "1" ? 1 : tf == "5" ? 2 : tf == "15" ? 2 : tf == "30" ? 3 : 2 // Default

// Calculate RSI & CCI
rsi = ta.rsi(close, rsiLength)
rsiOver = ta.rsi(close, 14)
cci = ta.cci(close, cciLength)

// EMA 50
ema200 = ta.ema(close, 200)
plot(ema200, color=color.rgb(255, 255, 255), linewidth=2, title="EMA 200")

// CCI candle threshold tracking
var int cciEntryTimeLong = na
var int cciEntryTimeShort = na

// Store entry time when CCI enters the zone
if (cci < cciBuyThreshold)
    if na(cciEntryTimeLong)
        cciEntryTimeLong := bar_index
else
    cciEntryTimeLong := na

if (cci > cciSellThreshold)
    if na(cciEntryTimeShort)
        cciEntryTimeShort := bar_index
else
    cciEntryTimeShort := na

// Confirming CCI has stayed in the threshold for required bars
cciStayedBelowNeg100 = not na(cciEntryTimeLong) and (bar_index - cciEntryTimeLong >= stayTimeFrames) and rsi >= 53
cciStayedAbove100 = not na(cciEntryTimeShort) and (bar_index - cciEntryTimeShort >= stayTimeFrames) and rsi <= 47


// CCI & RSI candle threshold tracking for Buy Over and Sell Over signals
var int buyOverEntryTime = na
var int sellOverEntryTime = na

// Track entry time when RSI and CCI conditions are met
if (rsiOver <= 31 and cci <= -120)
    if na(buyOverEntryTime)
        buyOverEntryTime := bar_index
else
    buyOverEntryTime := na

if (rsiOver >= 69 and cci >= 120)
    if na(sellOverEntryTime)
        sellOverEntryTime := bar_index
else
    sellOverEntryTime := na

// Confirm that conditions are met for the required stayTimeFrames
buyOverCondition = not na(buyOverEntryTime) and (bar_index - buyOverEntryTime >= stayTimeFramesOver)
sellOverCondition = not na(sellOverEntryTime) and (bar_index - sellOverEntryTime <= stayTimeFramesOver)

//Buy and sell for over bought or sell 
conditionOverBuy = buyOverCondition
conditionOverSell = sellOverCondition

// Buy and sell conditions
buyCondition = cciStayedBelowNeg100
sellCondition = cciStayedAbove100

// // Track open positions
var bool isLongOpen = false
var bool isShortOpen = false

// // Strategy logic for backtesting
// if (buyCondition and not isLongOpen)
//     strategy.entry("Long", strategy.long)
//     isLongOpen := true
//     isShortOpen := false

// if (sellCondition and not isShortOpen)
//     strategy.entry("Short", strategy.short)
//     isShortOpen := true
//     isLongOpen := false

// // Close positions based on EMA 50
// if (isLongOpen and exitLongCondition)
//     strategy.close("Long")
//     isLongOpen := false

// if (isShortOpen and exitShortCondition)
//     strategy.close("Short")
//     isShortOpen := false



// Track RSI at position entry
var float entryRSILong = na
var float entryRSIShort = na

// Track CCI at position entry
var float entryCCILong = na
var float entryCCIShort = na

if (buyOverCondition and not isLongOpen)
    strategy.entry("Long", strategy.long)
    entryRSILong := rsi  // Store RSI at entry
    entryCCILong := cci
    isLongOpen := true
    isShortOpen := false

if (sellOverCondition and not isShortOpen)
    strategy.entry("Short", strategy.short)
    entryRSIShort := rsi  // Store RSI at entry
    entryCCIShort := cci  // Stpre CCI at entry
    isShortOpen := true
    isLongOpen := false

exitLongRSICondition = isLongOpen and not na(entryRSILong) and rsi >= (entryRSILong + 12)  or rsi <= (entryRSILong -8)
exitShortRSICondition = isShortOpen and not na(entryRSIShort) and rsi <= (entryRSIShort - 12)  or rsi >= (entryRSIShort +8)

exitLongCCICondition = isLongOpen and not na(entryCCILong) and cci <= (entryCCILong -100)
exitShortCCICondition = isShortOpen and not na(entryCCIShort) and cci >= (entryCCIShort +100)

// Close positions based on EMA 50 or RSI change
if (isLongOpen and (exitLongRSICondition) or (exitLongCCICondition))
    strategy.close("Long")
    isLongOpen := false
    entryRSILong := na
    entryCCILong := na
    isLongOpen := false

if (isShortOpen and (exitShortRSICondition) or (exitShortCCICondition))
    strategy.close("Short")
    isShortOpen := false
    entryRSIShort := na
    entryCCIShort := na
    isShortOpen := false



// Plot buy and sell signals
plotshape(buyCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.large, title="Buy Signal", text="BUY")
plotshape(sellCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.large, title="Sell Signal", text="SELL")

//Plot buy and sell OverBought
plotshape(conditionOverBuy, style=shape.labelup, location=location.belowbar, color=color.rgb(255, 238, 0), size=size.large, title="OverBuy Signal", text="Over Sell")
plotshape(conditionOverSell, style=shape.labeldown, location=location.abovebar, color=color.rgb(186, 40, 223), size=size.large, title="OverSell Signal", text="Over Buy")

// Alerts
alertcondition(buyCondition, title="Buy Alert", message="Buy Signal Triggered")
alertcondition(sellCondition, title="Sell Alert", message="Sell Signal Triggered")