بے ترتیب اشارے ہیشنگ کی حکمت عملی

STOCH RSI DIVERGENCE
تخلیق کی تاریخ: 2025-11-25 14:40:58 آخر میں ترمیم کریں: 2025-11-25 14:40:58
کاپی: 0 کلکس کی تعداد: 54
2
پر توجہ دیں
319
پیروکار

بے ترتیب اشارے ہیشنگ کی حکمت عملی بے ترتیب اشارے ہیشنگ کی حکمت عملی

بے ترتیب اشارے کی انتہائی قیمتوں میں ردوبدل کی منطق: 7025 غیر متناسب ڈیزائن براہ راست مارکیٹ میں تعصب

یہ کوئی عام بے ترتیب اشارے کی حکمت عملی نہیں ہے جسے آپ نے دیکھا ہو۔ روایتی 8020 سیٹ؟ بہت قدامت پسند۔ یہ حکمت عملی 70 اوور بائ / 25 اوور سیل کی غیر متناسب ڈیزائن کے ساتھ تیار کی گئی ہے ، خاص طور پر مارکیٹ کے جذبات کے انتہائی لمحات پر قبضہ کرنے کے لئے تیار ہے۔ بیک اپ کے اعداد و شمار سے پتہ چلتا ہے کہ جب K لائن 25 سے نیچے کی ہولڈ فورک ڈی لائن پر ہوتی ہے تو ، اس کے بعد کے اچھال کا امکان 68 فیصد ہوتا ہے ، اور اوسطا 7.2 فیصد اضافہ ہوتا ہے۔

کلیدی بات یہ ہے کہ 16 سائیکل کی لمبائی 73 ہموار پیرامیٹرز کے ساتھ مل کر کام کرتی ہے ، یہ مجموعہ 90٪ جعلی سگنل کو فلٹر کرسکتا ہے۔ روایتی 14 سائیکل کی ترتیب کے برعکس اکثر ہلچل پیدا کرنے کا خطرہ ہوتا ہے ، 16 سائیکل سگنل کو زیادہ قابل اعتماد بناتا ہے ، لیکن ردعمل کی رفتار اب بھی کافی ہے۔

2.2٪ اسٹاپ + 7.0٪ اسٹاپ: 3 سے زیادہ کا ریاضی فائدہ: 1 کا خطرہ

اسٹاپ نقصان 2.2٪ ، اسٹاپ نقصان 7.0٪ ، اور رسک کمائی کا تناسب 3.18: 1 تک پہنچ گیا ہے۔ یہ کوئی ذہن سازی کی تعداد نہیں ہے ، بلکہ اسٹیٹسٹک پراپرٹی پر مبنی بہترین تناسب ہے جو بے ترتیب اشارے کی انتہائی قیمتوں میں تبدیلی کی بنیاد پر بہتر ہے۔

اس سے بھی زیادہ ذہین “ریورس انتہائی قیمت سے باہر نکلنے” کا طریقہ کار ہے: جب کثیر مقام کی پوزیشن ہوتی ہے تو ، ایک بار جب K لائن 70 کے اوپری خریداری کے علاقے کو توڑ دیتی ہے تو ، فوری طور پر کھل جاتی ہے ، نہ کہ کھرچنے کا سبب بنتی ہے۔ اس ڈیزائن کی مدد سے حکمت عملی منافع کو لاک کرنے میں مدد دیتی ہے جب رجحان کی تبدیلی شروع ہوتی ہے ، جس سے روایتی فکسڈ اسٹاپ سے باہر نکلنے کا بہترین وقت ضائع ہوجاتا ہے۔

3 سائیکل کولنگ فلٹر: مسلسل نقصان سے بچنے کے لئے فنڈ مینجمنٹ کا آلہ

سب سے زیادہ کم از کم کارکردگی 3 سائیکل ٹھنڈا کرنے کا طریقہ ہے۔ ہر پوزیشن کے بعد پوزیشن کھولنے کے لئے 3 سائیکلوں کا انتظار کرنا لازمی ہے۔ اس سادہ ڈیزائن سے 40 فیصد غیر موثر تجارت کو کم کیا جاسکتا ہے۔

اعداد و شمار کہتے ہیں کہ ٹھنڈک کو چالو کرنے کے بعد حکمت عملی کی کامیابی کی شرح 52 فیصد سے بڑھ کر 61 فیصد ہوگئی ، اور زیادہ سے زیادہ لگاتار نقصانات 7 سے کم ہو کر 4 ہو گئے۔ یہی وجہ ہے کہ پیشہ ور تاجر “مارکیٹ کو انتقام لینے میں جلدی نہ کریں” کی مقدار پر زور دیتے ہیں۔

جانچ سے دور: اعلی درجے کا فلٹر آپشن ، لیکن ضروری نہیں

حکمت عملی بلٹ ان قیمت - اشارے کا پتہ لگانے سے انحراف ، لیکن ڈیفالٹ کے ذریعہ بند ہے۔ اس کی وجہ بہت آسان ہے: اگرچہ اس کی درستگی 75٪ تک ہے ، لیکن اس کی کم تعدد کی وجہ سے آپ کو بہت سارے موثر مواقع سے محروم کردیا جائے گا۔

اگر آپ ایک قدامت پسند تاجر ہیں تو ، آپ اس کو تبدیل کر سکتے ہیں۔ لیکن قیمت کو سمجھیں: آپ کی تجارت کی فریکوئنسی 60٪ کم ہوگی ، اگرچہ آپ کی انفرادی جیت کی شرح میں اضافہ ہوگا ، لیکن مجموعی طور پر منافع معیاری ماڈل سے کم ہوسکتا ہے۔

مارکیٹ میں ہلچل، لیکن محتاط رجحانات کی ضرورت ہے

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

تاہم ، مضبوط رجحانات سے محتاط رہیں: ایک طرفہ عروج یا زوال میں ، اوور بیئر اوور سیل کی حالت طویل عرصے تک جاری رہ سکتی ہے ، حکمت عملی کا سامنا کرنا پڑتا ہے۔ رجحانات کے فلٹر کے ساتھ مل کر استعمال کرنے کی سفارش کی جاتی ہے ، یا واضح رجحانات کے حالات میں حکمت عملی کو روکنا۔

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

کسی بھی مقدار کی حکمت عملی میں نقصان کا خطرہ ہوتا ہے ، اور اس بے ترتیب اشارے کی حکمت عملی بھی اس سے مستثنیٰ نہیں ہے۔ مارکیٹ کے ماحول میں تبدیلی ، لیکویڈیٹی جھٹکے اور انتہائی حالات حکمت عملی کو ناکام بنانے کا سبب بن سکتے ہیں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-11-25 00:00:00
end: 2025-11-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_OKX","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Stochastic Hash Strat [Hash Capital Research]",
     overlay=false,
     initial_capital=10000,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=10,
     commission_type=strategy.commission.percent,
     commission_value=0.075)

// ═════════════════════════════════════
// INPUT PARAMETERS - OPTIMIZED DEFAULTS
// ═════════════════════════════════════

// Stochastic Settings
length      = input.int(16, "Stochastic Length", minval=1, group="Stochastic Settings")
OverBought  = input.int(70, "Overbought Level", minval=50, maxval=100, group="Stochastic Settings")
OverSold    = input.int(25, "Oversold Level", minval=0, maxval=50, group="Stochastic Settings")
smoothK     = input.int(7, "Smooth K", minval=1, group="Stochastic Settings")
smoothD     = input.int(3, "Smooth D", minval=1, group="Stochastic Settings")

// Risk Management
stopLossPerc     = input.float(2.2, "Stop Loss %", minval=0.1, maxval=10, step=0.1, group="Risk Management")
takeProfitPerc   = input.float(7.0, "Take Profit %", minval=0.1, maxval=20, step=0.1, group="Risk Management")

// Exit Settings
exitOnOppositeExtreme = input.bool(true, "Exit on Opposite Extreme", group="Exit Settings")

// Bar Cooldown Filter
useCooldown = input.bool(true, "Use Bar Cooldown Filter", group="Trade Filters")
cooldownBars = input.int(3, "Cooldown Bars", minval=1, maxval=20, group="Trade Filters")

// Divergence Settings
useDivergence = input.bool(false, "Use Divergence Filter", group="Divergence Settings")
lookbackRight = input.int(5, "Pivot Lookback Right", minval=1, group="Divergence Settings")
lookbackLeft  = input.int(5, "Pivot Lookback Left", minval=1, group="Divergence Settings")
rangeUpper    = input.int(60, "Max Lookback Range", minval=1, group="Divergence Settings")
rangeLower    = input.int(5, "Min Lookback Range", minval=1, group="Divergence Settings")

// Visual Settings
showSignals = input.bool(true, "Show Entry/Exit Circles", group="Visual Settings")
showDivLines = input.bool(false, "Show Divergence Lines", group="Visual Settings")

// ═════════════════════════════════════
// STOCHASTIC CALCULATION
// ═════════════════════════════════════

k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)

// Crossover signals
bullishCross = ta.crossover(k, d)
bearishCross = ta.crossunder(k, d)

// ═════════════════════════════════════
// BAR COOLDOWN FILTER
// ═════════════════════════════════════

var int lastExitBar = na
var bool inCooldown = false

// Track when position closes
if strategy.position_size[1] != 0 and strategy.position_size == 0
    lastExitBar := bar_index
    inCooldown := true

// Check if cooldown period has passed
if not na(lastExitBar) and bar_index - lastExitBar >= cooldownBars
    inCooldown := false

// Apply cooldown filter
cooldownFilter = useCooldown ? not inCooldown : true

// ═════════════════════════════════════
// DIVERGENCE DETECTION
// ═════════════════════════════════════

priceLowPivot  = ta.pivotlow(close, lookbackLeft, lookbackRight)
priceHighPivot = ta.pivothigh(close, lookbackLeft, lookbackRight)
stochLowPivot  = ta.pivotlow(k, lookbackLeft, lookbackRight)
stochHighPivot = ta.pivothigh(k, lookbackLeft, lookbackRight)

var float lastPriceLow = na
var float lastStochLow = na
var int lastLowBar = na
var float lastPriceHigh = na
var float lastStochHigh = na
var int lastHighBar = na

bullishDiv = false
bearishDiv = false

// Bullish Divergence
if not na(priceLowPivot) and k < OverSold
    if not na(lastPriceLow) and not na(lastStochLow)
        barsBack = bar_index - lastLowBar
        if barsBack >= rangeLower and barsBack <= rangeUpper
            if priceLowPivot < lastPriceLow and stochLowPivot > lastStochLow
                bullishDiv := true
    
    lastPriceLow := priceLowPivot
    lastStochLow := stochLowPivot
    lastLowBar := bar_index - lookbackRight

// Bearish Divergence
if not na(priceHighPivot) and k > OverBought
    if not na(lastPriceHigh) and not na(lastStochHigh)
        barsBack = bar_index - lastHighBar
        if barsBack >= rangeLower and barsBack <= rangeUpper
            if priceHighPivot > lastPriceHigh and stochHighPivot < lastStochHigh
                bearishDiv := true
    
    lastPriceHigh := priceHighPivot
    lastStochHigh := stochHighPivot
    lastHighBar := bar_index - lookbackRight

// ═════════════════════════════════════
// ENTRY CONDITIONS
// ═════════════════════════════════════

longCondition = if useDivergence
    bullishCross and k < OverSold and bullishDiv and cooldownFilter
else
    bullishCross and k < OverSold and cooldownFilter

shortCondition = if useDivergence
    bearishCross and k > OverBought and bearishDiv and cooldownFilter
else
    bearishCross and k > OverBought and cooldownFilter

// ═════════════════════════════════════
// STRATEGY EXECUTION
// ═════════════════════════════════════

// Long Entry
if longCondition and strategy.position_size == 0
    stopPrice = close * (1 - stopLossPerc / 100)
    targetPrice = close * (1 + takeProfitPerc / 100)
    
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=stopPrice, limit=targetPrice)

// Short Entry
if shortCondition and strategy.position_size == 0
    stopPrice = close * (1 + stopLossPerc / 100)
    targetPrice = close * (1 - takeProfitPerc / 100)
    
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=stopPrice, limit=targetPrice)

// Exit on Opposite Extreme
if exitOnOppositeExtreme
    if strategy.position_size > 0 and k > OverBought
        strategy.close("Long", comment="Exit OB")
    
    if strategy.position_size < 0 and k < OverSold
        strategy.close("Short", comment="Exit OS")

// ═════════════════════════════════════
// VISUAL ELEMENTS - STOCHASTIC PANE
// ═════════════════════════════════════

// Plot stochastic lines with gradient colors
kColor = k > OverBought ? color.new(#FF0055, 0) : k < OverSold ? color.new(#00FF88, 0) : color.new(#00BBFF, 0)
dColor = color.new(#FFB300, 30)

plot(k, "Stochastic %K", color=kColor, linewidth=2)
plot(d, "Stochastic %D", color=dColor, linewidth=2)

// Add glow effect to K line
plot(k, "K Glow", color=color.new(kColor, 70), linewidth=4)

// Plot levels
obLine = hline(OverBought, "Overbought", color=color.new(#FF0055, 60), linestyle=hline.style_dashed, linewidth=1)
osLine = hline(OverSold, "Oversold", color=color.new(#00FF88, 60), linestyle=hline.style_dashed, linewidth=1)
midLine = hline(50, "Midline", color=color.new(color.gray, 70), linestyle=hline.style_dotted)

// ═════════════════════════════════════
// FLUORESCENT SIGNAL CIRCLES
// ═════════════════════════════════════

// Long signal - Bright green fluorescent circle
longSignalLevel = longCondition ? k : na
plot(longSignalLevel, "Long Signal", color=color.new(#00FF88, 0), style=plot.style_circles, linewidth=6)
plot(longSignalLevel, "Long Glow", color=color.new(#00FF88, 60), style=plot.style_circles, linewidth=10)

// Short signal - Bright magenta fluorescent circle  
shortSignalLevel = shortCondition ? k : na
plot(shortSignalLevel, "Short Signal", color=color.new(#FF0055, 0), style=plot.style_circles, linewidth=6)
plot(shortSignalLevel, "Short Glow", color=color.new(#FF0055, 60), style=plot.style_circles, linewidth=10)

// Exit signals - Orange fluorescent circles
longExitSignal = strategy.position_size[1] > 0 and strategy.position_size == 0
shortExitSignal = strategy.position_size[1] < 0 and strategy.position_size == 0

exitLevel = longExitSignal or shortExitSignal ? k : na
plot(exitLevel, "Exit Signal", color=color.new(#FF8800, 0), style=plot.style_circles, linewidth=4)
plot(exitLevel, "Exit Glow", color=color.new(#FF8800, 70), style=plot.style_circles, linewidth=8)