رشتہ دار رفتار کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-29 08:38:04
ٹیگز:

img

جائزہ

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

اصول

اس حکمت عملی کا بنیادی منطق انفرادی اسٹاک کی مارکیٹ کے مقابلے میں نسبتا طاقت کا فیصلہ کرنا ہے، خاص طور پر:

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

اس منطق کے ذریعے، ہم اسٹاک میں خرید سکتے ہیں جب ان کی ترقی ترقی کر رہی ہے اور فروخت کر سکتے ہیں جب ترقی کی رفتار ختم ہو جاتی ہے، اسٹاک کی ترقی کی چوٹی کی مدت کے دوران اضافی واپسی کو مقفل کرنا.

فوائد کا تجزیہ

رشتہ دار رفتار کی حکمت عملی کے اہم فوائد:

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

خطرے کا تجزیہ

رشتہ دار رفتار کی حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

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

ان خطرات کو معقول منافع لینے، نقصانات کو روکنے، پیرامیٹرز کو ایڈجسٹ کرنے وغیرہ کے ذریعے منظم کیا جاسکتا ہے۔

اصلاح کی ہدایات

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

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

نتیجہ

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


/*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)

مزید