لہر کے رجحان پر مبنی مقداری تجارتی حکمت عملی

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

img

جائزہ

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

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

  1. قیمت کے مثلث حرکت پذیر اوسط اے پی کا حساب لگائیں، نیز اے پی کے اشاریاتی حرکت پذیر اوسط ای ایس اے کا حساب لگائیں۔
  2. اے پی اور ای ایس اے کے درمیان مطلق فرق کے ایکسپونینشل چلتی اوسط ڈی کا حساب لگائیں.
  3. اتار چڑھاؤ کے اشارے کو حاصل کریں.
  4. وول ٹرینڈ اشارے wt1 حاصل کرنے کے لئے سی آئی کے n2 مدت چلتی اوسط کا حساب لگائیں.
  5. حد سے زیادہ خریدنے اور حد سے زیادہ فروخت کی حدیں مقرر کریں.
  6. جب wt1 oversold لائن سے اوپر جاتا ہے تو طویل ہو، جب wt1 oversold لائن سے نیچے جاتا ہے تو مختصر ہو.

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

  1. اوور بکڈ / اوور سیلڈ کی سطحوں کے ویو ٹرینڈ وقفے مؤثر طریقے سے رجحان کی تبدیلی کے مقامات کو پکڑتے ہیں اور درست ٹریڈنگ سگنل پیدا کرتے ہیں۔
  2. قیمت چینل اور حرکت پذیر اوسط نظریات کو یکجا کرتے ہوئے، اشارے میں اکثر غلط سگنل سے بچنے کے لئے.
  3. تمام ٹائم فریم اور مختلف قسم کے تجارتی آلات پر لاگو ہوتا ہے۔
  4. اپنی مرضی کے مطابق پیرامیٹرز اچھے صارف کا تجربہ فراہم کرتے ہیں.

خطرات اور حل

  1. اہم وِپساؤس خراب سگنلز کا سبب بن سکتے ہیں ، اعلی خطرہ۔ سگنل فلٹرنگ کے لئے مختصر انتظار کے اوقات کا استعمال کرسکتے ہیں یا دوسرے اشارے کے ساتھ مل سکتے ہیں۔
  2. کوئی پوزیشن سائزنگ اور سٹاپ نقصان کے طریقہ کار، نقصان کے خطرات. مقرر پوزیشن سائز کے قوانین اور منتقل روک سکتے ہیں.

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

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

نتیجہ

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


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


//@author SoftKill21
//@version=4

strategy(title="WaveTrend strat", shorttitle="WaveTrend strategy")
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
Overbought = input(70, "Over Bought")
Oversold = input(-30, "Over Sold ")

// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2001, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1500","0500-1600")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")

//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0

london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true //and (london or newyork)

ap = hlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
 
wt1 = tci
wt2 = sma(wt1,4)

plot(0, color=color.gray)
plot(Overbought, color=color.red)
plot(Oversold, color=color.green)

plot(wt1, color=color.green)
longButton = input(title="Long", type=input.bool, defval=true)
shortButton = input(title="Short", type=input.bool, defval=true)

if(longButton==true)
    strategy.entry("long",1,when=crossover(wt1,Oversold) and time_cond)
    strategy.close("long",when=crossunder(wt1, Overbought))
    
if(shortButton==true)
    strategy.entry("short",0,when=crossunder(wt1, Overbought) and time_cond)
    strategy.close("short",when=crossover(wt1,Oversold))

//strategy.close_all(when= not (london or newyork),comment="time")
if(dayofweek == dayofweek.friday)
    strategy.close_all(when= timeinrange(timeframe.period, "1300-1400"), comment="friday") 

مزید