RSI اشارے کی بنیاد پر رجحان کی پیروی کرنے والی اسٹاپ لاس حکمت عملی


تخلیق کی تاریخ: 2023-12-12 15:46:49 آخر میں ترمیم کریں: 2023-12-12 15:46:49
کاپی: 0 کلکس کی تعداد: 1051
1
پر توجہ دیں
1621
پیروکار

RSI اشارے کی بنیاد پر رجحان کی پیروی کرنے والی اسٹاپ لاس حکمت عملی

جائزہ

اس حکمت عملی کا نام RSI اشارے پر مبنی رجحان سے باخبر رہنے والی اسٹاپ نقصان کی حکمت عملی ہے۔ یہ حکمت عملی RSI اشارے کا استعمال کرتے ہوئے اوورلوڈ اور اوورلوڈ کے حالات کا تعین کرتی ہے ، اور تیز رفتار اور آہستہ آہستہ ایم اے اشارے کے ساتھ مل کر رجحان کی سمت کا تعین کرتی ہے ، اور داخلے کی شرائط طے کرتی ہے۔ اس کے ساتھ ہی فیصد سے باخبر رہنے والے اسٹاپ نقصان کے طریقہ کار کا استعمال کرتے ہوئے ، اسٹاپ نقصان سے باہر نکلیں۔

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

یہ حکمت عملی بنیادی طور پر آر ایس آئی اشارے اور ایم اے اشارے کے ذریعہ داخلے کے وقت کا فیصلہ کرتی ہے۔ آر ایس آئی اشارے کے پیرامیٹرز کو 2 سائیکل پر سیٹ کیا گیا ہے ، اوور بیئر اوور سیل کے حالات کا فیصلہ کریں۔ آہستہ آہستہ ایم اے کو بالترتیب 50 سائیکل اور 200 سائیکل پر سیٹ کیا گیا ہے ، رجحان کی سمت کا فیصلہ کریں۔ مخصوص داخلے کا منطق یہ ہے:

کثیر سر داخلہ: فاسٹ ایم اے پر سست ایم اے پہننا ، اور سست ایم اے سے زیادہ قیمت ، جبکہ آر ایس آئی اوور سیل زون ((ڈیفالٹ 10٪) سے کم ہے۔
خالی سر داخلہ: فاسٹ ایم اے کے تحت سست ایم اے کے ذریعے ، اور سست ایم اے سے کم قیمت پر ، جبکہ آر ایس آئی اوور بائڈ زون ((ڈیفالٹ 90٪) سے زیادہ ہے جب خالی کریں۔

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

exit پر ، حکمت عملی فی صد ٹریکنگ اسٹاپ کا استعمال کرتی ہے۔ ان پٹ کے مطابق اسٹاپ نقصان کی فیصد ، ہر چھلانگ کی قیمت کے فرق کے ساتھ مل کر اسٹاپ نقصان کی قیمت کا حساب لگائیں ، متحرک ایڈجسٹمنٹ اسٹاپ حاصل کریں۔

طاقت کا تجزیہ

اس حکمت عملی کے اہم فوائد یہ ہیں:

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

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں، جن میں سے کچھ یہ ہیں:

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

مذکورہ بالا خطرات کے لئے ، آپ کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:

  1. آر ایس آئی پیرامیٹرز کو ایڈجسٹ کریں اور اسے 1 سائیکل پر سیٹ کریں تاکہ تاخیر کو کم کیا جاسکے۔
  2. مختلف اقسام کی خصوصیات کے مطابق ایم اے دورانیہ پیرامیٹرز کو ایڈجسٹ کریں۔
  3. سٹاپ نقصان اور جھٹکا رواداری کو مدنظر رکھتے ہوئے سٹاپ نقصان کی فیصد کی سطح کو ایڈجسٹ کریں۔

حکمت عملی کی اصلاح کی سمت

یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔

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

خلاصہ کریں۔

یہ حکمت عملی مجموعی طور پر ایک زیادہ مستحکم رجحان سے باخبر رہنے کی حکمت عملی ہے۔ یہ آر ایس آئی اور ایم اے ڈبل اشارے کے فیصلے کے ساتھ مل کر ، کچھ استحکام کی ضمانت دیتے ہوئے ، واضح رجحان الٹ کے مواقع کو بھی پکڑ سکتا ہے۔ اس کے علاوہ ، اتار چڑھاؤ کی شرح فلٹر کو ترتیب دینے سے کچھ خطرات سے بچا جاسکتا ہے ، اور فیصد اسٹاپ نقصان کا طریقہ بھی ایک ہی نقصان کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔ یہ حکمت عملی متعدد اقسام کی عمومی حکمت عملی کے طور پر استعمال کی جاسکتی ہے ، اور مخصوص اقسام کے ل paramet پیرامیٹرز کی ایڈجسٹمنٹ اور ماڈل کی اصلاح بھی کی جاسکتی ہے ، تاکہ حکمت عملی کا بہتر اثر حاصل کیا جاسکے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// Scalping strategy
// © Lukescream and Ninorigo
// (original version by Lukescream - lastest versions by Ninorigo) - v1.3
//

//@version=4
strategy(title="Scalping using RSI 2 indicator", shorttitle="RSI 2 Strategy", overlay=true, pyramiding=0, process_orders_on_close=false)

var bool ConditionEntryL = false
var bool ConditionEntryS = false


//***********
// Costants
//***********
def_start_date = timestamp("01 Jan 2021 07:30 +0000")
def_end_date   = timestamp("01 Dec 2024 07:30 +0000")

def_rsi_length = 2
def_overbought_value = 90
def_oversold_value   = 10

def_slow_ma_length = 200
def_fast_ma_length = 50
def_ma_choice      = "EMA"

def_tick   = 0.5
def_filter = true

def_trailing_stop = 1


//***********
// Change the optional parameters
//***********
start_time  = input(title="Start date", defval=def_start_date, type=input.time)
end_time    = input(title="End date", defval=def_end_date, type=input.time)
// RSI
src         = input(title="Source", defval=close, type=input.source)
rsi_length  = input(title="RSI Length", defval=def_rsi_length, minval=1, type=input.integer)
overbought_threshold = input(title="Overbought threshold", defval=def_overbought_value, type=input.float)
oversold_threshold   = input(title="Oversold threshold", defval=def_oversold_value, type=input.float)
// Moving average
slow_ma_length = input(title="Slow MA length", defval=def_slow_ma_length, type=input.integer)
fast_ma_length = input(title="Fast MA length", defval=def_fast_ma_length, type=input.integer)
ma_choice = input(title="MA choice", defval="EMA", options=["SMA", "EMA"])
// Input ticker
tick   = input(title="Ticker size", defval=def_tick, type=input.float)
filter = input(title="Trend Filter", defval=def_filter, type=input.bool)
// Trailing stop (%)
ts_rate = input(title="Trailing Stop %", defval=def_trailing_stop, type=input.float)


//***********
// RSI
//***********
// Calculate RSI
up   = rma(max(change(src), 0), rsi_length)
down = rma(-min(change(src), 0), rsi_length)
rsi = (down == 0 ? 100 : (up == 0 ? 0 : 100-100/(1+up/down)))


//***********
// Moving averages
//***********
slow_ma = (ma_choice == "SMA" ? sma(close, slow_ma_length) : ema(close, slow_ma_length))
fast_ma = (ma_choice == "SMA" ? sma(close, fast_ma_length) : ema(close, fast_ma_length))
// Show the moving averages
plot(slow_ma, color=color.white,  title="Slow MA")
plot(fast_ma, color=color.yellow, title="Fast MA")


//***********
// Strategy
//***********
if true
    // Determine the entry conditions (only market entry and market exit conditions)
    // Long position
    ConditionEntryL := (filter == true ? (fast_ma > slow_ma and close > slow_ma and rsi < oversold_threshold) : (fast_ma > slow_ma and rsi < oversold_threshold))
    // Short position
    ConditionEntryS := (filter == true ? (fast_ma < slow_ma and close < slow_ma and rsi > overbought_threshold) : (fast_ma < slow_ma and rsi > overbought_threshold))
   
    // Calculate the trailing stop
    ts_calc = close * (1/tick) * ts_rate * 0.01

    // Submit the entry orders and the exit orders
    // Long position
    if ConditionEntryL
        strategy.entry("RSI Long", strategy.long)
    // Exit from a long position
    strategy.exit("Exit Long", "RSI Long", trail_points=0, trail_offset=ts_calc)

    // Short position 
    if ConditionEntryS
        strategy.entry("RSI Short", strategy.short)
    // Exit from a short position
    strategy.exit("Exit Short", "RSI Short", trail_points=0, trail_offset=ts_calc)

// Highlights long conditions
bgcolor (ConditionEntryL ? color.navy : na, transp=60, offset=1, editable=true, title="Long position band")
// Highlights short conditions
bgcolor (ConditionEntryS ? color.olive : na, transp=60, offset=1, editable=true, title="Short position band")