سوئنگ شناختی اسکورنگ کی حکمت عملی

RSI SMA VOLUME PATTERN
تخلیق کی تاریخ: 2025-09-09 09:24:08 آخر میں ترمیم کریں: 2025-09-09 09:24:08
کاپی: 0 کلکس کی تعداد: 275
2
پر توجہ دیں
319
پیروکار

سوئنگ شناختی اسکورنگ کی حکمت عملی سوئنگ شناختی اسکورنگ کی حکمت عملی

یہ کوئی عام ہلچل کی حکمت عملی نہیں ہے ، بلکہ یہ ایک عین مطابق اسنیپر سسٹم ہے جس میں اے آئی کی درجہ بندی ہے۔

روایتی ہلچل کی حکمت عملی کے ساتھ کیا مسئلہ ہے؟ بہت زیادہ سگنل ، متضاد معیار ، اور اکثر جعلی توڑ۔ یہ حکمت عملی براہ راست درد کی جگہ کو حل کرتی ہے۔ہر سگنل کو 1-5 پوائنٹس کا معیار دیا جاتا ہے ، صرف 4 پوائنٹس سے زیادہ اعلی معیار کے سگنل کی تجارت کی جاتی ہے

بنیادی منطق سادہ اور کھردری ہے: ہائی لو (Higher Low) اور لوئر ہائی (Lower High) کی شناخت کریں اور پھر سگنل کو 4 جہتوں میں اسکور کریں۔کم از کم 4 منٹ میں ذخیرہ کرنے کے لئے، براہ راست 80٪ گندگی سگنل کو فلٹر کریں

پانچ جہتی اسکورنگ سسٹم واحد اسکورنگ سسٹم سے بہتر کہاں ہے؟

1 بنیادی سکوراس کی تصدیق: ٹرانزیکشن کی تصدیق + 1 پوائنٹ20 سے زیادہ ٹرانزیکشنز کی اوسط قیمت میں 1.2 گنا اضافہ ، جس سے ظاہر ہوتا ہے کہ فنڈ کی شناخت ہے RSI پوزیشن + 1 پوائنٹآر ایس آئی 30 سے 70 کے درمیان ہے، اوور بیو اور اوور سیل کے جھوٹے اشارے سے بچیں K لائن ہستی + 1 پوائنٹان کا کہنا تھا کہ ‘یہ 60 فیصد سے زیادہ ہے، لیکن یہ یقینی بنائیں کہ یہ ‘کراس اسٹار’ جیسی ہچکچاہٹ والی شکلیں نہیں ہیں’۔ ٹرینڈ لائن اپ + 1 پوائنٹقیمت: ایم اے 20، ایم اے 50، تینوں کی سمت ایک جیسی ہے

نتیجہ: 5 پوائنٹس مکمل سگنل کی سب سے زیادہ کامیابی ، 4 پوائنٹس سے زیادہ سگنل قابل تجارت ہے ، 3 پوائنٹس سے کم کو براہ راست نظرانداز کیا جاتا ہے۔

سٹاپ نقصان ڈیزائن: 10 سائیکل چوٹی، ATR جو کہ کسی بھی طرح سے سیٹ نہیں کیا جا سکتا

اس کے نتیجے میں، آپ کو اس طرح کی ایک بہت بڑا نقصان ہو سکتا ہے:

  • زیادہ سے زیادہ سٹاپ نقصان = گزشتہ 10 K لائن کم سے کم
  • سٹاپ نقصان = گزشتہ 10 K لائنوں کی بلند ترین سطح

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

ایک ناکام سگنل ایک تجارت کا موقع بھی ہے

حکمت عملی میں ‘ناکامی کے جھولوں’ کی بھی نشاندہی کی گئی ہے:

  • ہائی لو کی ناکامی: ایک اعلی کم کے بعد ایک اور گرنا
  • لوئر ہائی کی ناکامی: کم اونچائی کے بعد ایک اور کامیابی

اس طرح کی ناکامیوں سے اکثر یہ ظاہر ہوتا ہے کہ رجحان میں تیزی آرہی ہے اور یہ ایک بہترین وقت ہے تجارت کو الٹ کرنے کا۔

مسلسل سگنل = رجحان کی تصدیق

جب دو مسلسل K لائنیں ایک ہی سمت میں تصدیق کے اشارے ظاہر کرتی ہیں تو ، ہیرے کے نشان سے ظاہر کریں۔ اس کا مطلب عام طور پر یہ ہے کہ:

  • مزید دیکھنے کے لئے جاری رکھیں: بڑھتی ہوئی رجحان
  • مسلسل گرنے کا رجحان

مسلسل سگنل کی جیت کی شرح عام طور پر انفرادی سگنل سے 15-20٪ زیادہ ہے

قابل اطلاق منظرنامہ: زیادہ تر ہلچل / خالی مارکیٹ

بہترین کارکردگی ماحول

  • واضح رجحانات کے ساتھ مارکیٹیں جو اکثر پیچھے ہٹ جاتی ہیں
  • اعتدال پسند اتار چڑھاؤ ((انتہائی پرسکون یا انتہائی غصہ نہیں)
  • نسبتاً مستحکم پیداوار والی اقسام

منظر نامے سے بچیں

  • ایک طرفہ طوفانی طوفان (سنگل سگنل اکثر ٹوٹ جاتے ہیں)
  • انتہائی کم اتار چڑھاو کی شرح کے ساتھ کراس ڈسک ((سگنل نایاب اور ناقص معیار ہے)
  • بہت کم فروخت ہونے والی چھوٹی چھوٹی نسلیں

خطرے کی نوک: ماضی کی یادیں مستقبل کے فوائد کے برابر نہیں ہیں

واضح خطرات

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

فنڈ مینجمنٹ کی تجاویز: ایک بار کا خطرہ اکاؤنٹ کا 2٪ سے زیادہ نہیں ہے ، مسلسل 3 نقصانات کے بعد تجارت کو روکنا اور مارکیٹ کی صورتحال کا دوبارہ جائزہ لینا۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-09-09 00:00:00
end: 2025-09-07 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=6
strategy("Higher Lows, Lower Highs & Failures with Signal Quality Scoring", overlay=true)

// --- Higher Low detection ---
shares = 1
minScore = 4  // Minimum score to take trades

lowPoint      = ta.lowest(low, 3)
prevLowPoint  = ta.lowest(low[3], 3)
isHigherLow   = low == lowPoint and low > prevLowPoint
bullConfirm   = isHigherLow and close > open

// --- Lower High detection ---
highPoint     = ta.highest(high, 3)
prevHighPoint = ta.highest(high[3], 3)
isLowerHigh   = high == highPoint and high < prevHighPoint
bearConfirm   = isLowerHigh and close < open

// --- Failures ---
failHigherLow = isHigherLow[1] and low < low[1]
failLowerHigh = isLowerHigh[1] and high > high[1]

// --- 2-in-a-row detection ---
bullSecond = bullConfirm and bullConfirm[1]
bearSecond = bearConfirm and bearConfirm[1]

// --- SIGNAL QUALITY SCORING (1-5 scale) ---
bullScore = if bullConfirm
    score = 1  // Base score
    
    // Factor 1: Volume confirmation
    avgVolume = ta.sma(volume, 20)
    if volume > avgVolume * 1.2
        score := score + 1
        
    // Factor 2: RSI positioning
    rsi = ta.rsi(close, 14)
    if rsi < 70 and rsi > 30
        score := score + 1
        
    // Factor 3: Candle strength
    bodySize = math.abs(close - open)
    candleRange = high - low
    bodyRatio = candleRange > 0 ? bodySize / candleRange : 0
    if bodyRatio > 0.6
        score := score + 1
        
    // Factor 4: Trend alignment
    ma20 = ta.sma(close, 20)
    ma50 = ta.sma(close, 50)
    if ma20 > ma50 and close > ma20
        score := score + 1
        
    math.max(1, math.min(5, score))
else
    na

bearScore = if bearConfirm
    score = 1  // Base score
    
    // Factor 1: Volume confirmation
    avgVolume = ta.sma(volume, 20)
    if volume > avgVolume * 1.2
        score := score + 1
        
    // Factor 2: RSI positioning
    rsi = ta.rsi(close, 14)
    if rsi > 30 and rsi < 70
        score := score + 1
        
    // Factor 3: Candle strength
    bodySize = math.abs(close - open)
    candleRange = high - low
    bodyRatio = candleRange > 0 ? bodySize / candleRange : 0
    if bodyRatio > 0.6
        score := score + 1
        
    // Factor 4: Trend alignment
    ma20 = ta.sma(close, 20)
    ma50 = ta.sma(close, 50)
    if ma20 < ma50 and close < ma20
        score := score + 1
        
    math.max(1, math.min(5, score))
else
    na

// --- Plot main signals with score-based styling ---
// Bullish signals
plotshape(bullConfirm and bullScore == 1, "Bull Score 1", shape.triangleup, location.belowbar, color.gray, size=size.tiny)
plotshape(bullConfirm and bullScore == 2, "Bull Score 2", shape.triangleup, location.belowbar, color.orange, size=size.small)
plotshape(bullConfirm and bullScore == 3, "Bull Score 3", shape.triangleup, location.belowbar, color.yellow, size=size.normal)
plotshape(bullConfirm and bullScore == 4, "Bull Score 4", shape.triangleup, location.belowbar, color.lime, size=size.normal)
plotshape(bullConfirm and bullScore == 5, "Bull Score 5", shape.triangleup, location.belowbar, color.green, size=size.large)

// Bearish signals
plotshape(bearConfirm and bearScore == 1, "Bear Score 1", shape.triangledown, location.abovebar, color.gray, size=size.tiny)
plotshape(bearConfirm and bearScore == 2, "Bear Score 2", shape.triangledown, location.abovebar, color.orange, size=size.small)
plotshape(bearConfirm and bearScore == 3, "Bear Score 3", shape.triangledown, location.abovebar, color.yellow, size=size.normal)
plotshape(bearConfirm and bearScore == 4, "Bear Score 4", shape.triangledown, location.abovebar, color.lime, size=size.normal)
plotshape(bearConfirm and bearScore == 5, "Bear Score 5", shape.triangledown, location.abovebar, color.green, size=size.large)

// --- Plot failures ---
plotshape(failHigherLow, "Failed Higher Low", shape.arrowdown, location.abovebar, color.red, size=size.small)
plotshape(failLowerHigh, "Failed Lower High", shape.arrowup, location.belowbar, color.green, size=size.small)

// --- Plot consecutive signals ---
plotshape(bullSecond, "Double Bullish Star", shape.diamond, location.bottom, color.lime, size=size.tiny)
plotshape(bearSecond, "Double Bearish Star", shape.diamond, location.top, color.red, size=size.tiny)

// --- Display score labels ---
if bullConfirm
    labelColor = bullScore == 1 ? color.gray : bullScore == 2 ? color.orange : bullScore == 3 ? color.yellow : bullScore == 4 ? color.lime : color.green
    label.new(bar_index, low - (high - low) * 0.1, "↑ " + str.tostring(bullScore), style=label.style_label_up, color=labelColor, textcolor=color.white, size=size.small)

if bearConfirm
    labelColor = bearScore == 1 ? color.gray : bearScore == 2 ? color.orange : bearScore == 3 ? color.yellow : bearScore == 4 ? color.lime : color.green
    label.new(bar_index, high + (high - low) * 0.1, "↓ " + str.tostring(bearScore), style=label.style_label_down, color=labelColor, textcolor=color.white, size=size.small)

// --- Alerts for high-quality signals only ---
alertcondition(bullConfirm and bullScore >= 4, "High Quality Bullish", "Strong Bullish Signal Detected")
alertcondition(bearConfirm and bearScore >= 4, "High Quality Bearish", "Strong Bearish Signal Detected")

// --- STRATEGY LOGIC ---
// Track previous highs and lows for stop levels
var float prevHigh = na
var float prevLow = na

// Update previous high/low when we get signals
if bullConfirm and bullScore >= minScore
    prevLow := ta.lowest(low, 10)  // Previous 10-bar low for stop
    
if bearConfirm and bearScore >= minScore
    prevHigh := ta.highest(high, 10)  // Previous 10-bar high for stop

// Entry conditions (only scores 4 or higher)
longCondition = bullConfirm and bullScore >= minScore
shortCondition = bearConfirm and bearScore >= minScore

// Execute trades
if longCondition and strategy.position_size == 0
    strategy.entry("Long", strategy.long, qty=shares)
    strategy.exit("Long Exit", "Long", stop=prevLow)
    
if shortCondition and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=shares)
    strategy.exit("Short Exit", "Short", stop=prevHigh)

// Close opposite position if new signal occurs
if longCondition and strategy.position_size < 0
    strategy.close("Short")
    strategy.entry("Long", strategy.long, qty=shares)
    strategy.exit("Long Exit", "Long", stop=prevLow)
    
if shortCondition and strategy.position_size > 0
    strategy.close("Long")
    strategy.entry("Short", strategy.short, qty=shares)
    strategy.exit("Short Exit", "Short", stop=prevHigh)

// Plot stop levels for visualization
plot(strategy.position_size > 0 ? prevLow : na, "Long Stop", color.red, linewidth=2, style=plot.style_linebr)
plot(strategy.position_size < 0 ? prevHigh : na, "Short Stop", color.red, linewidth=2, style=plot.style_linebr)