دوہری ای ایم اے گولڈن کراس بریکنگ اسٹریٹیجی

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

img

جائزہ

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

حکمت عملی کا اصول

  1. تیز EMA5 اور سست EMA34 تجارتی سگنل بناتے ہیں۔ EMA5 حالیہ قیمت کی تبدیلیوں کو ظاہر کرتا ہے اور EMA34 درمیانی مدتی قیمت کی تبدیلیوں کو ظاہر کرتا ہے۔
  2. جب EMA5 EMA34 سے عبور کرتا ہے، تو یہ ایک سنہری کراس ہے، جس سے ظاہر ہوتا ہے کہ قلیل مدتی رجحان درمیانی مدت کے رجحان سے بہتر ہے، لہذا طویل پوزیشن رکھیں.
  3. جب ای ایم اے 5 ای ایم اے 34 سے نیچے جاتا ہے، تو یہ موت کا کراس ہوتا ہے، جس سے ظاہر ہوتا ہے کہ قلیل مدتی رجحان درمیانی مدت کے رجحان سے بدتر ہے، لہذا مختصر پوزیشن رکھیں۔
  4. منافع اور خطرات کو کنٹرول کرنے کے لیے سٹاپ منافع اور سٹاپ نقصان مقرر کریں۔

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

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

خطرے کا تجزیہ

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

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

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

خلاصہ

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


/*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"}]
*/

//@version=2
strategy(title='[STRATEGY][RS]MicuRobert EMA cross V2', shorttitle='S', overlay=true, pyramiding=0, initial_capital=100000)
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)

مزید