اتار چڑھاؤ کے رجحان کی نگرانی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-18 10:07:29
ٹیگز:

img

جائزہ

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

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

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

خاص طور پر، حکمت عملی میں ویو ٹرینڈ فارمولا یہ ہے:

esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10) 
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

جہاں esa حساب کتاب شدہ ہیکن-اشی چلتی اوسط ہے ، d ہیکن-اشی چلتی اوسط اور قیمت کی مطلق قیمت کے درمیان فرق کا اوسط ہے۔ ci نام نہاد موافقت پذیر حد ہے ، جو قیمتوں کی اتار چڑھاؤ کی عکاسی کرتی ہے۔ wt سی آئی کا چلتا ہوا اوسط ہے ، جو قیمت کی رجحان کی سمت کا تعین کرتا ہے اور طویل اور مختصر کے لئے کلیدی اشارے ہے۔

RSI اشارے کا استعمال overbought / oversold حالات کا تعین کرنے کے لئے کیا جاتا ہے۔ کوڈ میں RSI حساب کتاب کا فارمولا یہ ہے:

rsiup = rma(max(change(close), 0), 14)
rsidown = rma(-min(change(close), 0), 14)
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown)) 

اس کی معیاری قیمت 0-100 ہے۔ 70 سے اوپر زیادہ خریدا جاتا ہے اور 30 سے نیچے زیادہ فروخت ہوتا ہے۔

ان دونوں اشارے کے ساتھ مل کر ، جب آر ایس آئی 25 سے نیچے ہوتا ہے اور ویو ٹرینڈ -60 سے نیچے ہوتا ہے تو ، یہ طویل عرصے تک جانے کے لئے زیادہ فروخت ہوتا ہے۔ جب آر ایس آئی 75 سے اوپر ہوتا ہے اور ویو ٹرینڈ 60 سے اوپر ہوتا ہے تو ، یہ مختصر ہونے کے لئے زیادہ خرید جاتا ہے۔

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

اس حکمت عملی کے فوائد میں شامل ہیں:

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

خطرے کا تجزیہ

کچھ خطرات بھی ہیں:

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

حل:

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

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

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

  1. سگنل کی درستگی کو بہتر بنانے کے لئے فیصلے کے اشارے کو تبدیل کریں یا شامل کریں ، جیسے MACD ، KD وغیرہ۔

  2. مختلف مصنوعات کو ایڈجسٹ کرنے کے لئے پیرامیٹر کی ترتیبات کو بہتر بنائیں، مثال کے طور پر ہموار مدت کو ایڈجسٹ کریں.

  3. ایک ہی نقصان کو کنٹرول کرنے کے لئے ٹریکنگ سٹاپ نقصان کی حکمت عملی شامل کریں، مثال کے طور پر فی صد سٹاپ نقصان، ٹریلنگ سٹاپ نقصان وغیرہ

  4. مختلف پرامڈائڈنگ حکمت عملیوں پر غور کریں، مثال کے طور پر مقررہ مقدار کے بجائے مارٹنگیل.

  5. عدلیہ کی درستگی کو بہتر بنانے کے لئے موافقت پذیر رینج پیرامیٹرز کو بہتر بنائیں.

نتیجہ

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's WaveTrender Strategy v1.0", shorttitle = "WaveTrender 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(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
showarr = input(true, defval = true, title = "Show Arrows")
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")

//RSI
rsiup = rma(max(change(close), 0), 14)
rsidown = rma(-min(change(close), 0), 14)
rsi = rsidown == 0 ? 100 : rsiup == 0 ? 0 : 100 - (100 / (1 + rsiup / rsidown))

//WaveTrend
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
wt = ema(ci, 21)

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
overs = rsi < 25 and wt < -60
overb = rsi > 75 and wt > 60
up1 = (strategy.position_size == 0 or close < strategy.position_avg_price) and overs and bar == -1
dn1 = (strategy.position_size == 0 or close > strategy.position_avg_price) and overb and bar == 1
exit = (strategy.position_size > 0 and overs == false) or (strategy.position_size < 0 and overb == false)

//Arrows
col = exit ? black : up1 or dn1 ? blue : na
needup = up1
needdn = dn1
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

//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]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn1
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if exit
    strategy.close_all()

مزید