رشتہ دار رفتار کی حکمت عملی انفرادی اسٹاک اور اشاریوں کی رفتار کا موازنہ کرتی ہے تاکہ اسٹاک کی وسیع تر مارکیٹ میں نسبتا strength طاقت کا فیصلہ کیا جاسکے۔ جب اسٹاک کی رفتار انڈیکس سے زیادہ ہوتی ہے تو یہ خریدتا ہے ، اور جب اسٹاک کی رفتار انڈیکس سے کم ہوتی ہے تو فروخت کرتا ہے ، تاکہ انفرادی اسٹاک کی نمو کی چوٹی کو حاصل کیا جاسکے۔
اس حکمت عملی کا بنیادی منطق انفرادی اسٹاک کی مارکیٹ کے مقابلے میں نسبتا طاقت کا فیصلہ کرنا ہے، خاص طور پر:
اس منطق کے ذریعے، ہم اسٹاک میں خرید سکتے ہیں جب ان کی ترقی ترقی کر رہی ہے اور فروخت کر سکتے ہیں جب ترقی کی رفتار ختم ہو جاتی ہے، اسٹاک کی ترقی کی چوٹی کی مدت کے دوران اضافی واپسی کو مقفل کرنا.
رشتہ دار رفتار کی حکمت عملی کے اہم فوائد:
رشتہ دار رفتار کی حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
ان خطرات کو معقول منافع لینے، نقصانات کو روکنے، پیرامیٹرز کو ایڈجسٹ کرنے وغیرہ کے ذریعے منظم کیا جاسکتا ہے۔
رشتہ دار رفتار کی حکمت عملی کو بنیادی طور پر مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
رشتہ دار رفتار کی حکمت عملی الفا پیدا کرنے کے لئے مجموعی مارکیٹ کے مقابلے میں انفرادی اسٹاک کے اضافی نمو کے مراحل پر قبضہ کرتی ہے۔ اس کی سادہ ، واضح خرید / فروخت منطق اور آپریشن کی آسانی کے ساتھ ، اور جب پیرامیٹر کی اصلاح اور رسک کنٹرول کے ساتھ مل کر ، یہ حکمت عملی بہت اچھی کارکردگی کا مظاہرہ کرسکتی ہے۔
/*backtest start: 2024-01-21 00:00:00 end: 2024-01-28 00:00:00 period: 15m basePeriod: 5m 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/ // © HeWhoMustNotBeNamed //@version=4 strategy("Relative Returns Strategy", overlay=false, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type = strategy.commission.percent, pyramiding = 1, commission_value = 0.01, calc_on_order_fills = true) index_ticker=input("BTC_USDT:swap") Loopback = input(40, step=20) useStopAndIndexReturns = input(true) useStopAndIndexReturnsMa = input(true) useDifference = not useStopAndIndexReturns MAType = input(title="Moving Average Type", defval="sma", options=["ema", "sma", "hma", "rma", "vwma", "wma"]) MALength = input(10, minval=10,step=10) i_startTime = input(defval = timestamp("01 Jan 2010 00:00 +0000"), title = "Backtest Start Time", type = input.time) i_endTime = input(defval = timestamp("01 Jan 2099 00:00 +0000"), title = "Backtest End Time", type = input.time) inDateRange = true f_secureSecurity(_symbol, _res, _src, _offset) => security(_symbol, _res, _src[_offset], lookahead = barmerge.lookahead_on) f_getMovingAverage(source, MAType, length)=> ma = sma(source, length) if(MAType == "ema") ma := ema(source,length) if(MAType == "hma") ma := hma(source,length) if(MAType == "rma") ma := rma(source,length) if(MAType == "vwma") ma := vwma(source,length) if(MAType == "wma") ma := wma(source,length) ma index = f_secureSecurity(index_ticker, '1D', close, 0) stock_return = (close - close[Loopback])*100/close index_return = (index - index[Loopback])*100/index stock_return_ma = f_getMovingAverage(stock_return, MAType, MALength) index_return_ma = f_getMovingAverage(index_return, MAType, MALength) relativeReturns = stock_return - index_return relativeReturns_ma = f_getMovingAverage(relativeReturns, MAType, MALength) plot(useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma : stock_return : na, title="StockReturn", color=color.green, linewidth=1) plot(useStopAndIndexReturns ? useStopAndIndexReturnsMa ? index_return_ma : index_return : na, title="IndexReturn", color=color.red, linewidth=1) plot(useDifference?relativeReturns:na, title="Relative-Returns", color=color.blue, linewidth=1) plot(useDifference?relativeReturns_ma:na, title="MA", color=color.red, linewidth=1) buyCondition = (useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma > index_return_ma : stock_return > index_return : relativeReturns > relativeReturns_ma) closeBuyCondition = (useStopAndIndexReturns ? useStopAndIndexReturnsMa ? stock_return_ma < index_return_ma : stock_return < index_return : relativeReturns < relativeReturns_ma) strategy.entry("Buy", strategy.long, when=buyCondition and inDateRange, oca_name="oca") strategy.close("Buy", when=closeBuyCondition)