یہ حکمت عملی 5 منٹ اور 34 منٹ کی تیزی سے چلنے والی اوسط (ای ایم اے) لائنوں کے گولڈن کراس اور ڈیتھ کراس آپریشنز پر مبنی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے۔ جب تیز ای ایم اے نیچے سے سست ای ایم اے کو عبور کرتی ہے تو یہ لمبا ہوجاتا ہے ، اور جب تیز ای ایم اے اوپر سے سست ای ایم اے سے نیچے عبور کرتی ہے تو مختصر ہوجاتا ہے۔ یہ خطرات کو کنٹرول کرنے کے لئے اسٹاپ منافع اور اسٹاپ نقصان بھی طے کرتا ہے۔
یہ حکمت عملی دوہری ای ایم اے لائنوں کے سنہری صلیبوں اور موت کے صلیبوں سے تجارتی سگنل تیار کرتی ہے ، اور خطرات کو کنٹرول کرنے کے لئے منافع کو روکنے اور نقصان کو روکنے کا تعین کرتی ہے۔ یہ حکمت عملی کے بعد ایک سادہ اور موثر درمیانی مدتی رجحان ہے۔ مستحکم منافع کو مزید بڑھانے کے ل 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)