لکیری رجعت حرکت پذیر اوسط تجارتی حکمت عملی لکیری رجعت کی لکیر اور اسٹاک کی قیمت کے حرکت پذیر اوسط کے مابین کراس اوورز کی بنیاد پر خرید اور فروخت کے سگنل تیار کرتی ہے۔ یہ حکمت عملی ممکنہ الٹ پھیر کی نشاندہی کرنے اور کم خریدنے اور اعلی فروخت کرنے کے لئے لکیری رجعت کے تجزیہ کے ساتھ رجحان کی پیروی کو جوڑتی ہے۔
حکمت عملی سب سے پہلے اسٹاک کی قیمت کی این ڈے لکیری رجسٹریشن لائن اور ایم ڈے چلتی اوسط کا حساب لگاتی ہے۔ رجسٹریشن لائن طویل مدتی شماریاتی رجحانات کو پکڑتی ہے جبکہ چلتی اوسط مختصر مدت کی رفتار کی عکاسی کرتی ہے۔
جب حرکت پذیر اوسط رجعت کی لکیر سے اوپر عبور کرتا ہے تو ، یہ اپسائڈ رفتار کو مضبوط کرنے کا اشارہ کرتا ہے اور خریدنے کا اشارہ پیدا کرتا ہے۔ جب حرکت پذیر اوسط اس سے نیچے عبور کرتا ہے تو ، یہ کمزور اپسائڈ کا اشارہ کرتا ہے اور فروخت کا اشارہ پیدا کرتا ہے۔
خاص طور پر، حکمت عملی تجارتی سگنل کا تعین کرنے کے لئے مندرجہ ذیل اقدامات پر عمل کرتی ہے:
قیمتوں کی n دن لکیری رجسٹریشن لائن کا حساب لگائیں lrLine
lrLine کے m-دن سادہ چلتی اوسط حساب کریں lrMA کہا جاتا ہے
قیمتوں کا ایکسپونینشل چلتا ہوا اوسط حساب کریں جسے ای ایم اے کہا جاتا ہے
جب ای ایم اے آئی آر ایم اے کے اوپر عبور کرتا ہے تو ، خریدنے کا سگنل طویل مدت تک پیدا ہوتا ہے
جب ای ایم اے آئی آر ایم اے سے نیچے گزرتا ہے تو ، فروخت کا سگنل تیار کریں
صرف خریدنے کے سگنل پر غور کریں جب مارکیٹ تیزی سے ہے
سگنلز کی بنیاد پر تجارت انجام دیں
اندراجات کا تعین کرنے کے لئے رجعت اور چلتی اوسط کے درمیان کراس اوور کا استعمال کرتے ہوئے ، حکمت عملی غلط توڑ کو مؤثر طریقے سے فلٹر کرسکتی ہے اور کم خریدنے اور اعلی فروخت کے لئے الٹ کی نشاندہی کرسکتی ہے۔
پیرامیٹرز کو متحرک اوسط اور رجعت کی لائن کے ادوار کو بڑھانے اور تجارتی تعدد کو کم کرنے کے لئے ایڈجسٹ کیا جانا چاہئے۔ خطرات کو کنٹرول کرنے کے لئے معقول اسٹاپ نقصانات کو نافذ کیا جانا چاہئے۔ درستگی کو بہتر بنانے کے لئے مارکیٹ فلٹرز کو بہتر بنایا جاسکتا ہے۔
حکمت عملی کو کئی پہلوؤں میں بہتر بنایا جا سکتا ہے:
مختلف اقسام کے ایم اے کی جانچ کے ذریعے اوسط اصلاح
حساب کی مدت کو ایڈجسٹ کرکے رجعت لائن کی اصلاح
مختلف اشارے کی جانچ کے ذریعے مارکیٹ فلٹر کی اصلاح
سخت بیک ٹسٹنگ کے ذریعے پیرامیٹر کی اصلاح
مختلف سٹاپ نقصان منطق کی جانچ کی طرف سے سٹاپ نقصان کی اصلاح
اخراجات کی بنیاد پر تجارت کی تعدد کو ایڈجسٹ کرکے لاگت کو بہتر بنانا
یہ اصلاحات حکمت عملی کے استحکام اور منافع کو مزید بہتر بنا سکتی ہیں۔
لکیری رجعت ایم اے حکمت عملی میں رجحان تجزیہ اور لکیری رجعت کی طاقتوں کو موثر الٹ کی نشاندہی اور کم فروخت اعلی خریدنے کے لئے مربوط کیا گیا ہے۔ یہ سیدھی حکمت عملی درمیانے اور طویل مدتی افق پر اسٹاک لینے کے لئے موزوں ہے۔ پیرامیٹر ٹیوننگ اور رسک کنٹرول کے ساتھ ، حکمت عملی اور بھی زیادہ استحکام حاصل کرسکتی ہے۔ یہ مارکیٹ تجزیہ کے لئے ایک قابل عمل تکنیکی تجارتی فریم ورک فراہم کرتی ہے۔
/*backtest start: 2022-10-18 00:00:00 end: 2023-10-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © lazy_capitalist //@version=5 strategy('Linear Regression MA', overlay=true, initial_capital=10000) datesGroup = "Date Info" startMonth = input.int(defval = 1, title = "Start Month", minval = 1, maxval = 12, group=datesGroup) startDay = input.int(defval = 1, title = "Start Day", minval = 1, maxval = 31, group=datesGroup) startYear = input.int(defval = 2022, title = "Start Year", minval = 1970, group=datesGroup) averagesGroup = "Averages" lrLineInput = input.int(title="Linear Regression Line", defval=55, minval = 1, group=averagesGroup) lrMAInput = input.int(title="Linear Regression MA", defval=55, minval = 1, group=averagesGroup) emaInput = input.int(title="EMA Length", defval=55, minval = 1, group=averagesGroup) tradesGroup = "Execute Trades" executeLongInput = input.bool(title="Execute Long Trades", defval=true) executeShortInput = input.bool(title="Execute Short Trades", defval=true) executeStopLoss = input.bool(title="Execute Stop Loss", defval=true) fourHrSMAExpr = ta.sma(close, 200) fourHrMA = request.security(symbol=syminfo.tickerid, timeframe="240", expression=fourHrSMAExpr) bullish = close > fourHrMA ? true : false maxProfitInput = input.float( title="Max Profit (%)", defval=10.0, minval=0.0) * 0.01 stopLossPercentageInput = input.float( title="Stop Loss (%)", defval=1.75, minval=0.0) * 0.01 start = timestamp(startYear, startMonth, startDay, 00, 00) // backtest start window window() => time >= start ? true : false // create function "within window of time" showDate = input(defval = true, title = "Show Date Range") lrLine = ta.linreg(close, lrLineInput, 0) lrMA = ta.sma(lrLine, lrMAInput) ema = ta.ema(close, emaInput) longEntry = ema < lrMA longExit = lrMA < ema shortEntry = lrMA < ema shortExit = ema < lrMA maxProfitLong = strategy.opentrades.entry_price(0) * (1 + maxProfitInput) maxProfitShort = strategy.opentrades.entry_price(0) * (1 - maxProfitInput) stopLossPriceShort = strategy.position_avg_price * (1 + stopLossPercentageInput) stopLossPriceLong = strategy.position_avg_price * (1 - stopLossPercentageInput) if(executeLongInput and bullish) strategy.entry( id="long_entry", direction=strategy.long, when=longEntry and window(), qty=10, comment="long_entry") strategy.close( id="long_entry", when=longExit, comment="long_exit") // strategy.close( id="long_entry", when=maxProfitLong <= close, comment="long_exit_mp") if(executeShortInput and not bullish) strategy.entry( id="short_entry", direction=strategy.short, when=shortEntry and window(), qty=10, comment="short_entry") strategy.close( id="short_entry", when=shortExit, comment="short_exit") // strategy.close( id="short_entry", when=maxProfitShort <= close, comment="short_exit_mp") if(strategy.position_size > 0 and executeStopLoss) strategy.exit( id="long_entry", stop=stopLossPriceLong, comment="exit_long_SL") strategy.exit( id="short_entry", stop=stopLossPriceShort, comment="exit_short_SL") // plot(series=lrLine, color=color.green) plot(series=lrMA, color=color.red) plot(series=ema, color=color.blue)