قابل ترتیب BB+RSI+Aroon حکمت عملی


تخلیق کی تاریخ: 2023-09-21 15:05:38 آخر میں ترمیم کریں: 2023-09-21 15:05:38
کاپی: 0 کلکس کی تعداد: 739
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس حکمت عملی میں برن بینڈ (BB) ، نسبتا strong مضبوط اشاریہ (RSI) اور آرون اشارے شامل ہیں تاکہ ہر اشارے کی طاقت کو استعمال کیا جاسکے اور تجارت کے لئے موثر اندراج اور خارجی سگنل فراہم کیے جائیں۔

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

  1. جب قیمت بلین نیچے کی طرف سے ٹوٹ جاتا ہے تو، ایک کثیر سگنل ظاہر ہوتا ہے.

  2. جب RSI پر اوپری خرید لائن کو عبور کیا جاتا ہے تو ، کثیر سر تصدیق کا اشارہ ظاہر ہوتا ہے۔

  3. جب Aroon اوپر اور نیچے پہنا جاتا ہے تو ، ایک سے زیادہ سر کی تصدیق کا اشارہ ظاہر ہوتا ہے۔

  4. جب یہ تینوں شرائط مل کر پوری ہوں تو زیادہ کریں۔

  5. جب قیمت بلین بینڈ سے اوپر کی طرف جاتی ہے تو ، ایک خالی سر کا اشارہ ظاہر ہوتا ہے۔

  6. جب RSI نیچے oversold لائن کو پار کرتا ہے تو ، ایک خالی سر تصدیق کا اشارہ ظاہر ہوتا ہے۔

  7. جب Aroon نیچے پہنا جاتا ہے تو ، خالی سر کی تصدیق کا اشارہ ظاہر ہوتا ہے۔

  8. جب مذکورہ بالا تینوں شرائط مل کر پوری ہوں تو خالی کرنا۔

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Developed by Marco Jarquin as part of Arkansas 22 Project for Binary Options
// CBRA for binary options (Configurable Bollinger Bands, RSI and Aroon)

//@version=4
// ====================================================================================

//strategy("A22.CBRA.Strat", overlay=true, initial_capital=10000, currency="USD", calc_on_every_tick=true, default_qty_type=strategy.cash, default_qty_value=4000, commission_type=strategy.commission.cash_per_order, commission_value=0)

// Aroonish Parameters
// ====================================================================================

Aroonish_length = input(4, minval=1, title="Aroonish Lenght")
Aroonish_ConfVal = input(50, minval=0, maxval=100, step=25, title="Aroonish Confirmation Value")
Aroonish_upper = 100 * (-highestbars(high, Aroonish_length+1) + Aroonish_length)/Aroonish_length
Aroonish_lower = 100 * (-lowestbars(low, Aroonish_length+1) + Aroonish_length)/Aroonish_length

// Aroonish confirmations
// ====================================================================================
Aroonish_ConfLong = (Aroonish_lower >= Aroonish_ConfVal) and (Aroonish_upper < Aroonish_lower)
Aroonish_ConfShrt = (Aroonish_upper >= Aroonish_ConfVal) and (Aroonish_upper > Aroonish_lower)

plotshape(crossover(Aroonish_lower, Aroonish_upper), color = color.red, style = shape.triangledown, location = location.abovebar, size = size.auto, title = "Ar-B")
plotshape(crossover(Aroonish_upper, Aroonish_lower), color = color.green, style = shape.triangleup, location = location.belowbar, size = size.auto, transp = 0, title = "Ar-S")

// RSI Parameters
// ====================================================================================
RSI_length = input(4, title="RSI Lenght")
RSI_overSold = input(20, title="RSI Oversold Limit")
RSI_overBought = input(80, title="RSI Overbought Limit" )

RSI = rsi(close, RSI_length)

plotshape(crossover(RSI, RSI_overSold), color = color.orange, style = shape.square, location = location.belowbar, size = size.auto, title = "RSI-B")
plotshape(crossunder(RSI, RSI_overBought), color = color.orange, style = shape.square, location = location.abovebar, size = size.auto, transp = 0, title = "RSI-S")

// Bollinger Parameters
// ====================================================================================
BB_length = input(20, minval=1, title="Bollinger Lenght")
BB_mult = input(2.5, minval=0.1, maxval=50, step=0.1, title="Bollinger Std Dev")
// BB_bars = input(3, minval=1, maxval=5, title="Check bars after crossing")

BB_basis = sma(close, BB_length)
BB_dev = BB_mult * stdev(close, BB_length)

BB_upper = BB_basis + BB_dev
BB_lower = BB_basis - BB_dev

p1 = plot(BB_upper, color=color.blue)
p2 = plot(BB_lower, color=color.blue)

// Bars to have the operation open
// ====================================================================================
nBars = input(3, minval=1, maxval=30, title="Bars to keep the operation open")

// Strategy condition short or long
// ====================================================================================
ConditionShrt = ((crossunder(close, BB_upper) or crossunder(close[1], BB_upper[1])) and Aroonish_ConfShrt) and (crossunder(RSI, RSI_overBought) or crossunder(RSI[1], RSI_overBought[1]))
ConditionLong = ((crossover(close, BB_lower) or crossover(close[1], BB_lower[1])) and Aroonish_ConfLong) and (crossover(RSI, RSI_overSold) or crossover(RSI[1], RSI_overSold[1]))

plotshape(crossover(close, BB_lower), color = color.blue, style = shape.circle, location = location.belowbar, size = size.auto, title = "BB-B")
plotshape(crossunder(close, BB_upper), color = color.blue, style = shape.circle, location = location.abovebar, size = size.auto, transp = 0, title = "BB-S")


// Make input options that configure backtest date range
// ====================================================================================
iMo = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12)
iDy = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31)
iYr = input(title="Start Year", type=input.integer, defval=(2020), minval=1800, maxval=2100)

eMo = input(title="End Month", type=input.integer, defval=1, minval=1, maxval=12)
eDy = input(title="End Date", type=input.integer, defval=1, minval=1, maxval=31)
eYr = input(title="End Year", type=input.integer, defval=(2021), minval=1800, maxval=2100)

// Look if the close time of the current bar falls inside the date range
// ====================================================================================
inDateRange = true


// Evaluates conditions to enter short or long
// ====================================================================================
if (inDateRange and ConditionLong)
    strategy.entry("A22.L", strategy.long)

if (inDateRange and ConditionLong[nBars])
    strategy.close("A22.L", comment="A22.L Exit")
    
if (inDateRange and ConditionShrt)
    strategy.entry("A22.S", strategy.short)

if (inDateRange and ConditionShrt[nBars])
    strategy.close("A22.S", comment="A22.S Exit")

if (not inDateRange)
    strategy.close_all()