یہ حکمت عملی آر ایس آئی اشارے پر مبنی متحرک اسٹاپ نقصان ٹریڈنگ سسٹم ہے ، جو تجارتی فیصلوں کو بہتر بنانے کے لئے ایس ایم اے اور اے ٹی آر اشارے کو جوڑتا ہے۔ یہ خطرہ کنٹرول کے لئے اے ٹی آر متحرک اسٹاپ نقصان کا استعمال کرتے ہوئے واپسی کو زیادہ سے زیادہ کرنے کے لئے اہرام طرز کی پوزیشن بند کرنے کے ساتھ ملٹی لیول لے منافع کے نقطہ نظر کا استعمال کرتا ہے۔ حکمت عملی میں اعلی موافقت پذیری ہے اور مارکیٹ کی اتار چڑھاؤ کی بنیاد پر تجارتی پیرامیٹرز کو خود بخود ایڈجسٹ کرتی ہے۔
یہ حکمت عملی بنیادی طور پر آر ایس آئی اوور سیلڈ حالات (آر ایس آئی <30) کو انٹری سگنل کے طور پر استعمال کرتی ہے جبکہ قیمت کو اپ ٹرینڈ کو یقینی بنانے کے لئے 200 دن کے چلتے ہوئے اوسط سے اوپر رہنے کی ضرورت ہوتی ہے۔ یہ اے ٹی آر متحرک اسٹاپ نقصان کے ساتھ مل کر تین منافع لینے کے اہداف (٪ ، 10٪ ، 15٪) کو نافذ کرتی ہے۔ خاص طور پر:
یہ حکمت عملی ایک جامع تجارتی نظام بنانے کے لئے تکنیکی اشارے کو متحرک رسک مینجمنٹ کے ساتھ جوڑتی ہے۔ اس کی طاقت موافقت اور کنٹرول شدہ رسک میں ہے ، حالانکہ مارکیٹ کے حالات کی بنیاد پر پیرامیٹر کی اصلاح اب بھی ضروری ہے۔ یہ حکمت عملی درمیانی سے طویل مدتی سرمایہ کاروں کے لئے موزوں ہے اور منظم تجارت کے لئے ایک ٹھوس بنیاد کے طور پر کام کرتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA/4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © wielkieef //@version=5 strategy("Simple RSI stock Strategy [1D] ", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=75, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03) // Rsi oversoldLevel = input(30, title="Oversold Level") overboughtLevel = input(70, title="Overbought Level") rsi = ta.rsi(close, 5) rsi_overbought = rsi > overboughtLevel rsi_oversold = rsi < oversoldLevel // Sma 200 lenghtSMA = input(200, title = "SMA lenght") sma200 = ta.sma(close, lenghtSMA) // ATR stop-loss atrLength = input.int(20, title="ATR Length") atrMultiplier = input.float(1.5, title="ATR Multiplier") atrValue = ta.atr(atrLength) var float long_stop_level = na var float short_stop_level = na var float tp1_level = na var float tp2_level = na var float tp3_level = na // Strategy entry long = (rsi_oversold ) and close > sma200 // Take Profit levels tp_1 = input.float(5.0, "TP 1", minval=0.1, step=0.1) tp_2 = input.float(10.0, "TP 2", minval=0.2, step=0.1) tp_3 = input.float(15.0, "TP 3", minval=0.3, step=0.1) if long strategy.entry('Long', strategy.long) long_stop_level := close - atrMultiplier * atrValue tp1_level := strategy.position_avg_price * (1 + tp_1 / 100) tp2_level := strategy.position_avg_price * (1 + tp_2 / 100) tp3_level := strategy.position_avg_price * (1 + tp_3 / 100) // basic SL - this code is from author RafaelZioni, modified by wielkieef sl = input.float(25.0, 'Basic Stop Loss %', step=0.1) per(procent) => strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) // ATR SL if (strategy.position_size > 0 and (close <= long_stop_level)) strategy.close("Long") tp1_level := na tp2_level := na tp3_level := na plot(long_stop_level, color=color.orange, linewidth=2, title="Long Stop Loss") // TP levels if (strategy.position_size > 0) if (not na(tp1_level) and close >= tp1_level) tp1_level := na if (not na(tp2_level) and close >= tp2_level) tp2_level := na if (not na(tp3_level) and close >= tp3_level) tp3_level := na plot(strategy.position_size > 0 and not na(tp1_level) ? tp1_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 1") plot(strategy.position_size > 0 and not na(tp2_level) ? tp2_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 2") plot(strategy.position_size > 0 and not na(tp3_level) ? tp3_level : na, color=color.gray, style=plot.style_circles , linewidth=1, title="Take Profit 3") // Strategy exit points for Take Profits strategy.exit('TP 1', from_entry="Long", qty_percent=33, profit=per(tp_1), loss=per(sl)) strategy.exit('TP 2', from_entry="Long", qty_percent=66, profit=per(tp_2), loss=per(sl)) strategy.exit('TP 3', from_entry="Long", qty_percent=100, profit=per(tp_3), loss=per(sl)) // by wielkieef