
یہ حکمت عملی ایک کثیر جہتی حکمت عملی ہے جو متعدد تکنیکی اشارے پر مبنی ہے۔ یہ بنیادی طور پر تیزی سے اور آہستہ چلنے والی اوسط ((EMA) کے کراس سگنل کا استعمال کرتی ہے ، جس میں نسبتا weak کمزور اشاریہ ((RSI) ، اوسط رجحان اشارے ((ADX) اور اوسط رجحان / انحراف اشارے ((MACD) کے ساتھ تجارت کے اشارے کی تصدیق ہوتی ہے۔ حکمت عملی متحرک نقصانات اور اسٹاپ کی سطح کو قائم کرنے کے لئے اوسط حقیقی طول و عرض ((ATR) کا بھی استعمال کرتی ہے ، جو خطرے کے انتظام کے لئے ہے۔
حکمت عملی کی بنیادی منطق درج ذیل کلیدی اجزاء پر مبنی ہے:
یہ ایک مناسب ڈیزائن کردہ رجحانات کی پیروی کی حکمت عملی ہے ، جو متعدد تکنیکی اشارے کے ہم آہنگی کے استعمال کے ذریعہ مستحکم منافع کی تلاش میں ہے جبکہ خطرات پر قابو پایا جاتا ہے۔ حکمت عملی کا فائدہ اس کے مکمل تصدیق کے طریقہ کار اور خطرے کے انتظام کے نظام میں ہے ، لیکن پھر بھی اس کی ضرورت ہے کہ پیرامیٹرز کو بہتر بنایا جائے اور مارکیٹ کی حقیقی صورتحال کے مطابق منطقی بہتری لائی جائے۔ موجودہ خطرات کے ل market ، مارکیٹ کے ماحول کو فلٹر کرنے اور پیرامیٹرز کو بہتر بنانے کے ذریعہ حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید بڑھایا جاسکتا ہے۔
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Optimized Long-Only Strategy (Spot Market) - Candle Signals Only", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.1)
// INPUTS
fastEMA_len = input.int(8, "Fast EMA Length", minval=1)
slowEMA_len = input.int(21, "Slow EMA Length", minval=1)
rsiPeriod = input.int(14, "RSI Period")
rsiOverbought = input.int(70, "RSI Overbought Level", minval=50)
adxPeriod = input.int(14, "ADX Period", minval=1)
adxThreshold = input.int(25, "ADX Trend Strength Threshold", minval=1)
fastMACD = input.int(12, "MACD Fast Length", minval=1)
slowMACD = input.int(26, "MACD Slow Length", minval=1)
signalMACD = input.int(9, "MACD Signal Length", minval=1)
atrPeriod = input.int(14, "ATR Period", minval=1)
atrStopMultiplier = input.float(1.5, "ATR Stop Loss Multiplier", step=0.1)
atrProfitMultiplier = input.float(2.0, "ATR Profit Target Multiplier", step=0.1)
// CALCULATIONS
emaFast = ta.ema(close, fastEMA_len)
emaSlow = ta.ema(close, slowEMA_len)
rsiValue = ta.rsi(close, rsiPeriod)
// --- Custom ADX Calculation ---
up = ta.change(high)
down = -ta.change(low)
plusDM = (up > down and up > 0) ? up : 0
minusDM = (down > up and down > 0) ? down : 0
trueRange = ta.tr(true) // 'handle_na' parameter set to true
atrVal = ta.rma(trueRange, adxPeriod)
plusDI = 100 * ta.rma(plusDM, adxPeriod) / atrVal
minusDI = 100 * ta.rma(minusDM, adxPeriod) / atrVal
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxValue = ta.rma(dx, adxPeriod)
// MACD Calculation (MACD line, signal line, histogram)
[macdLine, signalLine, _] = ta.macd(close, fastMACD, slowMACD, signalMACD)
// ATR for stops and targets
atrValue = ta.atr(atrPeriod)
// TRADING CONDITION (Long Only, on confirmed candle)
longCondition = ta.crossover(emaFast, emaSlow) and (adxValue > adxThreshold) and (macdLine > signalLine) and (rsiValue < rsiOverbought)
// POSITION MANAGEMENT: Execute only on confirmed candles
if barstate.isconfirmed and longCondition
strategy.entry("Long", strategy.long)
longStop = close - atrStopMultiplier * atrValue
longTarget = close + atrProfitMultiplier * atrValue
strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTarget, trail_points=atrValue * 0.5, trail_offset=atrValue * 0.3)
// PLOTTING
plot(emaFast, color=color.green, title="Fast EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
plotshape(barstate.isconfirmed and longCondition, title="Buy Signal", style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", textcolor=color.white, size=size.tiny)