
یہ حکمت عملی ایک خود کار طریقے سے ٹریڈنگ سسٹم ہے جو دوہری آر ایس آئی (Relative Strength Index) اشارے پر مبنی ہے۔ یہ مارکیٹ کے رجحانات اور تجارتی مواقع کی نشاندہی کرنے کے لئے مختلف ٹائم پیریڈ کے آر ایس آئی اشارے کو جوڑتا ہے اور فنڈ مینجمنٹ اور رسک کنٹرول میکانزم کے ذریعہ تجارت کی کارکردگی کو بہتر بناتا ہے۔ اس حکمت عملی کا مرکز کثیر دورانیہ کے آر ایس آئی کے ساتھ ہم آہنگی کے ذریعے منافع میں اضافہ کرنا ہے جبکہ تجارت کی حفاظت کو یقینی بنانا ہے۔
حکمت عملی 7 سائیکل RSI اشارے کو بنیادی تجارتی سگنل کے طور پر استعمال کرتی ہے ، جبکہ یومیہ RSI کو رجحان فلٹر کے طور پر استعمال کرتی ہے۔ جب قلیل مدتی RSI 40 سے نیچے سے ٹوٹ جاتا ہے اور یومیہ RSI 55 سے زیادہ ہوتا ہے تو ، نظام ایک سے زیادہ سگنل جاری کرتا ہے۔ اگر پوزیشن ہولڈنگ کے دوران قیمت پہلی پوزیشن کی قیمت سے کم ہوجاتی ہے تو ، نظام خود بخود اوسط لاگت کو کم کرنے کے لئے پوزیشن میں اضافہ کرتا ہے۔ جب RSI 60 سے اوپر سے نیچے کی طرف ٹوٹ جاتا ہے تو ، نظام ایک ہی وقت میں پوزیشن پر منافع کماتا ہے۔ اس میں 5٪ نقصان کا خطرہ ہے۔ حکمت عملی میں فنڈز ماڈیول مینجمنٹ بھی شامل ہے ، جو ہر تجارت کے لئے پوزیشن کی مقدار کو خود بخود حساب کرتا ہے ، جس میں کل فنڈز اور پیشگی خطرے کا تناسب ہوتا ہے۔
یہ ایک مکمل ٹریڈنگ سسٹم ہے جو تکنیکی تجزیہ اور رسک مینجمنٹ کو جوڑتا ہے۔ یہ کثیر الاضلاع RSI کے ہم آہنگی کے ذریعے ٹریڈنگ سگنل فراہم کرتا ہے اور فنڈ مینجمنٹ اور اسٹاپ نقصان کے طریقہ کار کے ذریعے خطرے کو کنٹرول کرتا ہے۔ یہ حکمت عملی واضح رجحانات والے بازاروں میں کام کرنے کے لئے موزوں ہے ، لیکن اس کے پیرامیٹرز کو حقیقی مارکیٹ کی صورتحال کے مطابق بہتر بنانے کی ضرورت ہے۔ نظام کی توسیع پذیری اچھی ہے ، جس سے مزید اصلاحات کے لئے جگہ محفوظ ہے۔
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Dual RSI with Rebuy Logic + Capital, Commission, and Stop Loss", overlay=true)
// Parameter
rsi_length = input.int(7, title="RSI Length")
daily_rsi_length = input.int(7, title="Daily RSI Length")
capital = input.float(10000, title="Initial Capital", minval=0) // Kapital
risk_per_trade = input.float(0.01, title="Risk per Trade (%)", minval=0.01, maxval=1.0) // Risikogröße in Prozent
commission = input.float(0.1, title="Commission (%)", minval=0, maxval=100) // Kommission in Prozent
stop_loss_pct = input.float(5, title="Stop Loss (%)", minval=0.1, maxval=100) // Stop-Loss in Prozent
// Ordergröße berechnen
risk_amount = capital * risk_per_trade
order_size = risk_amount / close // Größe der Order basierend auf Risikogröße und Preis
// Daily RSI
day_rsi = request.security(syminfo.tickerid, "D", ta.rsi(close, daily_rsi_length), lookahead=barmerge.lookahead_on)
// RSI auf aktuellem Timeframe
rsi = ta.rsi(close, rsi_length)
// Kauf- und Verkaufsbedingungen
buy_condition = rsi[1] < 40 and rsi > rsi[1] and day_rsi > 55
sell_condition = rsi[1] > 60 and rsi < rsi[1]
// Variablen, um den Preis des ersten Kaufs zu speichern
var float first_buy_price = na
var bool is_position_open = false
// Kauf-Logik
if buy_condition
if not is_position_open
// Initiales Kaufsignal
strategy.entry("Buy", strategy.long, qty=1)
first_buy_price := close
is_position_open := true
else if close < first_buy_price
// Rebuy-Signal, nur wenn Preis niedriger als erster Kaufpreis
strategy.entry("Rebuy", strategy.long, qty=1)
// Verkaufs-Logik
if sell_condition and is_position_open
strategy.close("Buy")
strategy.close("Rebuy")
first_buy_price := na // Zurücksetzen des Kaufpreises
is_position_open := false
// Stop-Loss-Bedingung
if is_position_open
// Stop-Loss-Preis berechnen (5% unter dem Einstiegspreis)
stop_loss_price = first_buy_price * (1 - stop_loss_pct / 100)
// Stop-Loss für "Buy" und "Rebuy" festlegen
strategy.exit("Stop Loss Buy", from_entry="Buy", stop=stop_loss_price)
strategy.exit("Stop Loss Rebuy", from_entry="Rebuy", stop=stop_loss_price)
// Performance-Metriken berechnen (mit Kommission)
gross_profit = strategy.netprofit / capital * 100
commission_cost = commission / 100 * strategy.closedtrades
net_profit = gross_profit - commission_cost
// Debug-Plots
plot(first_buy_price, title="First Buy Price", color=color.blue, linewidth=1)
plotchar(buy_condition, title="Buy Condition", char='B', location=location.abovebar, color=color.green)
plotchar(sell_condition, title="Sell Condition", char='S', location=location.belowbar, color=color.red)
// Debugging für Performance