ڈبل بی بی اشارے اور آر ایس آئی پر مبنی بے عیب فتح مقداری تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-29 10:33:43
ٹیگز:

img

جائزہ

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

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

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

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

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

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

خطرے کا تجزیہ

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

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

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

خلاصہ

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


/*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=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bunghole 2020
strategy(overlay=true, shorttitle="Flawless Victory Strategy" )

// Stoploss and Profits Inputs
v1 = input(true, title="Version 1 - Doesn't Use SL/TP")
v2 = input(false, title="Version 2 - Uses SL/TP")
stoploss_input = input(6.604, title='Stop Loss %', type=input.float, minval=0.01)/100
takeprofit_input = input(2.328, title='Take Profit %', type=input.float, minval=0.01)/100
stoploss_level = strategy.position_avg_price * (1 - stoploss_input)
takeprofit_level = strategy.position_avg_price * (1 + takeprofit_input)

//SL & TP Chart Plots
plot(v2 and stoploss_input and stoploss_level ? stoploss_level: na, color=color.red, style=plot.style_linebr, linewidth=2, title="Stoploss")
plot(v2 and takeprofit_input ? takeprofit_level: na, color=color.green, style=plot.style_linebr, linewidth=2, title="Profit")

// Bollinger Bands 1
length = 20
src1 = close
mult = 1.0
basis = sma(src1, length)
dev = mult * stdev(src1, length)
upper = basis + dev
lower = basis - dev

// Bollinger Bands 2
length2 = 17
src2 = close
mult2 = 1.0
basis2 = sma(src1, length2)
dev2 = mult2 * stdev(src2, length2)
upper2 = basis2 + dev2
lower2 = basis2 - dev2

// RSI
len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

// Strategy Parameters
RSILL= 42
RSIUL= 70
RSILL2= 42
RSIUL2= 76

rsiBuySignal = rsi > RSILL
rsiSellSignal = rsi > RSIUL
rsiBuySignal2 = rsi > RSILL2
rsiSellSignal2 = rsi > RSIUL2

BBBuySignal = src < lower
BBSellSignal = src > upper
BBBuySignal2 = src2 < lower2
BBSellSignal2 = src2 > upper2

// Strategy Long Signals
Buy = rsiBuySignal and BBBuySignal
Sell = rsiSellSignal and BBSellSignal
Buy2 = rsiBuySignal2 and BBBuySignal2
Sell2 = rsiSellSignal2 and BBSellSignal2

if v1 == true
    strategy.entry("Long", strategy.long, when = Buy, alert_message = "v1 - Buy Signal!")
    strategy.close("Long", when = Sell, alert_message = "v1 - Sell Signal!")

if v2 == true
    strategy.entry("Long", strategy.long, when = Buy2, alert_message = "v2 - Buy Signal!")
    strategy.close("Long", when = Sell2, alert_message = "v2 - Sell Signal!")
    strategy.exit("Stoploss/TP", "Long", stop = stoploss_level, limit = takeprofit_level)


مزید