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

مصنف:چاؤ ژانگ، تاریخ: 2024-01-29 11:54:10
ٹیگز:

img

جائزہ

ڈبل موونگ ایوریج اسٹوکاسٹک حکمت عملی میں چلتی اوسط اشارے اور اسٹوکاسٹک آسکیلیٹر کے امتزاج کا استعمال کرتے ہوئے تجارتی مواقع کی نشاندہی کرنے کی کوشش کی جاتی ہے۔ جب تیز EMA سست SMA کے اوپر یا نیچے عبور کرتا ہے تو یہ تجارتی سگنل تیار کرتا ہے ، جبکہ مارکیٹ میں زیادہ توسیع ہونے پر سگنل کو فلٹر کرنے کے لئے اسٹوکاسٹک٪ K ویلیو کا بھی استعمال کرتا ہے۔

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

یہ حکمت عملی بنیادی طور پر دو تکنیکی اشارے پر مبنی ہے:

  1. حرکت پذیر اوسط: یہ مختلف پیرامیٹرز کا استعمال کرتے ہوئے تیز EMA ، سست SMA اور سست VWMA کا حساب لگاتا ہے ، اور جب تیز EMA سست SMA کو عبور کرتا ہے تو تجارتی سگنل تیار کرتا ہے۔

  2. اسٹوکاسٹک آسکیلیٹر: یہ %K قدر کا حساب لگاتا ہے اور جب %K پہلے سے طے شدہ اوپری یا نچلی حد کی سطح کو عبور کرتا ہے تو مارکیٹ کو زیادہ خرید یا فروخت سمجھتا ہے ، اس کا استعمال کچھ حرکت پذیر اوسط سگنلز کو فلٹر کرنے کے لئے کرتا ہے۔

خاص طور پر، سگنل کی پیداوار کے لئے منطق یہ ہے:

  1. جب تیز ای ایم اے سست ایس ایم اے سے اوپر کی طرف بڑھتا ہے، اور %K oversold سطح سے نیچے ہے، تو طویل ہو جاتا ہے۔ جب تیز ای ایم اے سست ایس ایم اے سے نیچے کی طرف بڑھتا ہے، اور %K oversold سطح سے اوپر ہے، تو مختصر ہو جاتا ہے۔

  2. موجودہ لانگ پوزیشنوں کے لئے، جب %K اوور بک زون میں دوبارہ داخل ہو یا قیمت اسٹاپ نقصان کو توڑ دے تو بند کریں۔ مختصر پوزیشنوں کے لئے، جب %K اوور سیل زون میں دوبارہ داخل ہو یا قیمت اسٹاپ نقصان کو توڑ دے تو بند کریں۔

چلتی اوسط اور اسٹوکاسٹک آسکیلیٹر کو ملا کر ، حکمت عملی تجارت میں داخل ہونے کے لئے اعلی امکان چلتی اوسط سگنل پوائنٹس کی نشاندہی کرنے کی کوشش کرتی ہے ، جبکہ غلط سگنل میں سے کچھ کو فلٹر کرنے کے لئے اسٹوکاسٹک کا استعمال کرتی ہے۔

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

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

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

خطرے کا تجزیہ

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

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

تخفیف:

  1. اشارے کی ترتیبات کا بہترین مجموعہ تلاش کرنے کے لئے پیرامیٹرز کو بہتر بنائیں.
  2. چھوٹے پوزیشن سائزنگ کا استعمال کریں، پیمانے میں.
  3. واقعات سے بچنے کے لئے بنیادی تجزیہ شامل کریں.

بہتر مواقع

اصلاح کے اہم مواقع یہ ہیں:

  1. ٹیسٹ اور بہترین تلاش کرنے کے لئے منتقل اوسط پیرامیٹرز کو بہتر بنانے کے.
  2. بہترین ترتیبات کے لئے overbought / oversold زونز کی طرح سٹوکاسٹک پیرامیٹرز کی جانچ کریں.
  3. امیر انٹری منطق کے لئے حجم یا اتار چڑھاؤ جیسے اضافی اشارے شامل کریں.
  4. سٹاپ نقصان کے طریقہ کار کو بہتر بنانا مثلاً کم خطرہ کے لیے ٹریلنگ اسٹاپ۔
  5. پیسے کے انتظام کو بہتر بنانا جیسے اے ٹی آر پر مبنی متحرک پوزیشن سائزنگ۔
  6. VIX وغیرہ کا استعمال کرتے ہوئے خطرے سے باہر واقعات سے بچیں.

نتیجہ

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


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)

OverBoughtClose = input(80)
OverSoldClose = input(20)

smoothK = 3
smoothD = 3
trail_points = input(50)

k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)


// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)

//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")

LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)



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

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


// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast




BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought

SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose

Open = open


if not na(k) and not na(d)
    if crossover(k, d) and k < OverSold and LongFilter and TradeLong
        strategy.entry("$", strategy.long, limit = Open, comment="Long")
    
    strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss  )
    ///strategy.close("$",when = open < LstopLoss  )
    
if not na(k) and not na(d)
    if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
        strategy.entry("$1", strategy.short, limit = Open, comment="S")
        
    strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss  )
    ///strategy.close ("$1", when = open < SstopLoss) 
    
  
        





مزید