یہ حکمت عملی دوہری آر ایس آئی (رشتہ دار طاقت انڈیکس) اشارے پر مبنی ایک انکولی تجارتی نظام ہے۔ یہ مارکیٹ کے رجحانات اور تجارتی مواقع کی نشاندہی کرنے کے لئے مختلف ٹائم فریموں کے آر ایس آئی اشارے کو یکجا کرتا ہے جبکہ منی مینجمنٹ اور رسک کنٹرول میکانزم کے ذریعہ تجارتی کارکردگی کو بہتر بناتا ہے۔ حکمت عملی کی بنیادی طاقت تجارتی حفاظت کو برقرار رکھتے ہوئے منافع کو بڑھانے کے لئے کثیر مدتی آر ایس آئی کے مابین ہم آہنگی میں ہے۔
اس حکمت عملی میں 7 پیریڈ آر ایس آئی اشارے کو بنیادی تجارتی سگنل کے طور پر استعمال کیا جاتا ہے ، جس میں رجحان فلٹر کے طور پر روزانہ آر ایس آئی کے ساتھ مل کر استعمال کیا جاتا ہے۔ ایک طویل پوزیشن اس وقت شروع کی جاتی ہے جب قلیل مدتی آر ایس آئی 40 سے اوپر اور روزانہ آر ایس آئی 55 سے اوپر ہوجاتا ہے۔ اگر کسی پوزیشن کے دوران قیمت ابتدائی انٹری قیمت سے نیچے آجاتی ہے تو ، سسٹم خود بخود اوسط لاگت کو کم کرنے کے لئے پوزیشن میں اضافہ کرتا ہے۔ جب آر ایس آئی 60 سے نیچے سے ٹوٹ جاتا ہے تو پوزیشنیں بند ہوجاتی ہیں۔ خطرے کے کنٹرول کے لئے 5٪ اسٹاپ نقصان نافذ کیا جاتا ہے۔ اس حکمت عملی میں منی مینجمنٹ ماڈیول بھی شامل ہے جو کل سرمایہ اور پیش سیٹ رسک تناسب کی بنیاد پر پوزیشن سائز کا خود بخود حساب لگاتا ہے۔
یہ ایک مکمل تجارتی نظام ہے جو تکنیکی تجزیہ اور رسک مینجمنٹ کو جوڑتا ہے۔ یہ منی مینجمنٹ اور اسٹاپ نقصان کے طریقہ کار کے ذریعہ رسک کو کنٹرول کرتے ہوئے کثیر مدتی آر ایس آئی کوآرڈینیشن کے ذریعے تجارتی سگنل تیار کرتا ہے۔ یہ حکمت عملی رجحان سازی کی منڈیوں کے لئے موزوں ہے لیکن مارکیٹ کے اصل حالات کی بنیاد پر پیرامیٹر کی اصلاح کی ضرورت ہے۔ نظام کی اچھی توسیع پذیری مزید اصلاح کے لئے گنجائش چھوڑتی ہے۔
/*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