
یہ حکمت عملی ایک جامع تجارتی نظام ہے جس میں رجحانات کی پیروی اور خطرے پر قابو پانے کا ایک مجموعہ ہے۔ اس میں 200 سیکنڈ کے انڈیکس کی متحرک اوسط ((EMA) کو رجحان فلٹر کے طور پر استعمال کیا جاتا ہے ، اور نسبتا strong مضبوط اشارے ((RSI) کو ایک انٹری سگنل کے طور پر استعمال کیا جاتا ہے ، جبکہ اس میں اسٹاپ نقصان ، اسٹاپ اور زیادہ سے زیادہ واپسی کے کنٹرول کا طریقہ کار بھی شامل ہے۔ حکمت عملی کی اہم خصوصیت یہ ہے کہ رجحانات کی پیروی میں فائدہ برقرار رکھنے کے ساتھ ساتھ ، متحرک واپسی کی پیروی کے ذریعے خطرے کو سختی سے کنٹرول کیا جائے۔
حکمت عملی کے بنیادی منطق میں مندرجہ ذیل کلیدی اجزاء شامل ہیں:
اس حکمت عملی نے رجحانات کی نگرانی اور سخت خطرے کے کنٹرول کو جوڑ کر ایک مکمل تجارتی نظام تشکیل دیا ہے۔ اس کی بنیادی خوبی خطرے کے انتظام کی مکمل اور حکمت عملی کے منطق کی وضاحت ہے۔ اس کی متعدد سطحوں پر مشتمل خطرے کے کنٹرول کے ذریعہ ، حکمت عملی منافع کے حصول کے ساتھ ساتھ واپسی کو بھی مؤثر طریقے سے کنٹرول کرسکتی ہے۔ اگرچہ کچھ موروثی خطرات موجود ہیں ، لیکن تجویز کردہ اصلاحی سمت کے ذریعہ حکمت عملی میں بہتری کی گنجائش ہے۔
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-19 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Disruptor Trend-Following (Drawdown < 30%)", shorttitle="DisruptorStrategyDD", overlay=true)
//-----------------------------------------------------
// User Inputs
//-----------------------------------------------------
emaLen = input.int(200, "Long EMA Length", minval=1)
rsiLen = input.int(14, "RSI Length", minval=1)
rsiThreshold = input.float(50, "RSI Buy Threshold", minval=1, maxval=100)
stopLossPerc = input.float(20, "Stop-Loss %", minval=0.1, step=0.1)
takeProfitPerc = input.float(40, "Take-Profit %", minval=0.1, step=0.1)
ddLimit = input.float(30, "Max Drawdown %", minval=0.1, step=0.1)
//-----------------------------------------------------
// Indicators
//-----------------------------------------------------
emaValue = ta.ema(close, emaLen)
rsiValue = ta.rsi(close, rsiLen)
//-----------------------------------------------------
// Conditions
//-----------------------------------------------------
longCondition = close > emaValue and rsiValue > rsiThreshold
exitCondition = close < emaValue or rsiValue < rsiThreshold
//-----------------------------------------------------
// Position Tracking
//-----------------------------------------------------
var bool inTrade = false
if longCondition and not inTrade
strategy.entry("Long", strategy.long)
if inTrade and exitCondition
strategy.close("Long")
inTrade := strategy.position_size > 0
//-----------------------------------------------------
// Stop-Loss & Take-Profit
//-----------------------------------------------------
if inTrade
stopPrice = strategy.position_avg_price * (1 - stopLossPerc / 100)
takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPerc / 100)
strategy.exit("Exit", from_entry="Long", stop=stopPrice, limit=takeProfitPrice)
//-----------------------------------------------------
// Dynamic Drawdown Handling
//-----------------------------------------------------
var float peakEquity = strategy.equity
peakEquity := math.max(peakEquity, strategy.equity)
currentDrawdownPerc = (peakEquity - strategy.equity) / peakEquity * 100
if currentDrawdownPerc > ddLimit
strategy.close_all("Max Drawdown Exceeded")
//-----------------------------------------------------
// Plotting
//-----------------------------------------------------
plot(emaValue, title="EMA 200", color=color.yellow, linewidth=2)
plotchar(rsiValue, title="RSI", char='•', location=location.bottom, color=color.new(color.teal, 60))