ٹریلنگ سٹاپ نقصان کے ساتھ RSI اشارے پر مبنی اسکیلپنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-12 15:46:49
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

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

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

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

فوائد کا تجزیہ

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

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

خطرے کا تجزیہ

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

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

خطرات کے لئے اصلاح کی سمت یہ ہیں:

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

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

اس حکمت عملی کے لیے اصلاح کی سمتیں یہ ہیں:

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

نتیجہ

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


/*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")


مزید