ڈبل EMA گولڈن کراس ڈیتھ کراس ٹرینڈ حکمت عملی


تخلیق کی تاریخ: 2023-12-29 15:46:15 آخر میں ترمیم کریں: 2023-12-29 15:46:15
کاپی: 1 کلکس کی تعداد: 701
1
پر توجہ دیں
1621
پیروکار

ڈبل EMA گولڈن کراس ڈیتھ کراس ٹرینڈ حکمت عملی

جائزہ

اس حکمت عملی میں دو EMA اشارے کا استعمال کیا جاتا ہے تاکہ موجودہ رجحان کی سمت کا اندازہ لگایا جاسکے ، اور RSI اشارے کے ساتھ مل کر خرید و فروخت کے مواقع سے بچنے کے لئے ، یہ ایک عام رجحان سے باخبر رہنے کی حکمت عملی ہے۔

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

  1. 10 اور 20 کے لئے EMA میڈین لائن کا حساب لگائیں ، بالترتیب ma00 اور ma01 کے نام سے جانا جاتا ہے
  2. جب ma00 پر ma01 پہننے خرید سگنل پیدا
  3. جب ma00 کے تحت ma01 کے ذریعے ایک فروخت سگنل پیدا
  4. اس کے علاوہ، جب قیمت اوپر سے Ma00 پہنتی ہے تو، اگر Ma00 Ma01 سے زیادہ ہے تو خریدنے کا اشارہ بھی پیدا ہوتا ہے.
  5. اسی طرح جب قیمت نیچے سے Ma00 پہنتی ہے، تو اگر Ma00 سے نیچے Ma01 ہے تو بھی فروخت کا اشارہ پیدا ہوتا ہے
  6. اس طرح کے دوہرے فیصلے سے ، کچھ خرید و فروخت کے مقامات سے محروم ہونے سے بچا جاسکتا ہے۔
  7. سٹاپ اور سٹاپ قیمتوں کا تعین کریں اور خطرے پر قابو پائیں

طاقت کا تجزیہ

  1. ڈبل ای ایم اے کے فیصلے کا استعمال کرتے ہوئے جعلی انکوائریوں کو مؤثر طریقے سے فلٹر کریں
  2. ڈبل شرائط فیصلے سے بچیں
  3. خطرے کو کنٹرول کرنے کے لئے نقصان کی روک تھام کی ترتیب

خطرے کا تجزیہ

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

اصلاح کی سمت

  1. EMA سائیکل کو مناسب طریقے سے بہتر بنایا جاسکتا ہے تاکہ بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے
  2. حکمت عملی کے استحکام کو بہتر بنانے کے لئے دیگر پیمائش کے فیصلوں کو شامل کیا جا سکتا ہے
  3. متحرک اسٹاپ کو مارکیٹ کے اتار چڑھاو کے مطابق ریئل ٹائم میں ایڈجسٹ کیا جاسکتا ہے
حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title='[STRATEGY][RS]MicuRobert EMA cross V1', 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?color.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=11.0) * (syminfo.mintick*10)
ma_length00 = input(title='EMA length:',  defval=10)
ma_length01 = input(title='DEMA length:',  defval=20)
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 ? false : 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 ? false : 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)

//What i add .!
pos = iff(ma01 < ma00 , 1,
	    iff(ma01 > ma00 , -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue)
plot(ma00, color=red, title="MA")
plot(ma01, color=blue, title="EMA")