یہ حکمت عملی رجحانات کی پیروی اور الیکسگروور کی طرف سے تیار کردہ رجحانات کی پیروی اور توڑنے کی حکمت عملی پر مبنی ہے. حکمت عملی قیمتوں کے رجحانات اور اہم معاون مزاحمت کی سطح کا تعین کرنے کے لئے رجحانات کی واپسی کا استعمال کرتی ہے.
ریکوری بینڈ انڈیکیٹر اوپری بینڈ ، نچلے بینڈ اور درمیانی لائن پر مشتمل ہے۔ انڈیکیٹر کا حساب کتاب اس طرح ہے:
اوپری بینڈ = زیادہ سے زیادہ قیمت ((پہلے K لائن کے اوپری بینڈ، اختتامی قیمت + n*اتار چڑھاؤ کی شرح)
نیچے کی پٹی = کم سے کم قیمت ((پہلے K لائن کی نیچے کی پٹی ، بندش کی قیمت - n*اتار چڑھاؤ کی شرح)
درمیانی لائن = (اوپر کی پٹی + نیچے کی پٹی) / 2
جہاں n ایک اسکیلنگ فیکٹر ہے ، اتار چڑھاؤ کی شرح ATR ، معیاری فرق ، اوسط چینل اور خصوصی RFV طریقہ کار کا انتخاب کرسکتی ہے۔ لمبائی پیرامیٹرز اشارے کی حساسیت کو کنٹرول کرتے ہیں ، جس کی قدر جتنی بڑی ہے ، اشارے اتنے ہی غیر فعال ہوجاتے ہیں۔
حکمت عملی سب سے پہلے یہ جانچتی ہے کہ آیا نیچے کی سمت میں اضافہ جاری ہے اور اوپر کی سمت میں کمی جاری ہے ، تاکہ جعلی بریک کو ختم کیا جاسکے۔
جب قیمت نیچے کی حد سے نیچے ہو تو زیادہ خریدیں اور جب قیمت اوپر کی حد سے اوپر ہو تو کم خریدیں۔
اس کے علاوہ ، حکمت عملی میں اسٹاپ نقصان کی منطق بھی شامل ہے۔
اس حکمت عملی کے فوائد یہ ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ان خطرات کو پیرامیٹرز کو بہتر بنانے، سٹاپ نقصان قائم کرنے اور پوائنٹس کو بڑھانے کے ذریعے کنٹرول کیا جا سکتا ہے.
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
یہ حکمت عملی مجموعی طور پر ایک بہت ہی عملی اور موثر ٹرینڈ ٹریکنگ حکمت عملی ہے۔ یہ رجحان سازی کے فریم ورک کے ساتھ مل کر کمپیوٹنگ وسائل کو بچاتا ہے ، بڑے رجحان کی سمت کا فیصلہ کرنے کے لئے رجحان کی حمایت کرنے والے مزاحمت کا استعمال کرتا ہے ، اور جعلی بریکوں کو فلٹر کرنے کے لئے حرکی حالات میں اضافہ کرتا ہے ، تاکہ تجارتی سگنل کے معیار کو یقینی بنایا جاسکے۔ پیرامیٹرز کی ایڈجسٹمنٹ اور خطرے پر قابو پانے کی صورت میں ، بہتر اثر حاصل کیا جاسکتا ہے۔ یہ مزید تحقیق اور اصلاح کے قابل ہے ، تاکہ اسے زیادہ پیچیدہ مارکیٹ کے ماحول کے مطابق ڈھال لیا جاسکے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=5
// Original indicator by alexgrover
strategy('Extended Recursive Bands Strategy', overlay=true, commission_type=strategy.commission.percent,commission_value=0.06,default_qty_type =strategy.percent_of_equity,default_qty_value = 100,initial_capital =1000)
length = input.int(260, step=10, title='Length')
src = input(close, title='Source')
method = input.string('Classic', options=['Classic', 'Atr', 'Stdev', 'Ahlr', 'Rfv'], title='Method')
bandDirectionCheck = input.bool(true, title='Bands Hold Direction')
lookback = input(3)
//----
atr = ta.atr(length)
stdev = ta.stdev(src, length)
ahlr = ta.sma(high - low, length)
rfv = 0.
rfv := ta.rising(src, length) or ta.falling(src, length) ? math.abs(ta.change(src)) : rfv[1]
//-----
f(a, b, c) =>
method == a ? b : c
v(x) =>
f('Atr', atr, f('Stdev', stdev, f('Ahlr', ahlr, f('Rfv', rfv, x))))
//----
sc = 2 / (length + 1)
a = 0.
a := math.max(nz(a[1], src), src) - sc * v(math.abs(src - nz(a[1], src)))
b = 0.
b := math.min(nz(b[1], src), src) + sc * v(math.abs(src - nz(b[1], src)))
c = (a+b)/2
// Colors
beColor = #675F76
buColor = #a472ff
// Plots
pA = plot(a, color=color.new(beColor, 0), linewidth=2, title='Upper Band')
pB = plot(b, color=color.new(buColor, 0), linewidth=2, title='Lower Band')
pC = plot(c, color=color.rgb(120,123,134,0), linewidth=2, title='Middle Band')
fill(pC, pA, color=color.new(beColor,90))
fill(pC, pB, color=color.new(buColor,90))
// Band keeping direction
// By Adulari
longc = 0
shortc = 0
for i = 0 to lookback-1
if b[i] > b[i+1]
longc:=longc+1
if a[i] < a[i+1]
shortc:=shortc+1
bhdLong = if bandDirectionCheck
longc==lookback
else
true
bhdShort = if bandDirectionCheck
shortc==lookback
else
true
// Strategy
if b>=low and bhdLong
strategy.entry(id='Long',direction=strategy.long)
if high>=a and bhdShort
strategy.entry(id='Short',direction=strategy.short)
// TP at middle line
//if low<=c and strategy.position_size<0 and strategy.position_avg_price>close
//strategy.exit(id="Short",limit=close)
//if high>=c and strategy.position_size>0 and strategy.position_avg_price<close
//strategy.exit(id="Long",limit=close)