وسائل لوڈ ہو رہے ہیں... لوڈنگ...

متحرک اے ٹی آر سٹاپ لوس آر ایس آئی اوور سیلڈ ریبوڈ کوانٹیٹیو حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-11-29 16:18:55
ٹیگز:آر ایس آئیایس ایم اےاے ٹی آرٹی پیSL

img

جائزہ

یہ حکمت عملی RSI oversold سگنلز اور متحرک ATR سٹاپ نقصان پر مبنی ایک مقداری تجارتی نظام ہے۔ روزانہ کے ٹائم فریم کے اعداد و شمار کا استعمال کرتے ہوئے ، یہ RSI oversold سگنلز کو 200 دن کے متحرک اوسط رجحان فلٹر کے ساتھ جوڑتا ہے تاکہ مارکیٹ کے حالات میں oversold میں ریبونڈ کے مواقع کو حاصل کیا جاسکے۔ یہ حکمت عملی متحرک ATR اسٹاپ نقصان اور جامد فیصد اسٹاپ نقصان میکانزم دونوں کو استعمال کرتی ہے ، جس کے ساتھ ساتھ مرحلہ وار پوزیشن میں کمی کے ذریعے نافذ کردہ ٹرپل منافع کے اہداف بھی شامل ہیں۔

حکمت عملی کے اصول

بنیادی منطق میں مندرجہ ذیل اہم عناصر شامل ہیں:

  1. انٹری سگنل: سسٹم لانگ سگنل پیدا کرتا ہے جب آر ایس آئی (()) 30 کی oversold سطح سے نیچے آجاتا ہے اور قیمت 200 دن کی چلتی اوسط سے اوپر ہوتی ہے۔
  2. سٹاپ نقصان میکانزم: 1.5x ATR ((20) متحرک سٹاپ نقصان کے ساتھ 25 فیصد فکسڈ سٹاپ نقصان کو یکجا کرتا ہے۔
  3. منافع کے اہداف: تین اہداف 5٪، 10٪ اور 15٪ مقرر کرتے ہیں، جس میں پوزیشن کو بالترتیب 33٪، 66٪ اور 100٪ کم کیا جاتا ہے.
  4. پوزیشن مینجمنٹ: کیلی معیار کے حساب سے 59.13٪ پوزیشن سائز یا قدامت پسند 75٪ پوزیشن سائز کا استعمال کرنے کی سفارش کی جاتی ہے۔

حکمت عملی کے فوائد

  1. دوہری رجحان کی تصدیق: RSI oversold اور حرکت پذیر اوسط رجحان دونوں کے ذریعے تجارت کی توثیق کرتا ہے ، جیت کی شرح کو بہتر بناتا ہے۔
  2. لچکدار رسک کنٹرول: متحرک اے ٹی آر اسٹاپ نقصان مارکیٹ کی اتار چڑھاؤ کے مطابق ڈھالتا ہے جبکہ فکسڈ اسٹاپ نقصان حتمی تحفظ فراہم کرتا ہے۔
  3. ذہین منافع کا انتظام: مرحلہ وار پوزیشن میں کمی کے ساتھ ٹرپل ہدف منافع کو یقینی بناتا ہے جبکہ اپسائڈ صلاحیت کو برقرار رکھتا ہے۔
  4. سائنسی سرمائے کا انتظام: کیلی معیار کا استعمال کرتے ہوئے پوزیشن سائزنگ کو بہتر بناتا ہے ، خطرہ اور انعام کو متوازن کرتا ہے۔

حکمت عملی کے خطرات

  1. رجحان انحصار: حکمت عملی مختلف مارکیٹوں میں بار بار رکنے کا سبب بن سکتی ہے۔ تجاویز: جھوٹے اشاروں کو کم کرنے کے لیے آسیلیٹر فلٹرز شامل کریں۔

  2. وسیع سٹاپ نقصان: 25 فیصد فکسڈ سٹاپ نقصان سے ایک ہی تجارت میں بڑے نقصانات ہو سکتے ہیں۔ تجویز: ذاتی رسک رواداری کی بنیاد پر اسٹاپ نقصان کا فیصد ایڈجسٹ کریں۔

  3. ڈراؤونگ رسک: مضبوط رجحانات میں مرحلہ وار منافع لینے سے پوزیشنوں کو بہت جلد کم کیا جا سکتا ہے۔ تجویز: متحرک منافع کے اہداف پر غور کریں یا رجحان کی پیروی کے لئے حصہ برقرار رکھیں.

حکمت عملی کی اصلاح کی ہدایات

  1. سگنل کی اصلاح:
  • حجم کی تصدیق شامل کریں
  • MACD جیسے رجحان اشارے شامل کریں
  • اتار چڑھاؤ فلٹرز کو لاگو کریں
  1. سٹاپ نقصان کی اصلاح:
  • متحرک سٹاپ نقصان کے فیصد کو نافذ کریں
  • وقت پر مبنی رکاوٹیں شامل کریں
  • خطرہ-انعام فلٹر شامل کریں
  1. منافع حاصل کرنے کے لیے اصلاح:
  • اے ٹی آر پر مبنی متحرک اہداف مرتب کریں
  • ٹرائلنگ اسٹاپس کو نافذ کریں
  • پوزیشن میں کمی کے تناسب کو بہتر بنائیں

خلاصہ

یہ حکمت عملی متحرک اے ٹی آر اسٹاپ نقصان اور ٹرپل منافع کے اہداف کے ساتھ مل کر متحرک اوسط رجحان فلٹرنگ کے ساتھ آر ایس آئی اوور سیل سگنلز کو جوڑ کر ایک مکمل تجارتی نظام تشکیل دیتی ہے۔ اس کی طاقت لچکدار رسک کنٹرول اور عقلی منافع کے انتظام میں ہے ، حالانکہ مارکیٹ کے حالات اور ذاتی رسک ترجیح پر مبنی اصلاح ضروری ہے۔ سگنل سسٹم ، اسٹاپ نقصان کے طریقہ کار اور منافع لینے کی حکمت عملی کی مسلسل بہتری کے ذریعے ، نظام رواں تجارت میں بہتر کارکردگی کا مظاہرہ کرتا ہے۔


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08: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

متعلقہ

مزید