دوہری حرکت پذیر اوسط کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-01 18:18:16
ٹیگز:

img

جائزہ

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

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

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

اس حکمت عملی کا بنیادی منطق دوہری حرکت پذیر اوسط کراس اوور سسٹم میں ہے۔ خاص طور پر یہ مندرجہ ذیل تکنیکی اشارے استعمال کرتا ہے۔

  1. سادہ حرکت پذیر اوسط (ایس ایم اے): حالیہ اوسط قیمت کی عکاسی کرتے ہوئے پچھلے n دنوں میں اختتامی قیمتوں کا ریاضیاتی اوسط۔
  2. ویویٹڈ چلتی اوسط (وی ڈبلیو ایم اے): پچھلے n دنوں میں بند ہونے والی قیمتوں کا ویویٹڈ اوسط ، حالیہ قیمتوں کو زیادہ وزن تفویض کرنا ، قیمتوں میں تبدیلیوں کا تیزی سے جواب دینا۔

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

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

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

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

خطرے کا تجزیہ

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

خطرے کا انتظام:

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

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

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

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

نتیجہ

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


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true, initial_capital=10000, currency='USD')

strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true)

// Credit goes to this developer for the "Date Range Code"
// https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/

// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Simple MA Source")
maFastLength   = input(defval = 6, title = "Simple MA Length", minval = 1)
// long ma
maSlowSource   = input(defval = high, title = "VW MA Source")
maSlowLength   = input(defval = 7, title = "VW MA Period", minval = 1)


// === SERIES SETUP ===
// a couple of ma's...
maFast = sma(maFastSource, maFastLength)
maSlow = vwma(maSlowSource, maSlowLength)


// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = color.green, linewidth = 2, style = plot.style_line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = color.red, linewidth = 2, style = plot.style_line, transp = 30)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
//enterLong = crossover(maSlow, maFast)
//exitLong = crossover(maFast, maSlow)

// Entry //
strategy.entry(id="Long Entry", long=true, when=window() and enterLong)
strategy.entry(id="Short Entry", long=false, when=window() and exitLong)

// === FILL ====
fill(fast, slow, color = maFast > maSlow ? color.green : color.red)

// === MRSI ===
//
//

basis = rsi(close, input(50))

ma1 = ema(basis, input(2))
ma2 = ema(basis, input(27))

oversold = input(32.6)
overbought = input(63)

//plot(ma1, title="RSI EMA1", color=blue)
//plot(ma2, title="RSI EMA2", color=yellow)

obhist = ma1 >= overbought ? ma1 : overbought
oshist = ma1 <= oversold ? ma1 : oversold

//plot(obhist, title="Overbought Highligth", style=columns, color=color.maroon, histbase=overbought)
//plot(oshist, title="Oversold Highligth", style=columns, color=color.yellow, histbase=oversold)

//i1 = hline(oversold, title="Oversold Level", color=white)
//i2 = hline(overbought, title="Overbought Level", color=white)

//fill(i1, i2, color=olive, transp=100)

// === LOGIC ===
enterLongMrsi = crossover(ma1, oversold)
exitLongMrsi = crossover(ma1, overbought)

// Entry //
strategy.entry(id="MRSI Long Entry", long=true, when=window() and enterLongMrsi)
strategy.entry(id="MRSI Short Entry", long=false, when=window() and exitLongMrsi)

//hline(50, title="50 Level", color=white)

مزید