رشتہ دار باڈی انڈیکس کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-18 11:16:53
ٹیگز:

img

جائزہ

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

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

یہ حکمت عملی Vitelot کے RBI اشارے پر مبنی ہے ، جو روزانہ شمعدانوں کے رشتہ دار جسم کے تناسب (RB) کے چلتے ہوئے اوسط کا حساب لگاتا ہے۔ RB کا حساب اس طرح کیا جاتا ہے:

یہ فارمولا تیزی سے موم بتیوں کے لئے شمعدان کی پوری لمبائی کے لئے حقیقی جسم کے تناسب کا حساب لگاتا ہے ، مثبت اقدار کو لے کر؛ اور bearish موم بتیوں کے لئے منفی اقدار۔ RB -1 سے 1 تک ہے۔

آر بی آئی اشارے شور کو فلٹر کرنے اور مارکیٹ کے رجحانات کے جوہر کو حاصل کرنے کے لئے آر بی آئی کے چلتے ہوئے اوسط کا استعمال کرتا ہے۔ جب آر بی آئی اپنی سگنل لائن سے اوپر عبور کرتا ہے تو خرید کا اشارہ پیدا ہوتا ہے ، اور جب اس سے نیچے عبور ہوتا ہے تو فروخت کا اشارہ ہوتا ہے۔

غیر یقینی تیزی کے مراحل کے دوران غلط سگنلز سے بچنے کے لئے ، حکمت عملی یہ بھی چیک کرتی ہے کہ کیا بندش کی قیمت 13 پیریڈ ای ایم اے سے اوپر ہے اس سے پہلے کہ طویل پوزیشن کے لئے ایک حقیقی خرید سگنل تیار کیا جاسکے۔ اسی طرح ، جب بندش 13 ای ایم اے سے نیچے ہو تو ہی مختصر پوزیشن پر عمل درآمد کیا جائے گا۔

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

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

  • آر بی آئی اہم شور کو فلٹر کرتا ہے اور مارکیٹ کے رجحان کی خصوصیات کو پکڑتا ہے، مختلف مارکیٹوں سے غلط سگنل سے بچنے کے لئے.

  • چلتی اوسط فلٹر کا استعمال غیر یقینی تیزی کے مراحل کے دوران غلط سگنلز سے مؤثر طریقے سے بچتا ہے ، جس سے شارٹس سے ہونے والے نقصانات کم ہوتے ہیں۔

  • سٹاپ نقصان اور منافع لینے سے انفرادی پوزیشنوں پر نقصان کا خطرہ کم ہوتا ہے اور مجموعی منافع میں اضافہ ہوتا ہے۔

  • اس حکمت عملی میں چند پیرامیٹرز ہیں اور اسے سمجھنا آسان ہے، جو خودکار تجارت کے لیے موزوں ہے۔

خطرے کا تجزیہ

  • حکمت عملی صرف آر بی آئی پر انحصار کرتی ہے، اشارے سے کوئی غلط سگنل ناکامی کا باعث بن سکتا ہے۔

  • اشارے کی ناقص پیرامیٹر ٹیوننگ بھی ٹریڈنگ سگنلز کے معیار کو خراب کر سکتی ہے۔

  • کسی بھی تکنیکی اشارے سے مارکیٹ کے بعض حالات میں نقصانات سے مکمل طور پر بچا نہیں جاسکتا۔

  • سٹاپ نقصان بہت تنگ مقرر بہت کثرت سے سٹاپ آؤٹ کا نتیجہ ہو سکتا ہے؛ بہت وسیع واحد پوزیشنوں پر بڑے نقصانات کا باعث بن سکتا ہے.

  • ناکافی ڈرائنگ کنٹرول اکاؤنٹ کو ختم کرنے کے خطرات کا باعث بن سکتا ہے.

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

  • RBI پیرامیٹرز کو بہتر بنانے کے لئے مختلف پیرامیٹرز کے مجموعے کا تجربہ کیا جاسکتا ہے۔

  • سگنل فلٹرنگ اور معیار میں بہتری کے لئے اضافی اشارے شامل کیے جاسکتے ہیں۔

  • مشین لرننگ کو اسٹاپ نقصان اور منافع لینے کے پیرامیٹرز کو تربیت اور بہتر بنانے کے لئے استعمال کیا جاسکتا ہے۔

  • مجموعی طور پر پوزیشن سائزنگ اور رسک ایکسپوزیشن کو کنٹرول کرنے کے لیے رسک مینجمنٹ کی حکمت عملیاں شامل کی جا سکتی ہیں۔

  • مختلف ہولڈنگ پیریڈ جیسے اوور نائٹ ہولڈنگز یا مختصر مدت کے اسکیلپنگ کو دریافت کیا جاسکتا ہے۔

نتیجہ

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


/*backtest
start: 2022-10-11 00:00:00
end: 2023-10-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RBI Backtest /w TSSL", shorttitle="RBI Strategy", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5)
// RBI:
//  The EMA of the relative body (RB) of Japanese candles is evaluated.
//  The RB of a candle (my definition) is simply the ratio of the body with respect to its full length
//  and taken positive for bull candles and negative for bear candles:
//      e.g. a bull "marubozo" has RB=1 a bear "marubozo" has RB=-1;
//      a "doji" has RB=0.
//  This simple indicator grasps the essence of the market by filtering out a great deal of noise.
//
//  A flag can be selected to calculate its very basic binary version, where a bull candle counts as a one
//  and a bear candle counts as a minus one.
//
//  Enter (or exit) the market when the signal line crosses the base line.
//  When the market is choppy we have a kind of alternating bear and bull candles so that
//  RBI is FLAT and usually close to zero. 
//  Therefore avoid entering the market when RBI is FLAT and INSIDE the Exclusion level.
//  The exclusion level is to be set by hand: go back in history and check when market was choppy; a good
//  way to set it is to frame the oscillations of RBI whe price was choppy.
//
//  RBI is more effective when an EMA of price is used as filtering. I found EMA(13) to be
//  a decent filter: go long when base crosses signal upwards AND closing price is above EMA(13);
//  same concept for going short.
//
//  As any other indicator, use it with responsibility: THERE CAN'T BE A SINGLE MAGIC INDICATOR winning
//  all trades.
//
//  Above all, have fun.
//
// Vitelot/Yanez/Vts March 31, 2019

par1 = input(5, title="MA1 Period")
par2 = input(5, title="Signal Period")
exclusion = input(0.2, title="Exclusion level")

useBin = input(false, title="Calculate the binary version")

treshold_long = input(0, title="Treshold Long")
treshold_short = input(0, title="Treshold Short")

fixedSL = input(title="SL Activation", defval=300)
trailSL = input(title="SL Trigger", defval=1)
fixedTP = input(title="TP Activation", defval=120)
trailTP = input(title="TP Trigger", defval=1)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 6, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 19, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
startTimeOk()  => true // create function "within window of time" if statement true

ynSimple(t) =>
    s = (close>open)? 1: -1
    ema(sum(s,t),t)

ynRel(t) =>
    s = (close-open)/(high-low)
    ema(sum(s,t),t)

yn = useBin? ynSimple(par1): ynRel(par1) 
sig = ema(yn,par2)


plot(yn, color=aqua, title="RBI", linewidth=3, transp=0)
plot(sig, color=orange, title="Signal", linewidth=2, transp=0)

hline(0, color=white, title="Zero level", editable=false)
hline(exclusion, color=yellow, title="Exclusion level +", editable=true, linestyle=line)
hline( 0-exclusion, color=yellow, title="Exclusion level -", editable=true, linestyle=line)

long = crossover(yn,sig) and yn < treshold_long
short = crossover(sig,yn)  and yn > treshold_short

// === STRATEGY - LONG POSITION EXECUTION ===
strategy.entry("Long", strategy.long, when= long and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) 
strategy.exit("Exit", when= short)
// === STRATEGY - SHORT POSITION EXECUTION ===
strategy.entry("Short", strategy.short, when= short and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP)
strategy.exit("Exit", when= long)


مزید