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