موونگ ایوریج ریورژن ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2023-10-25 10:58:02 آخر میں ترمیم کریں: 2023-10-25 10:58:02
کاپی: 0 کلکس کی تعداد: 1191
1
پر توجہ دیں
1617
پیروکار

موونگ ایوریج ریورژن ٹریڈنگ کی حکمت عملی

جائزہ

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

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

اس حکمت عملی میں سب سے پہلے n دن کی قیمتوں کے لئے لکیری واپسی لائن اور m دن کی اوسط لائن کا حساب لگایا جاتا ہے۔ لکیری واپسی لائن اسٹاک کی قیمتوں کے طویل مدتی اعدادوشمار کے رجحانات کی عکاسی کرتی ہے ، اور اوسط لائن اسٹاک کی قیمتوں میں قلیل مدتی حرکت کی عکاسی کرتی ہے۔

جب اوسط لائن پر لکیری واپسی کی لائن سے گزرتا ہے تو ، اس کا مطلب ہے کہ اسٹاک کی قیمت میں اضافے کی رفتار میں اضافہ ہوا ہے ، جس سے خریدنے کا اشارہ ملتا ہے۔ جب اوسط لائن کے نیچے لکیری واپسی کی لائن سے گزرتا ہے تو ، اس کا مطلب ہے کہ اسٹاک کی قیمت میں کمی ہے ، جس سے فروخت کا اشارہ ملتا ہے۔

یہ حکمت عملی مندرجہ ذیل اقدامات کے ذریعے ٹریڈنگ سگنل کا تعین کرتی ہے۔

  1. n دن کی قیمت کی لکیری رجعت لائن کا حساب لگانا

  2. لکیری رجعت لائن کے لئے m دن کی سادہ منتقل اوسط LRMA کا حساب لگائیں

  3. اسٹاک کی قیمتوں کا حساب لگانے کے لئے ایم ڈے انڈیکس

  4. جب ایما پر LRMA پہنتا ہے تو ، خریدنے کا سگنل پیدا ہوتا ہے

  5. جب ایما LRMA کے نیچے سے گزرتا ہے تو ، ایک فروخت کا اشارہ پیدا ہوتا ہے

  6. اس کے علاوہ ، بڑے بازاروں کے فیصلے کے ساتھ ، خریدنے کے اشارے پر صرف اس وقت غور کریں جب بڑے بازار بیل کا بازار ہو۔

  7. سگنل پر عملدرآمد خرید و فروخت کے لین دین

اوسط اور واپسی لائنوں کے کراسنگ کے ذریعے خرید و فروخت کے وقت کا تعین ، جعلی توڑنے اور الٹ پوائنٹس کو پکڑنے کے لئے موثر فلٹرنگ ، کم خرید و فروخت کو کم کرنے کے لئے۔

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. اوسط اشارے کی اصلاح: مختلف اقسام کی اوسط ، جیسے وزن والی منتقل اوسط وغیرہ کو آزمائیں ، تاکہ اس اسٹاک کے لئے بہترین اوسط تلاش کریں۔

  2. ریگریشن لائن کی اصلاح: ریگریشن لائن کے حساب کتاب کے دورانیے کو ایڈجسٹ کریں ، اس دورانیے کے پیرامیٹرز کو تلاش کریں جو اس اسٹاک کے طویل مدتی رجحان کو بہترین طور پر ظاہر کرے۔

  3. بڑے پیمانے پر فیصلے کی اصلاح: مختلف بڑے پیمانے پر فیصلے کے اشارے کی جانچ کرنا تاکہ حکمت عملی کے لئے بہترین بڑے پیمانے پر سگنل تلاش کیا جاسکے۔

  4. پیرامیٹرز کی اصلاح: مختلف پیرامیٹرز کے مجموعے کے ذریعے بار بار جانچ پڑتال ، بہترین پیرامیٹرز کی تشکیل تلاش کریں۔

  5. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں: مختلف اسٹاپ نقصان کے طریقوں کی جانچ کریں ، خطرے کو کنٹرول کرنے کے لئے بہترین اسٹاپ نقصان کی منطق مرتب کریں۔

  6. ٹرانزیکشن لاگت کی اصلاح: مختلف ٹرانزیکشن فیس ماڈل کے مطابق ، ٹرانزیکشن کی لاگت کو کم کرنے کے لئے ٹرانزیکشن کی تعدد کو ایڈجسٹ کریں۔

مندرجہ بالا نکات کو بہتر بنانے سے حکمت عملی کی استحکام اور منافع کی شرح کو مزید بہتر بنایا جاسکتا ہے۔

خلاصہ کریں۔

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

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