یہ حکمت عملی تیز ای ایم اے لائن اور سست ای ایم اے لائن کا حساب لگاتی ہے اور مارکیٹ کی رجحان کی سمت کا تعین کرنے کے لئے دونوں ای ایم اے کے درمیان سائز کے تعلقات کا موازنہ کرتی ہے۔ یہ ایک سادہ رجحان ٹریکنگ حکمت عملی سے تعلق رکھتی ہے۔ جب تیز ای ایم اے سست ای ایم اے سے اوپر عبور کرتی ہے تو ، طویل ہوجائیں۔ جب تیز ای ایم اے سست ای ایم اے سے نیچے عبور کرتی ہے تو ، مختصر ہوجائیں۔ یہ ایک عام ڈبل ای ایم اے سنہری کراس حکمت عملی ہے۔
اس حکمت عملی کے بنیادی اشارے تیز ای ایم اے اور سست ای ایم اے ہیں۔ تیز ای ایم اے کی لمبائی 21 ادوار اور سست ای ایم اے کی لمبائی 55 ادوار پر طے کی گئی ہے۔ تیز ای ایم اے حالیہ قلیل مدتی رجحان کی عکاسی کرتے ہوئے قیمتوں میں ہونے والی تبدیلیوں کا تیزی سے جواب دے سکتا ہے۔ سست ای ایم اے قیمتوں میں ہونے والی تبدیلیوں کا آہستہ آہستہ جواب دیتا ہے ، کچھ شور کو فلٹر کرتا ہے اور درمیانی سے طویل مدتی رجحان کی عکاسی کرتا ہے۔
جب تیز EMA سست EMA کے اوپر سے گزرتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قلیل مدتی رجحان اوپر کی طرف مڑ گیا ہے اور درمیانی سے طویل مدتی رجحان الٹا ہوسکتا ہے ، جو طویل عرصے تک جانے کا اشارہ ہے۔ جب تیز EMA سست EMA کے نیچے سے گزرتا ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قلیل مدتی رجحان نیچے کی طرف مڑ گیا ہے اور درمیانی سے طویل مدتی رجحان الٹا ہوسکتا ہے ، جو مختصر ہونے کا اشارہ ہے۔
تیز رفتار اور سست EMAs کا موازنہ کرکے، یہ دو ٹائم سکیلز، مختصر مدت اور درمیانے اور طویل مدتی پر رجحان کی تبدیلی کے پوائنٹس کو پکڑتا ہے، جو ایک عام رجحان ٹریکنگ کی حکمت عملی ہے.
خطرے کا انتظام:
یہ حکمت عملی ای ایم اے کراس اوورز پر مبنی رجحان کا جائزہ لیتی ہے ، جو لاگو کرنا آسان اور واضح ہے۔ اے ٹی آر پر مبنی رکاوٹوں کے ساتھ ، خطرات پر قابو پایا جاسکتا ہے۔ پیرامیٹر کی اصلاح اور فلٹرنگ کے حالات کے ذریعے استحکام اور منافع میں مزید بہتری لائی جاسکتی ہے۔
/*backtest start: 2023-10-21 00:00:00 end: 2023-11-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "VP Backtester", overlay=false) // Create General Strategy Inputs st_yr_inp = input(defval=2017, title='Backtest Start Year') st_mn_inp = input(defval=01, title='Backtest Start Month') st_dy_inp = input(defval=01, title='Backtest Start Day') en_yr_inp = input(defval=2025, title='Backtest End Year') en_mn_inp = input(defval=01, title='Backtest End Month') en_dy_inp = input(defval=01, title='Backtest End Day') // Default Stop Types fstp = input(defval=false, title="Fixed Perc stop") fper = input(defval=0.1, title='Percentage for fixed stop', type=float) atsp = input(defval=true, title="ATR Based stop") atrl = input(defval=14, title='ATR Length for stop') atrmsl = input(defval=1.5, title='ATR Multiplier for stoploss') atrtpm = input(defval=1, title='ATR Multiplier for profit') // Sessions asa_inp = input(defval=true, title="Trade the Asian Session") eur_inp = input(defval=true, title="Trade the European Session") usa_inp = input(defval=true, title="Trade the US session") ses_cls = input(defval=true, title="End of Session Close Out?") // Session Start / End times (In exchange TZ = UTC-5) asa_ses = "1700-0300" eur_ses = "0200-1200" usa_ses = "0800-1700" in_asa = time(timeframe.period, asa_ses) in_eur = time(timeframe.period, eur_ses) in_usa = time(timeframe.period, usa_ses) strategy.risk.allow_entry_in(strategy.direction.all) // Set start and end dates for backtest start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00) end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00) window() => time >= start and time <= end ? true : false // create function "within window of time" // Check if we are in a sessions we want to trade can_trade = asa_inp and not na(in_asa) ? true : eur_inp and not na(in_eur) ? true : usa_inp and not na(in_usa) ? true : false // atr calc for stop and profit atr = atr(atrl) atr_stp_dst_sl = atr * atrmsl atr_stp_dst_tp = atr * atrtpm //************************************************************************************* // Put your strategy/indicator code below // and make sure to set long_condition=1 for opening a buy trade // and short_condition for opening a sell trade //************************************************************************************* fastInput = input(21) slowInput = input(55) fast = ema(close, fastInput) slow = ema(close, slowInput) plot(fast, color = red) plot(slow, color = blue) long_condition = crossover(fast, slow) short_condition = crossunder(fast, slow) //************************************************************************************* // Trade management with ATR based stop & profit //************************************************************************************* if (long_condition and window() ) strategy.entry("Long Entry", strategy.long) if strategy.position_size <= 0 // Less than as in both direction strat - Could be long before switching if atsp atr_stop = open - atr_stp_dst_sl atr_profit = open + atr_stp_dst_tp strategy.exit('ATR Long Exit', "Long Entry", stop=atr_stop, limit = atr_profit) if fstp stop = open - (open * fper) strategy.exit('Perc Fixed Long Stop Exit', "Long Entry", stop=stop) if (short_condition and window() ) strategy.entry("Short Entry",strategy.short) if strategy.position_size >= 0 // Greater than as in both direction strat - Could be long before switching if atsp atr_stop = open + atr_stp_dst_sl atr_profit = open - atr_stp_dst_tp strategy.exit('ATR Short Exit', "Short Entry", stop=atr_stop, limit = atr_profit) if fstp stop = open + (open * fper) strategy.exit('Perc Fixed Short Stop Exit', "Short Entry", stop=stop) strategy.close_all(when=not can_trade and ses_cls)