ڈبل موونگ ایوریج کراسنگ پر مبنی تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-12-27 16:07:49 آخر میں ترمیم کریں: 2023-12-27 16:07:49
کاپی: 2 کلکس کی تعداد: 681
1
پر توجہ دیں
1623
پیروکار

ڈبل موونگ ایوریج کراسنگ پر مبنی تجارتی حکمت عملی

جائزہ

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

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

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

اس حکمت عملی میں ایک ہی وقت میں رجحان کی پیروی اور اوسط لائن کے کراسنگ کے دو عوامل شامل ہیں ، جس کا مستحکم اثر ہے۔ ایک رجحان کی پیروی کرنے والے اشارے کے طور پر چلتی اوسط ، مارکیٹ کے رجحانات کو مؤثر طریقے سے پہچان سکتی ہے۔ ای ایم اے اور ڈی ای ایم اے کے مجموعہ کا استعمال قیمت کے اعداد و شمار کو مؤثر طریقے سے ہموار کرنے کے لئے تجارتی سگنل پیدا کرنے کے قابل ہے۔ مختصر اور طویل مدتی اوسط لائنوں کے کراسنگ سے بڑے رجحان میں تبدیلی کے وقت تجارتی سگنل پیش کیا جاسکتا ہے۔

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

ان خطرات کو کم کرنے کے لئے ، اوسط لائن کی لمبائی کو ایڈجسٹ کریں ، تجارت کے وقت کو بہتر بنائیں ، اور معقول اسٹاپ نقصانات مرتب کریں۔

اصلاح کی سمت

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

خلاصہ کریں۔

یہ حکمت عملی ایک سادہ عملی رجحان کی پیروی کی حکمت عملی ہے جو رجحان کی پیروی اور اعداد و شمار کے ہموار پروسیسنگ کے ساتھ مل کر دوہری مساوی لائن کراسنگ کے ذریعہ تجارتی سگنل پیدا کرتی ہے۔ پیرامیٹرز کو بہتر بنانے اور قواعد کو بہتر بنانے کے ذریعہ ، یہ مختلف اقسام اور تجارتی ادوار کے مطابق ڈھال سکتا ہے ، جب بڑے رجحان میں تبدیلی آتی ہے تو ٹریڈنگ سگنل کو پیشگی طور پر دیتا ہے ، غلط سگنل سے بچنے کے لئے۔ یہ سفارش اور اطلاق کے قابل ہے۔

حکمت عملی کا ماخذ کوڈ
/*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)