ٹریلنگ سٹاپ نقصان کے ساتھ فاصلے پر مبنی حکمت عملی کے بعد رجحان

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

img

جائزہ

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

اصول

  1. آخری سبز بار بند اور آخری سرخ بار بند کی نمائندگی lastg اور lastr حساب لگائیں.

  2. lastg اور lastr کے درمیان فرق کے طور پر dist کا حساب لگائیں.

  3. 30 پیریڈ ایس ایم اے کے طور پر حساب لگائیں.

  4. تجارتی سگنل پیدا کریں جب dist adist کے 2 گنا سے زیادہ ہو.

  5. غلط بریک آؤٹ سے بچنے کے لئے سگنل فلٹر کرنے کے لئے تیز رفتار RSI اشارے کا استعمال کریں.

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

  7. ہارنے کے بعد مارٹنگیل میں پیمانے پر.

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

فوائد

  1. ڈی سی بی اشارے مؤثر طریقے سے درمیانی اور طویل مدتی رجحانات کو پکڑتا ہے۔

  2. فاسٹ آر ایس آئی فلٹر جھوٹے بریکآؤٹس سے نقصانات سے بچتا ہے۔

  3. ٹریلنگ سٹاپ منافع میں تالا لگاتا ہے اور خطرات کو کنٹرول کرتا ہے۔

  4. مارٹنگیل زیادہ منافع کے لیے نقصان کے بعد پوزیشن میں اضافہ کرتا ہے۔

  5. معقول پیرامیٹرز کی ترتیبات مختلف مارکیٹ کے ماحول کے مطابق ہیں.

خطرات

  1. ڈی سی بی غلط سگنل پیدا کر سکتا ہے، دوسرے فلٹر کی ضرورت ہے.

  2. مارٹنگیل نقصانات کو بڑھا سکتا ہے، سخت خطرہ مینجمنٹ کی ضرورت ہوتی ہے.

  3. غلط سٹاپ نقصان کی ترتیب سے زیادہ نقصان ہو سکتا ہے۔

  4. زیادہ سے زیادہ لیورج کو روکنے کے لئے پوزیشن سائزنگ کو محدود کرنا چاہئے۔

  5. غیر مناسب معاہدے کی ترتیبات انتہائی مارکیٹ میں بڑے نقصان کا باعث بن سکتی ہیں۔

اصلاح

  1. بہترین مجموعہ کے لئے DCB پیرامیٹرز کو بہتر بنائیں.

  2. تیز رفتار آر ایس آئی فلٹر کو تبدیل کرنے کے لئے دوسرے اشارے کی کوشش کریں.

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

  4. خطرے کو کم کرنے کے لئے مارٹنگیل پیرامیٹرز کو بہتر بنائیں.

  5. بہترین اثاثہ جات کی تقسیم کے لئے مختلف مصنوعات پر ٹیسٹ.

  6. پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔

خلاصہ

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


/*backtest
start: 2023-11-07 00:00:00
end: 2023-11-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

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

//Settings 
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(true, defval = true, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
usersi = input(true, defval = true, title = "Use RSI-Filter")
periodrsi = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limitrsi = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI Limit")
fromyear = input(2018, defval = 2018, 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")

//Fast RSI
fastup = rma(max(change(close), 0), periodrsi)
fastdown = rma(-min(change(close), 0), periodrsi)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Distance
bar = close > open ? 1 : close < open ? -1 : 0
lastg = bar == 1 ? close : lastg[1]
lastr = bar == -1 ? close : lastr[1]
dist = lastg - lastr
adist = sma(dist, 30)
plot(lastg, linewidth = 3, color = lime)
plot(lastr, linewidth = 3, color = red)
up = bar == -1 and dist > adist * 2
dn = bar == 1 and dist > adist * 2

//RSI Filter
rsidn = fastrsi < limitrsi or usersi == false
rsiup = fastrsi > 100 - limitrsi or usersi == false

//Signals
up1 = up and rsidn
dn1 = dn and rsiup
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open))

//Arrows
plotarrow(up1 ? 1 : na, colorup = blue, colordown = blue)
plotarrow(dn1 ? -1 : na, colorup = blue, colordown = blue)

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

signalup = up1
if signalup
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

signaldn = dn1
if signaldn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : 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()

مزید