ڈبل حرکت پذیر اوسط کراس اوور ٹریڈنگ کی حکمت عملی

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

img

جائزہ

یہ حکمت عملی چلتی اوسطوں کے سنہری کراس اور موت کے کراس کی بنیاد پر خرید اور فروخت کے سگنل تیار کرتی ہے۔ خاص طور پر ، یہ 5 دن کی ایکسپونینشل چلتی اوسط (ای ایم اے) اور 34 دن کی ڈبل ایکسپونینشل چلتی اوسط (ڈی ای ایم اے) کا استعمال کرتی ہے۔ جب قلیل مدتی 5 دن کا ای ایم اے طویل مدتی 34 دن کے ڈی ای ایم اے سے اوپر عبور کرتا ہے تو ، خرید کا سگنل تیار ہوتا ہے۔ جب قلیل مدتی 5 دن کا ای ایم اے طویل مدتی 34 دن کے ڈی ای ایم اے سے نیچے عبور کرتا ہے تو ، فروخت کا سگنل تیار ہوتا ہے۔

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

  1. 5 دن کے EMA اور 34 دن کے DEMA کا حساب لگائیں
  2. خریدنے کا اشارہ پیدا کریں جب قلیل مدتی 5 دن کا ای ایم اے طویل مدتی 34 دن کے ڈی ایم اے سے تجاوز کرے
  3. جب مختصر مدت کے 5 دن کے EMA طویل مدتی 34 دن کے DEMA سے نیچے عبور کرتے ہیں تو فروخت کا سگنل تیار کریں
  4. صرف مخصوص تجارتی سیشنوں کے دوران تجارت کا اختیار
  5. ٹریلنگ اسٹاپ نقصان کا استعمال کرنے کا اختیار

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

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

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

خطرے کا تجزیہ

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

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

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

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

نتیجہ

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


/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",false]]
*/

//@version=2
strategy(title='[STRATEGY][RS]MicuRobert EMA cross V2', shorttitle='S', overlay=true)
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
USE_TRAILINGSTOP = input(title='Use Trailing Stop?', type=bool, defval=true)
trade_session = input(title='Trade Session:',  defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)
trade_size = input(title='Trade Size:', type=float, defval=1)
tp = input(title='Take profit in pips:', type=float, defval=55.0) * (syminfo.mintick*10)
sl = input(title='Stop loss in pips:', type=float, defval=22.0) * (syminfo.mintick*10)
ma_length00 = input(title='EMA length:', defval=5)
ma_length01 = input(title='DEMA length:',  defval=34)
price = input(title='Price source:', defval=open)

//  ||--- NO LAG EMA, Credit LazyBear:  ---||
f_LB_zlema(_src, _length)=>
    _ema1=ema(_src, _length)
    _ema2=ema(_ema1, _length)
    _d=_ema1-_ema2
    _zlema=_ema1+_d
//  ||-------------------------------------||

ma00 = f_LB_zlema(price, ma_length00)
ma01 = f_LB_zlema(price, ma_length01)
plot(title='M0', series=ma00, color=black)
plot(title='M1', series=ma01, color=black)

isnewbuy = change(strategy.position_size)>0 and change(strategy.opentrades)>0
isnewsel = change(strategy.position_size)<0 and change(strategy.opentrades)>0

buy_entry_price = isnewbuy ? price : buy_entry_price[1]
sel_entry_price = isnewsel ? price : sel_entry_price[1]
plot(title='BE', series=buy_entry_price, style=circles, color=strategy.position_size <= 0 ? na : aqua)
plot(title='SE', series=sel_entry_price, style=circles, color=strategy.position_size >= 0 ? na : aqua)
buy_appex = na(buy_appex[1]) ? price : isnewbuy ? high : high >= buy_appex[1] ? high : buy_appex[1]
sel_appex = na(sel_appex[1]) ? price : isnewsel ? low : low <= sel_appex[1] ? low : sel_appex[1]
plot(title='BA', series=buy_appex, style=circles, color=strategy.position_size <= 0 ? na : teal)
plot(title='SA', series=sel_appex, style=circles, color=strategy.position_size >= 0 ? na : teal)
buy_ts = buy_appex - sl
sel_ts = sel_appex + sl
plot(title='Bts', series=buy_ts, style=circles, color=strategy.position_size <= 0 ? na : red)
plot(title='Sts', series=sel_ts, style=circles, color=strategy.position_size >= 0 ? na : red)

buy_cond1 = crossover(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
buy_cond0 = crossover(price, ma00) and ma00 > ma01 and (USE_TRADESESSION ? istradingsession : true)
buy_entry = buy_cond1 or buy_cond0
buy_close = (not USE_TRAILINGSTOP ? low <= buy_entry_price - sl: low <= buy_ts) or high>=buy_entry_price+tp//high>=last_traded_price + tp or low<=last_traded_price - sl //high >= hh or 
sel_cond1 = crossunder(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
sel_cond0 = crossunder(price, ma00) and ma00 < ma01 and (USE_TRADESESSION ? istradingsession : true)
sel_entry = sel_cond1 or sel_cond0
sel_close = (not USE_TRAILINGSTOP ? high >= sel_entry_price + sl : high >= sel_ts) or low<=sel_entry_price-tp//low<=last_traded_price - tp or high>=last_traded_price + sl //low <= ll or 

strategy.entry('buy', long=strategy.long, qty=trade_size, comment='buy', when=buy_entry)
strategy.close('buy', when=buy_close)
strategy.entry('sell', long=strategy.short, qty=trade_size, comment='sell', when=sel_entry)
strategy.close('sell', when=sel_close)

مزید