لانگ شارٹ لکیری رجسٹریشن کراس اوور حکمت عملی ایک تکنیکی تجزیہ حکمت عملی ہے جو اسٹاک کی مستقبل کی قیمت کی نقل و حرکت کی پیش گوئی کے لئے لکیری رجسٹریشن ماڈل کا استعمال کرتی ہے۔ اس حکمت عملی کا بنیادی اصول یہ ہے: اسٹاک کی قیمت کی نقل و حرکت اکثر ایک خاص لکیری رجحان کی پیروی کرتی ہے ، اور قیمت کی لکیری رجسٹریشن کا حساب لگاتے ہوئے ، مستقبل کی قیمت کی پیش گوئی کی جاسکتی ہے۔ جب پیش گوئی کی گئی قیمت موجودہ قیمت سے تجاوز کرتی ہے تو حکمت عملی طویل ہوجاتی ہے ، اور جب یہ نیچے سے تجاوز کرتی ہے تو پوزیشن سے باہر ہوجاتی ہے۔
حکمت عملی سب سے پہلے ایک خاص مدت کے دوران اسٹاک کی قیمت کی لکیری رجعت کا حساب لگاتی ہے۔ لکیری رجعت کم سے کم مربع طریقہ کا استعمال کرتے ہوئے ایک سیدھی لکیر پر فٹ ہوجاتی ہے ، جو وقت کے ساتھ ساتھ قیمت میں تبدیلی کے رجحان کی نمائندگی کرتی ہے۔ اس کے بعد حکمت عملی پیش گوئی کی قیمت لائن اور چارٹ پر موجودہ قیمت کو پلاٹ کرتی ہے۔
حکمت عملی دو سگنل کی وضاحت کرتی ہے:
جب لانگ سگنل ظاہر ہوتا ہے تو، حکمت عملی ایک طویل پوزیشن کھولتی ہے؛ جب مختصر سگنل ظاہر ہوتا ہے تو، یہ پوزیشن بند کر دیتا ہے.
اسٹریٹیجی کے اہم اقدامات مندرجہ ذیل ہیں:
طویل مختصر لکیری رجسٹریشن کراس اوور حکمت عملی مندرجہ ذیل فوائد ہیں:
اس کے بہت سے فوائد کے باوجود ، لانگ شارٹ لکیری رجریشن کراس اوور حکمت عملی میں بھی کچھ خطرات ہیں:
لانگ شارٹ لکیری رجریشن کراس اوور حکمت عملی لکیری رجریشن اور موجودہ قیمت سے متوقع قیمت کے موازنہ کی بنیاد پر تجارتی سگنل تیار کرتی ہے۔ حکمت عملی کا منطق آسان اور واضح ہے ، اور یہ قیمت کے لکیری رجحان کو پکڑ سکتا ہے اور مختلف مارکیٹ کے حالات پر لاگو ہوتا ہے۔ اسی وقت ، حکمت عملی کو نافذ کرنا اور بہتر بنانا آسان ہے ، اور پیرامیٹرز کو لچکدار طریقے سے ایڈجسٹ کیا جاسکتا ہے ، دوسرے اشارے کے ساتھ مل کر ، رسک کنٹرول ماڈیولز شامل کیے جاسکتے ہیں ، وغیرہ ، تاکہ حکمت عملی کی کارکردگی کو مستقل طور پر بہتر بنایا جاسکے۔ تاہم ، حکمت عملی میں غلط رجحان کی شناخت ، نامناسب پیرامیٹر کی ترتیبات ، اور تاریخی اعداد و شمار کی ضرورت سے زیادہ خطرات بھی ہیں ، لہذا عملی درخواست میں محتاط رہنے کی ضرورت ہے۔ مجموعی طور پر ، لانگ شارٹ لکیری رجریشن کراس اوور حکمت عملی ایک آسان اور موثر تجارتی حکمت عملی ہے جس کی مزید تلاش اور اصلاح کے قابل ہے۔
/*backtest start: 2024-02-25 00:00:00 end: 2024-03-26 00:00:00 period: 3h basePeriod: 15m 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/ // © stocktechbot //@version=5 strategy("Linear Cross", overlay=true, margin_long=100, margin_short=0) //Linear Regression vol = volume // Function to calculate linear regression linregs(y, x, len) => ybar = math.sum(y, len)/len xbar = math.sum(x, len)/len b = math.sum((x - xbar)*(y - ybar),len)/math.sum((x - xbar)*(x - xbar),len) a = ybar - b*xbar [a, b] // Historical stock price data price = close // Length of linear regression len = input(defval = 21, title = 'Strategy Length') linearlen=input(defval = 9, title = 'Linear Lookback') [a, b] = linregs(price, vol, len) // Calculate linear regression for stock price based on volume //eps = request.earnings(syminfo.ticker, earnings.actual) //MA For double confirmation out = ta.sma(close, 200) outf = ta.sma(close, 50) outn = ta.sma(close, 90) outt = ta.sma(close, 21) outthree = ta.sma(close, 9) // Predicted stock price based on volume predicted_price = a + b*vol // Check if predicted price is between open and close is_between = open < predicted_price and predicted_price < close //MACD //[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // Plot predicted stock price plot(predicted_price, color=color.rgb(65, 59, 150), linewidth=2, title="Predicted Price") plot(ta.sma(predicted_price,linearlen), color=color.rgb(199, 43, 64), linewidth=2, title="MA Predicted Price") //offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) plot(out, color=color.blue, title="MA200") [macdLine, signalLine, histLine] = ta.macd(predicted_price, 12, 26, 9) //BUY Signal longCondition=false mafentry =ta.sma(close, 50) > ta.sma(close, 90) //matentry = ta.sma(close, 21) > ta.sma(close, 50) matwohun = close > ta.sma(close, 200) twohunraise = ta.rising(out, 2) twentyrise = ta.rising(outt, 2) macdrise = ta.rising(macdLine,2) macdlong = ta.crossover(predicted_price, ta.wma(predicted_price,linearlen)) and (signalLine < macdLine) if macdlong and macdrise longCondition := true if (longCondition) strategy.entry("My Long Entry Id", strategy.long) //Sell Signal lastEntryPrice = strategy.opentrades.entry_price(strategy.opentrades - 1) daysSinceEntry = len daysSinceEntry := int((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) / (24 * 60 * 60 * 1000)) percentageChange = (close - lastEntryPrice) / lastEntryPrice * 100 //trailChange = (ta.highest(close,daysSinceEntry) - close) / close * 100 //label.new(bar_index, high, color=color.black, textcolor=color.white,text=str.tostring(int(trailChange))) shortCondition=false mafexit =ta.sma(close, 50) < ta.sma(close, 90) matexit = ta.sma(close, 21) < ta.sma(close, 50) matwohund = close < ta.sma(close, 200) twohunfall = ta.falling(out, 3) twentyfall = ta.falling(outt, 2) shortmafall = ta.falling(outthree, 1) macdfall = ta.falling(macdLine,1) macdsell = macdLine < signalLine if macdfall and macdsell and (macdLine < signalLine) and ta.falling(low,2) shortCondition := true if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)