یہ حکمت عملی RSI اشارے اور قیمت کی اتار چڑھاؤ کی بنیاد پر ایک کثیر سطح کا اوسط ریورس ٹریڈنگ سسٹم ہے۔ یہ انتہائی RSI اقدار اور غیر معمولی طور پر بڑی قیمت میں اتار چڑھاؤ کو انٹری سگنل کے طور پر استعمال کرتا ہے ، جبکہ خطرہ کو سنبھالنے اور منافع کو بہتر بنانے کے لئے اہرام طرز کی پوزیشن اسکیلنگ اور متحرک منافع لینے کی سطح کو استعمال کرتا ہے۔ اس حکمت عملی کا بنیادی خیال انتہائی اتار چڑھاؤ اور منافع کے دوران مارکیٹ میں داخل ہونا ہے جب قیمتیں معمول کی سطح پر واپس آجاتی ہیں۔
داخلے کی شرائط:
پوزیشن اسکیلنگ میکانزم:
باہر نکلنے کا طریقہ کار:
خطرے کا کنٹرول:
ملٹی لیول انٹری: متعدد آر ایس آئی اور اتار چڑھاؤ کی حدیں طے کرکے ، حکمت عملی مارکیٹ کے مختلف درجے کے انتہا پسندی کو پکڑ سکتی ہے ، جس سے تجارتی مواقع میں اضافہ ہوتا ہے۔
متحرک منافع: معاونت / مزاحمت کی سطحوں کی بنیاد پر حساب لگایا جانے والا منافع حاصل کرنے والے پوائنٹس مارکیٹ کی ساخت کے مطابق خود کو اپنانے کے قابل ہیں ، بہت جلد باہر نکلنے کے بغیر منافع کی حفاظت کرتے ہیں۔
پیرامیڈ طرز کی پوزیشن اسکیلنگ: رجحانات جاری رہنے کے ساتھ پوزیشنوں میں اضافہ منافع کی صلاحیت کو نمایاں طور پر بڑھا سکتا ہے۔
خطرے کا انتظام: مقررہ فیصد خطرے اور زیادہ سے زیادہ پوزیشن کی حدود ہر تجارت اور مجموعی طور پر خطرے کو مؤثر طریقے سے کنٹرول کرتی ہیں.
لچک: متعدد ایڈجسٹ پیرامیٹرز حکمت عملی کو مختلف مارکیٹ کے ماحول اور تجارتی آلات کو اپنانے کی اجازت دیتے ہیں۔
میڈین ریورس + ٹرینڈ فالونگ: میڈین ریورس اور ٹرینڈ فالونگ کے فوائد کو جوڑتا ہے ، بڑے رجحانات کو یاد کیے بغیر قلیل مدتی الٹ کو پکڑتا ہے۔
اوور ٹریڈنگ: انتہائی اتار چڑھاؤ والے بازاروں میں تجارتی اشاروں کو بار بار متحرک کرسکتا ہے ، جس کی وجہ سے بہت زیادہ فیس ہوتی ہے۔
جھوٹے بریک آؤٹ: مارکیٹوں میں مختصر انتہائی اتار چڑھاؤ کا سامنا کرنا پڑ سکتا ہے جس کے بعد فوری الٹ پڑتا ہے ، جس سے غلط سگنل پیدا ہوتے ہیں۔
مسلسل نقصانات: متعدد پوزیشنوں میں اضافے کے بعد مارکیٹ کی مسلسل یکطرفہ نقل و حرکت کے نتیجے میں اہم نقصانات ہوسکتے ہیں۔
پیرامیٹر حساسیت: حکمت عملی کی کارکردگی پیرامیٹر کی ترتیبات کے لئے انتہائی حساس ہوسکتی ہے ، جس سے زیادہ فٹنگ کا خطرہ ہے۔
سلائیپج اثر: شدید اتار چڑھاؤ کے دوران شدید سلائیپج کا سامنا ہوسکتا ہے ، جو حکمت عملی کی کارکردگی کو متاثر کرتا ہے۔
مارکیٹ کے ماحول پر انحصار: حکمت عملی کچھ مارکیٹ کے ماحول میں کم کارکردگی کا مظاہرہ کرسکتی ہے ، جیسے کم اتار چڑھاؤ یا مضبوط رجحان مارکیٹوں میں۔
متحرک پیرامیٹر ایڈجسٹمنٹ: مارکیٹ کے حالات کی بنیاد پر RSI اور اتار چڑھاؤ کی حدوں کو متحرک طور پر ایڈجسٹ کرنے کے لئے موافقت پذیر میکانزم متعارف کروائیں۔
ملٹی ٹائم فریم تجزیہ: اندراج کے معیار کو بہتر بنانے کے لئے طویل مدتی مارکیٹ کے رجحانات کے فیصلے شامل کریں.
سٹاپ نقصان کی اصلاح: مزید خطرے کے کنٹرول کے لئے پیچھے آنے والے سٹاپ نقصان یا اے ٹی آر پر مبنی متحرک سٹاپ نقصان شامل کریں.
مارکیٹ اسٹیٹ فلٹرنگ: غیر مناسب مارکیٹ کے ماحول میں تجارت سے بچنے کے لئے رجحان کی طاقت ، اتار چڑھاؤ کا دورانیہ ، اور فلٹرنگ کے دیگر حالات شامل کریں۔
کیپٹل مینجمنٹ کی اصلاح: زیادہ تفصیلی پوزیشن مینجمنٹ کو نافذ کریں ، جیسے مختلف سگنل کی سطح کی بنیاد پر تجارت کے سائز کو ایڈجسٹ کرنا۔
مشین لرننگ انٹیگریشن: پیرامیٹر کے انتخاب اور سگنل جنریشن کے عمل کو بہتر بنانے کے لئے مشین لرننگ الگورتھم کا استعمال کریں۔
وابستگی کا تجزیہ: حکمت عملی کے استحکام اور تنوع کو بہتر بنانے کے لئے دیگر اثاثوں کے ساتھ وابستگی کا تجزیہ شامل کریں۔
یہ ملٹی لیول آر ایس آئی میڈین ریورسشن ٹریڈنگ حکمت عملی ایک احتیاط سے ڈیزائن کردہ مقداری تجارتی نظام ہے جو تکنیکی تجزیہ ، متحرک رسک مینجمنٹ ، اور اہرام طرز کی پوزیشن اسکیلنگ تکنیکوں کو ہوشیاری سے جوڑتا ہے۔ مارکیٹ کی انتہائی اتار چڑھاؤ کو پکڑنے اور جب قیمتیں پلٹ جاتی ہیں تو منافع کمانے سے ، حکمت عملی میں منافع کی مضبوط صلاحیت کا مظاہرہ ہوتا ہے۔ تاہم ، اسے اوور ٹریڈنگ اور مارکیٹ کے ماحول پر انحصار جیسے چیلنجوں کا بھی سامنا کرنا پڑتا ہے۔ مستقبل میں اصلاح کو مختلف مارکیٹ کے ماحول کے مطابق اپنی مرضی کے مطابق اور رسک کنٹرول کی صلاحیتوں کو بہتر بنانے پر توجہ دینی چاہئے۔ مجموعی طور پر ، یہ ایک ٹھوس بنیاد کے ساتھ حکمت عملی کا فریم ورک ہے ، جس میں مزید اصلاح اور بیک ٹسٹنگ کے ذریعے ، ایک مضبوط تجارتی نظام میں تیار ہونے کی صلاحیت ہے۔
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Retorno_Pivots_5min_Novo_v3.3') // Input variables bars_left1 = input(1, title = "Entry - Pivot Left Bars") bars_right1 = input(1, title = "Entry - Pivot Right Bars") rsi20_longentry0 = input(35, title = "Entry 1 - RSI20 Long") rsi20_shortentry0 = input(65, title = "Entry 1 - RSI20 Short") bar_size_entry0 = input.float(1, title="Entry 1 - Bar Size") rsi20_longentry1 = input(30, title = "Entry 2 - RSI20 Long") rsi20_shortentry1 = input(70, title = "Entry 2 - RSI20 Short") bar_size_entry1 = input.float(0.8, title="Entry 2 - Bar Size") rsi20_longentry2 = input(25, title = "Entry 3 - RSI20 Long") rsi20_shortentry2 = input(75, title = "Entry 3 - RSI20 Short") bar_size_entry2 = input.float(0.7, title="Entry 3 - Bar Size") rsi20_longentry3 = input(20, title = "Entry 4 - RSI20 Long") rsi20_shortentry3 = input(80, title = "Entry 4 - RSI20 Short") bar_size_entry3 = input.float(0.5, title="Entry 4 - Bar Size") limit_perc1 = input.float(0.60, title="Profit Range 1") limit_perc2 = input.float(0.40, title="Profit Range 2") limit_perc3 = input.float(0.20, title="Profit Range 3") limit_perc4 = input.float(0.00, title="Profit Range 4") limit_perc5 = input.float(0.00, title="Profit Range 5") minimum_pivot_distance = input.float(0, title="Minimum Pivot Distance %") barsize_1h_input = input(288, title="Highest Bar Lookback") rsi20 = ta.rsi(close, 20) rsi200 = ta.rsi(close, 200) Pivot_High_Last1 = ta.valuewhen(ta.pivothigh(high, bars_left1, bars_right1), ta.pivothigh(high, bars_left1, bars_right1), 0) Pivot_Low_Last1 = ta.valuewhen(ta.pivotlow(low, bars_left1, bars_right1), ta.pivotlow(low, bars_left1, bars_right1), 0) barsize = math.abs(close - open) barsize_1h = ta.highest(barsize, barsize_1h_input) Bar0Long = rsi20 < rsi20_longentry0 and barsize >= (barsize_1h * bar_size_entry0) Bar1Long = rsi20 < rsi20_longentry1 and barsize >= (barsize_1h * bar_size_entry1) Bar2Long = rsi20 < rsi20_longentry2 and barsize >= (barsize_1h * bar_size_entry2) Bar3Long = rsi20 < rsi20_longentry3 and barsize >= (barsize_1h * bar_size_entry3) // Long Entries Long_Entry1 = strategy.opentrades == 0 and rsi20 < rsi20[1] and ((rsi20 < rsi20_longentry0 and barsize >= (barsize_1h * bar_size_entry0)) or (rsi20 < rsi20_longentry1 and barsize >= (barsize_1h * bar_size_entry1)) or (rsi20 < rsi20_longentry2 and barsize >= (barsize_1h * bar_size_entry2)) or (rsi20 < rsi20_longentry3 and barsize >= (barsize_1h * bar_size_entry3))) and close < (Pivot_Low_Last1 * (1 - (minimum_pivot_distance / 100))) Long_Entry2 = strategy.opentrades == 1 and strategy.position_size > 0 and rsi20 < rsi20[1] and (Bar0Long or Bar1Long or Bar2Long or Bar3Long) Long_Entry3 = strategy.opentrades == 2 and strategy.position_size > 0 and rsi20 < rsi20[1] and (Bar0Long or Bar1Long or Bar2Long or Bar3Long) Long_Entry4 = strategy.opentrades == 3 and strategy.position_size > 0 and rsi20 < rsi20[1] and (Bar0Long or Bar1Long or Bar2Long or Bar3Long) Long_Entry5 = strategy.opentrades == 4 and strategy.position_size > 0 and rsi20 < rsi20[1] and (Bar0Long or Bar1Long or Bar2Long or Bar3Long) if Long_Entry1 or Long_Entry2 or Long_Entry3 or Long_Entry4 or Long_Entry5 strategy.entry("Long", strategy.long, comment = "ENTER-LONG_BINANCE-FUTURES_BTCBUSD_Bot-BTC-1min_1M_970d2ee265390c27") // Longs Exits Long_Exit1 = strategy.opentrades == 1 and close > (strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc1)) Long_Exit2 = strategy.opentrades == 2 and close > (strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc2)) Long_Exit3 = strategy.opentrades == 3 and close > (strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc3)) Long_Exit4 = strategy.opentrades == 4 and close > (strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc4)) Long_Exit5 = strategy.opentrades == 5 and close > (strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc5)) if Long_Exit1 or Long_Exit2 or Long_Exit3 or Long_Exit4 or Long_Exit5 strategy.close("Long", comment = "EXIT-LONG_BINANCE-FUTURES_BTCBUSD_Bot-BTC-1min_1M_970d2ee265390c27") Bar0Short = rsi20 > rsi20_shortentry0 and barsize >= (barsize_1h * bar_size_entry0) Bar1Short = rsi20 > rsi20_shortentry1 and barsize >= (barsize_1h * bar_size_entry1) Bar2Short = rsi20 > rsi20_shortentry2 and barsize >= (barsize_1h * bar_size_entry2) Bar3Short = rsi20 > rsi20_shortentry3 and barsize >= (barsize_1h * bar_size_entry3) // Short Entries Short_Entry1 = strategy.opentrades == 0 and rsi20 > rsi20[1] and ((rsi20 > rsi20_shortentry0 and barsize >= (barsize_1h * bar_size_entry0)) or (rsi20 > rsi20_shortentry1 and barsize >= (barsize_1h * bar_size_entry1)) or (rsi20 > rsi20_shortentry2 and barsize >= (barsize_1h * bar_size_entry2)) or (rsi20 > rsi20_shortentry2 and barsize >= (barsize_1h * bar_size_entry2))) and close > (Pivot_High_Last1 * (1 + (minimum_pivot_distance / 100))) Short_Entry2 = strategy.opentrades == 1 and strategy.position_size < 0 and rsi20 > rsi20[1] and (Bar0Short or Bar1Short or Bar2Short or Bar3Short) Short_Entry3 = strategy.opentrades == 2 and strategy.position_size < 0 and rsi20 > rsi20[1] and (Bar0Short or Bar1Short or Bar2Short or Bar3Short) Short_Entry4 = strategy.opentrades == 3 and strategy.position_size < 0 and rsi20 > rsi20[1] and (Bar0Short or Bar1Short or Bar2Short or Bar3Short) Short_Entry5 = strategy.opentrades == 4 and strategy.position_size < 0 and rsi20 > rsi20[1] and (Bar0Short or Bar1Short or Bar2Short or Bar3Short) if Short_Entry1 or Short_Entry2 or Short_Entry3 or Short_Entry4 or Short_Entry5 strategy.entry("Short", strategy.short, comment = "ENTER-SHORT_BINANCE-FUTURES_BTCBUSD_Bot-BTC-1min_1M_970d2ee265390c27") // Short Exits Short_Exit1 = strategy.opentrades == 1 and close < (strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc1)) Short_Exit2 = strategy.opentrades == 2 and close < (strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc2)) Short_Exit3 = strategy.opentrades == 3 and close < (strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc3)) Short_Exit4 = strategy.opentrades == 4 and close < (strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc4)) Short_Exit5 = strategy.opentrades == 5 and close < (strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc5)) if Short_Exit1 or Short_Exit2 or Short_Exit3 or Short_Exit4 or Short_Exit5 strategy.close("Short", comment = "EXIT-SHORT_BINANCE-FUTURES_BTCBUSD_Bot-BTC-1min_1M_970d2ee265390c27") // Plots plot(rsi20, color=color.new(#fbff00, 0), linewidth=2) plot(((strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc1))), color=color.new(#00ff2a, 0), linewidth=2) plot(((strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc2))), color=color.new(#00ff2a, 50), linewidth=2) plot(((strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc3))), color=color.new(#00ff2a, 80), linewidth=2) plot(((strategy.position_avg_price + ((ta.valuewhen(strategy.opentrades == 0, Pivot_Low_Last1, 0) - (strategy.position_avg_price)) * limit_perc4))), color=color.new(#00ff2a, 100), linewidth=2) plot((strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc1)), color=color.new(#ff0000, 0), linewidth=2) plot((strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc2)), color=color.new(#ff0000, 50), linewidth=2) plot((strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc3)), color=color.new(#ff0000, 80), linewidth=2) plot((strategy.position_avg_price - ((strategy.position_avg_price - ta.valuewhen(strategy.opentrades == 0, Pivot_High_Last1, 0)) * limit_perc4)), color=color.new(#ff0000, 100), linewidth=2) plot(strategy.position_avg_price, color=color.new(#ffc400, 0), linewidth=2) plot(strategy.opentrades * (strategy.position_size / math.abs(strategy.position_size)), color=color.new(#ff00bb, 0), linewidth=2) plot(((barsize / barsize_1h) * 100), color=color.new(#0000ff, 0), linewidth=2)