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

RSI اور فبونیکی ریٹریکشن ٹریڈنگ کی حکمت عملی

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

img

جائزہ

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

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

اس حکمت عملی کے بنیادی اصول یہ ہیں:

  1. ایک مخصوص مدت (مثلاً 200 بار) کے دوران قیمت کے اعداد و شمار کا استعمال اس مدت کے لئے درمیانی قیمت، معیاری انحراف اور کلیدی فبونیکی ریٹریکشن کی سطح (مثلاً 0.764) کا حساب لگانے کے لیے کریں۔

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

  3. اگر آر ایس آئی اشارے میں زیادہ خریدنے یا زیادہ فروخت کے سگنل دکھائے جاتے ہیں تو ، ریٹریسیشن کی سطح کے ارد گرد طویل یا مختصر سگنل تیار کیے جائیں گے۔

  4. سٹاپ نقصان مقرر کریں اور جب قیمت پہلے سے طے شدہ سطحوں سے تجاوز کرتی ہے یا اسٹاپ نقصان کو متحرک کیا جاتا ہے تو پوزیشنوں کو بند کرنے کے لئے منافع حاصل کریں۔

مندرجہ بالا اس حکمت عملی میں تجارتی مواقع کی نشاندہی کے لئے بنیادی کام کا بہاؤ ہے.

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

اکیلے آر ایس آئی یا فبونیکی کا استعمال کرنے کے مقابلے میں ، اس مشترکہ حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. ڈبل اشارے فلٹرنگ جھوٹے سگنل کو کم کر سکتی ہے اور سگنل کے معیار کو بہتر بنا سکتی ہے۔

  2. فبونیکی ریٹریکشن کی سطح پر ٹریڈنگ ایک کلاسیکی تکنیکی تجزیہ کی تکنیک ہے۔

  3. سٹاپ نقصان اور منافع لینے کی رفتار کے ساتھ، فی تجارت زیادہ سے زیادہ نقصان کو مؤثر طریقے سے کنٹرول کیا جا سکتا ہے؛

  4. پیرامیٹرز مختلف ادوار اور مصنوعات کے لئے بہتر بنایا جا سکتا ہے.

خطرے کا تجزیہ

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

  1. اہم سطحوں پر الٹ جانے کا امکان 100 فیصد نہیں ہے، اسے قیمت کی کارروائی کے ساتھ جوڑنے کی ضرورت ہے۔

  2. واحد مدت RSI مردہ بلی چھلانگ سے جھوٹے سگنل پیدا کر سکتے ہیں، ایک سے زیادہ وقت فریم کی توثیق پر غور؛

  3. سٹاپ نقصان کی لچکدار ترتیب سے نقصانات میں اضافہ ہو سکتا ہے۔

  4. قیمتوں میں اتار چڑھاؤ کے دوران اسٹاپ چل سکتے ہیں۔ وسیع تر اسٹاپ پر غور کیا جانا چاہئے۔

ان خطرات کو پیرامیٹر ٹوننگ، اشارے کے مجموعے کو بہتر بنانے وغیرہ کے ذریعے منظم کیا جاسکتا ہے۔

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

مزید اصلاحات کے لئے شامل ہیں:

  1. کم حجم کے ساتھ جھوٹے بریک آؤٹ سے بچنے کے لئے حجم اشارے شامل کریں؛

  2. بینڈ بریک آؤٹ سے سگنل کے لئے بولنگر بینڈ پر غور کریں۔

  3. اعلی معیار کے تجارتی مواقع کا خود کار طریقے سے پتہ لگانے کے لئے مشین لرننگ ماڈل تیار کریں؛

  4. آٹو پیرامیٹر ٹوننگ اور سٹاپ نقصان / منافع کی سطح کو ایڈجسٹ کرنے کے لئے جینیاتی الگورتھم کا استعمال کریں.

خلاصہ

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


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Gab Fib  + RSI", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=1000, currency=currency.USD, commission_type=strategy.commission.cash_per_order, commission_value=4)

// Inputs
timeFilter = year >= 2000
    // Stop Loss 
stop_loss = input(title="SL in % of Instrum. i.e 1.5%=150pips", minval=0, step=0.1, defval=1.5) /100
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
sl_long = close * (1-stop_loss)
sl_short = close * (1+stop_loss)


// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long or sl_long
closeShort = low < exit_short or sl_short


//Rounding to MinTick value
roundtargetUp = round_to_mintick(targetUp)
roundtargetDown = round_to_mintick(targetDown)
roundsllong = round_to_mintick(sl_long)
roundslshort = round_to_mintick(sl_short)

// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="buy", long=true, when=openLong and high < targetUp, limit=close, alert_message="buy,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetUp)+",sl="+tostring(roundsllong))
    strategy.entry(id="sell", long=false, when=openShort and low > targetDown, limit=close,  alert_message="sell,"+tostring(syminfo.ticker)+",tp="+tostring(roundtargetDown)+",sl="+tostring(roundslshort))

    // Exit Orders
    strategy.exit(id="closelong", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=sl_long, alert_message="closelong,"+tostring(syminfo.ticker))
    strategy.exit(id="closeshort", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=sl_short, alert_message="closeshort,"+tostring(syminfo.ticker))

مزید