
یہ حکمت عملی مارکیٹ کے رجحانات کی نشاندہی کرنے اور ٹریڈنگ سگنل پیدا کرنے کے لئے کے ڈی جے اشارے اور متحرک اوسط ((ما)) کا استعمال کرتی ہے۔ جب کے ڈی جے اشارے اوور بیو زون سے تجاوز کرتے ہیں اور قیمت ایم اے سے نیچے آجاتی ہے تو اس سے کم سگنل پیدا ہوتے ہیں۔ جب کے ڈی جے اشارے اوور سیل زون سے نیچے ہوتے ہیں اور قیمت ایم اے سے تجاوز کرتی ہے تو اس سے زیادہ سگنل پیدا ہوتے ہیں۔ کے ڈی جے اشارے اور ایم اے کے امتزاج سے رجحانات کی تصدیق کرکے ، یہ حکمت عملی مارکیٹ کے رجحانات کو بہتر طور پر پکڑ سکتی ہے ، جبکہ ہلچل سے بچنے والے جھوٹے سگنلوں سے بھی بچ سکتی ہے۔
یہ حکمت عملی کے ڈی جے اشارے اور چلتی اوسط کے امتزاج کے ذریعہ مارکیٹ کے رجحانات کو بہتر طور پر پکڑنے اور تجارتی سگنل پیدا کرنے کے قابل ہے۔ اس سے زیادہ خرید و فروخت کی معلومات اور رجحان کی سمت کا معقول استعمال کیا جاسکتا ہے ، جس سے مستحکم تجارتی کارکردگی حاصل کی جاسکتی ہے۔ تاہم ، حکمت عملی میں اصلاح کی گنجائش باقی ہے ، جیسے مزید فلٹرنگ شرائط ، متحرک پوزیشن مینجمنٹ اور اسٹاپ نقصان کی روک تھام وغیرہ کو متعارف کرانا ، تاکہ حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید بہتر بنایا جاسکے۔ حکمت عملی کو عملی طور پر لاگو کرنے کے لئے مختلف مارکیٹ کے ماحول اور معیارات کے لئے اصلاح اور جانچ کی ضرورت ہے تاکہ اس کی تاثیر اور اطلاق کی تصدیق کی جاسکے۔
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("KDJ Trending View with Signals and MA Strategy", overlay=true)
// KDJ Settings
kdjLength = input.int(9, title="KDJ Length")
kdjSignal = input.int(3, title="KDJ Signal")
kdjOverbought = input.int(80, title="KDJ Overbought Level")
kdjOversold = input.int(20, title="KDJ Oversold Level")
// Margin Settings
longMargin = input.float(2.0, title="Long Margin", step=0.01)
shortMargin = input.float(2.0, title="Short Margin", step=0.01)
// MA Settings
maLength = input.int(20, title="MA Length")
maType = input.string("SMA", title="MA Type (SMA, EMA, etc.)")
// Calculate KDJ
kdj_highest = ta.highest(high, kdjLength)
kdj_lowest = ta.lowest(low, kdjLength)
kdjRSV = 100 * ((close - kdj_lowest) / (kdj_highest - kdj_lowest))
kdjK = ta.sma(kdjRSV, kdjSignal)
kdjD = ta.sma(kdjK, kdjSignal)
kdjJ = 3 * kdjK - 2 * kdjD
// Calculate Moving Average
ma = ta.sma(close, maLength) // SMA kullanarak ortalama hesaplama
// Determine MA Direction
maCrossUp = ta.crossover(close, ma)
maCrossDown = ta.crossunder(close, ma)
// Plot MA with Direction Color Change
maColor = maCrossUp ? color.green : maCrossDown ? color.red : color.gray
plot(ma, color=maColor, title="Moving Average")
// Plot Trading Signals
plotshape(kdjJ >= kdjOverbought ? low : na, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small, title="Short Signal")
plotshape(kdjJ <= kdjOversold ? high : na, style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small, title="Long Signal")
// Trading Strategy with Manual Margin and MA Strategy
if (kdjJ >= kdjOverbought and maCrossDown)
strategy.entry("Short", strategy.short, qty=1, comment="Short Entry")
if (kdjJ <= kdjOversold and maCrossUp)
strategy.entry("Long", strategy.long, qty=1, comment="Long Entry")