متحرک رینج توڑنے کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-21 15:03:19
ٹیگز:

img

جائزہ

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

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

اشارے کا حساب کتاب

سب سے پہلے، کم قیمت کی بنیاد پر بولنگر بینڈ کی بیس لائن اور نچلے بینڈ کا حساب لگائیں:

src = low
basis = sma(src, length) 
dev = mult * stdev(src, length)
lower = basis - dev

جہاں src کم قیمت ہے، لمبائی حساب کی مدت ہے، بیس چلتی اوسط ہے، dev معیاری انحراف ہے، اور کم کم بینڈ ہے.

ملٹ عام طور پر 2 پر مقرر کیا جاتا ہے، جس کا مطلب یہ ہے کہ نچلے بینڈ ایک معیاری انحراف سے دور ہے.

فلٹر کے حالات

حکمت عملی میں دو فلٹر حالات شامل ہیں:

موم بتی کا فلٹرجسم کا سائز nbody اور اس کی اوسط رہائش کا تعین کرنے کے لئے استعمال کریں ، صرف تب ہی تجارتی سگنل تیار کریں جب nbody رہائش کا نصف سے زیادہ ہو۔

رنگ فلٹر
جب موم بتی مثبت (بند > کھولنے) بند ہو تو لمبا نہ کریں۔ اس سے ایچ باکس کے سر پر جھوٹے بریک آؤٹ سے بچنا ہے۔

تجارتی سگنل

طویل سگنل پیدا کریں جب مندرجہ ذیل حالات پورے ہوں:

low < lower // price breaks lower band
close < open or usecol == false // color filter
nbody > abody / 2 or usebod == false // body filter  

جب جسم کا سائز ایک بار پھر نصف سے زیادہ ہے، قریب کی پوزیشن:

close > open and nbody > abody / 2  

پوزیشن سائزنگ

حکمت عملی پوزیشن کی تیزی سے ترقی کے لئے تجارت کے سائز کا حساب لگاتا ہے:

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] 

خطرے کا کنٹرول

سال، مہینے اور تاریخ پر پابندیاں شامل کریں تاکہ صرف مخصوص تاریخ کی حد میں تجارت کو محدود کیا جاسکے:

when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))

فوائد

متحرک تجارتی رینج

بولنگر کی نچلی بینڈ رجحانات کے بعد ریٹریسیشنز کو پکڑنے کے لئے ایک متحرک سپورٹ ایریا فراہم کرتی ہے۔

ڈبل فلٹر

موم بتی کے جسم اور رنگ فلٹرز کا مجموعہ مؤثر طریقے سے جھوٹے بریک آؤٹ سے بچتا ہے.

خودکار پوزیشن سائزنگ

پوزیشن کے سائز میں نمایاں طور پر 100٪ تک اضافہ ہوتا ہے جو خود بخود خطرے کا انتظام کرتا ہے۔

تاریخ کی حد

تاریخ کی حد مقرر کرنے سے مخصوص ادوار میں مارکیٹ کی اتار چڑھاؤ سے وابستہ خطرہ کم ہوتا ہے۔

خطرات

طویل عرصے تک استعمال

جب مضبوط اپ ٹرینڈ ہوتا ہے تو بی بی کے درمیانے اور اوپری بینڈ تیزی سے اوپر کی طرف منتقل ہو سکتے ہیں، جس سے طویل عرصے تک نیچے آنا پڑتا ہے۔

حل

رجحان کے اشارے کے ساتھ مل کر، طویل عرصے تک کم ہونے سے بچنے کے لئے جب بول مارکیٹ کا فیصلہ کیا جاتا ہے تو حکمت عملی کو روکیں.

ناکام فرار

بریک آؤٹ ناکام ہو سکتا ہے اور نچلے بینڈ کا دوبارہ ٹیسٹ.

حل

سپورٹ کی سطح سے نیچے سٹاپ نقصان شامل کریں. یا فوری سٹاپ نقصان کے لئے ناکام دوبارہ ٹیسٹ کا پتہ لگانے کے لئے منطق شامل کریں.

بہتری

سٹاپ نقصان شامل کریں

بیک ٹسٹ کے نتائج کی بنیاد پر سپورٹ سے نیچے سٹاپ نقصان کو بہتر بنائیں۔

پیرامیٹرز کو بہتر بنائیں

ٹھیک ٹیون جسم فلٹر قیام کی مدت، رنگ فلٹر وغیرہ بہترین تلاش کرنے کے لئے.

رجحان فلٹر شامل کریں

حکمت عملی کو روکیں جب اسے بول مارکیٹ سمجھا جائے۔ واپسی کا وقت کم کریں۔

نتیجہ

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


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

//Noro
//2018

//@version=2
strategy(title = "Noro's Wizard Strategy v1.0", shorttitle = "Wizard str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(25, defval = 25, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false

//Signals
up1 = low < lower and (close < open or usecol == false) and body
exit = close > open and nbody > abody / 2

//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

مزید