انحراف کی شرح BIAS تجارتی حکمت عملی

مصنف:نیکی, تخلیق: 2020-06-30 09:58:26, تازہ کاری: 2023-10-28 15:29:08

[TOC]

img

خلاصہ

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

مختصر تعارف

img

انحراف کی شرح بی آئی اے ایس ایک تکنیکی اشارے ہے جو چلتی اوسط سے اخذ کیا گیا ہے۔ یہ بنیادی طور پر فیصد کی شکل میں ہوتا ہے تاکہ اتار چڑھاؤ میں چلتی اوسط سے قیمت کے انحراف کی ڈگری کی پیمائش کی جاسکے۔ اگر چلتی اوسط ایک تاجر کی اوسط لاگت ہے تو ، انحراف کی شرح تاجر کی اوسط واپسی کی شرح ہے۔

انحراف کی شرح کا اصول

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

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

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

اگرچہ حرکت پذیر اوسط قیمت سے حساب کیا جاتا ہے ، لیکن بیرونی شکل کے لحاظ سے ، قیمت یقینی طور پر حرکت پذیر اوسط کے قریب چلے گی ، یا قیمت ہمیشہ حرکت پذیر اوسط کے گرد گھومتی رہے گی۔ اگر قیمت حرکت پذیر اوسط سے بہت دور ہوجاتی ہے ، چاہے قیمت حرکت پذیر اوسط سے اوپر یا نیچے ہو ، تو یہ آخر کار حرکت پذیر اوسط کی طرف بڑھ سکتی ہے ، اور انحراف کی شرح فیصد قدر ہے جس کی قیمت حرکت پذیر اوسط سے انحراف کرتی ہے۔

انحراف کی شرح کا حساب لگانے کا فارمولا

انحراف کی شرح = [(دن کی اختتامی قیمت - N دن کی اوسط قیمت) / N دن کی اوسط قیمت] * 100٪

ان میں ، N حرکت پذیر اوسط پیرامیٹر ہے ، کیونکہ N کا دورانیہ مختلف ہے ، انحراف کی شرح کا حساب کتاب کا نتیجہ بھی مختلف ہے۔ عام طور پر ، N کی اقدار یہ ہیں: 6 ، 12 ، 24 ، 36 ، وغیرہ۔ اصل استعمال میں ، اسے مختلف اقسام کے مطابق متحرک طور پر بھی ایڈجسٹ کیا جاسکتا ہے۔ تاہم ، پیرامیٹرز کا انتخاب بہت ضروری ہے۔ اگر پیرامیٹر بہت چھوٹا ہے تو ، انحراف کی شرح بہت حساس ہوگی ، اگر پیرامیٹر بہت بڑا ہے تو ، انحراف کی شرح بہت سست ہوگی۔ انحراف کی شرح کے حساب کتاب کے نتائج مثبت اور منفی ہیں۔ مثبت انحراف کی شرح جتنی زیادہ ہوگی ، بیلوں کا منافع اتنا ہی زیادہ ہوگا اور قیمت کی اصلاح کا امکان اتنا ہی زیادہ ہوگا۔ جتنا بڑا منافع ، منفی انحراف کی شرح اتنا ہی زیادہ ہوگا اور قیمت کی واپسی کا امکان اتنا ہی زیادہ ہوگا۔

حکمت عملی کا منطق

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

  • لانگ پوزیشن کھولنا: اگر موجودہ ہولڈنگ پوزیشن نہیں ہے اور طویل مدتی انحراف کی شرح مختصر مدت کے انحراف کی شرح سے زیادہ ہے
  • مختصر پوزیشن کھولنا: اگر کوئی موجودہ ہولڈنگ پوزیشن نہیں ہے اور طویل مدتی انحراف کی شرح مختصر مدت کے انحراف کی شرح سے کم ہے
  • لمبی پوزیشن بند کرنا: اگر لمبی پوزیشن رکھنے کی صورت میں اور لمبی مدت کے انحراف کی شرح مختصر مدت کے انحراف کی شرح سے کم ہو
  • مختصر پوزیشن بند کرنا: اگر ایک ہولڈنگ مختصر پوزیشن ہے اور طویل مدتی انحراف کی شرح مختصر مدت کے انحراف کی شرح سے زیادہ ہے

حکمت عملی لکھنا

مرحلہ 1: حکمت عملی کا فریم ورک لکھیں

# Strategy main function
def onTick():
     pass


# Program entry
def main():
     while True: # Enter infinite loop mode
         onTick() # execution strategy main function
         Sleep(1000) # sleep for 1 second

ایف ایم زیڈ پلیٹ فارم گردش کی تربیت کے موڈ کو اپناتا ہے۔mainفنکشن اور ایکonTickفنکشن کی وضاحت کرنے کی ضرورت ہے۔ مرکزی فنکشن حکمت عملی کا انٹری فنکشن ہے ، اور پروگرام کوڈ لائن کو لائن کے ذریعہ مین فنکشن سے شروع کرے گا۔ مرکزی فنکشن میں ، ایک لکھیںwhileلوپ اور بار بار عملدرآمدonTickفنکشن. حکمت عملی کے تمام بنیادی کوڈ میں لکھا ہےonTick function.

مرحلہ 2: مجازی پوزیشنوں کی وضاحت کریں

mp = 0

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

مرحلہ 3: K لائن حاصل کریں

exchange.SetContractType('rb000') # Subscribe to futures varieties
bars_arr = exchange.GetRecords() # Get K-line array
if len(bars_arr) <long + 1: # If the number of K lines is too small
     return

FMZ فنکشن کا استعمال کرتے ہوئےSetContractType، آپ rb000 میں گزر کر ریبار انڈیکس معاہدے کی خریداری کرسکتے ہیں ، لیکن بیک ٹسٹ اور حقیقی مارکیٹ کی صورتحال میں ، ریبار انڈیکس کو ڈیٹا کے طور پر استعمال کیا جاتا ہے ، اور مخصوص مرکزی معاہدہ آرڈر دینے کے لئے استعمال کیا جاتا ہے۔GetRecordsریبر انڈیکس کے K لائن کے اعداد و شمار حاصل کرنے کے لئے تقریب. یہ انحراف کی شرح کا حساب کرنے کے لئے ایک مخصوص مدت لیتا ہے کے بعد سے، پروگرام کی غلطیوں سے بچنے کے لئے، اگر کافی K لائنز نہیں ہیں، استعمالifفلٹر کرنے کے لئے بیانات.

مرحلہ 4: انحراف کی شرح کا حساب لگائیں

close = bars_arr[-2]['Close'] # Get the closing price of the previous K line
ma1 = TA.MA(bars_arr, short)[-2] # Calculate the short-term moving average value of the previous K line
bias1 = (close-ma1) / ma1 * 100 # Calculate the short-term deviation rate value
ma2 = TA.MA(bars_arr, long)[-2] # Calculate the long-term average of the previous K line
bias2 = (close-ma2) / ma2 * 100 # Calculate the long-term deviation rate value

انحراف کی شرح کے حساب کتاب کے فارمولے کے مطابق ، ہم سب سے پہلے اختتامی قیمت حاصل کرتے ہیں۔ اس حکمت عملی میں ، ہم پچھلی K لائن اختتامی قیمت کا استعمال کرتے ہیں ، جس کا مطلب ہے کہ موجودہ K لائن سگنل قائم ہے اور اگلی K لائن آرڈر دینے کے لئے ہے۔ پھر FMZ بلٹ ان کا استعمال کریںtalibچلتی اوسط کا حساب لگانے کے لئے لائبریری۔ مثال کے طور پر چلتی اوسط ہے:TA.MAیہ فنکشن 2 پیرامیٹرز وصول کرتا ہے، یعنی: K لائن صف اور چلتی اوسط مدت.

مرحلہ 5: آرڈر دینا

global mp # global variables
current_price = bars_arr[-1]['Close'] # latest price
if mp> 0: # If you are holding long positions
    if bias2 <= bias1: # If the long-term deviation rate is less than or equal to the short-term deviation rate
        exchange.SetDirection("closebuy") # Set the trading direction and type
        exchange.Sell(current_price-1, 1) # Closing long positions
        mp = 0 # reset virtual holding positions
if mp <0: # If you are holding short positions
    if bias2 >= bias1: # If the long-term deviation rate is greater than or equal to the short-term deviation rate
        exchange.SetDirection("closesell") # Set the trading direction and type
        exchange.Buy(current_price + 1, 1) # closing short positions
        mp = 0 # reset virtual holding positions
if mp == 0: # If there is no holding position
    if bias2> bias1: # Long-term deviation rate is greater than short-term deviation rate
        exchange.SetDirection("buy") # Set the trading direction and type
        exchange.Buy(current_price + 1, 1) # open long positions
        mp = 1 # reset virtual holding position
    if bias2 <bias1: # The long-term deviation rate is less than the short-term deviation rate
        exchange.SetDirection("sell") # Set the trading direction and type
        exchange.Sell(current_price-1, 1) # open short positions
        mp = -1 # reset virtual holding position

مکمل حکمت عملی

# Backtest configuration
'''backtest
start: 2018-01-01 00:00:00
end: 2020-01-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
'''

# External parameters
short = 10
long = 50


# Global variables
mp = 0


# Strategy main function
def onTick():
    # retrieve data
    exchange.SetContractType('rb000') # Subscribe to futures varieties
    bars_arr = exchange.GetRecords() # Get K-line array
    if len(bars_arr) <long + 1: # If the number of K lines is too small
        return

    # Calculate BIAS
    close = bars_arr[-2]['Close'] # Get the closing price of the previous K line
    ma1 = TA.MA(bars_arr, short)[-2] # Calculate the short-term moving average of the previous K line
    bias1 = (close-ma1) / ma1 * 100 # Calculate the short-term deviation rate value
    ma2 = TA.MA(bars_arr, long)[-2] # Calculate the long-term average of the previous K line
    bias2 = (close-ma2) / ma2 * 100 # Calculate the long-term deviation rate value

    # Placing Orders
    global mp # global variables
    current_price = bars_arr[-1]['Close'] # latest price
    if mp> 0: # If you are holding long positions
        if bias2 <= bias1: # If the long-term deviation rate is less than or equal to the short-term deviation rate
            exchange.SetDirection("closebuy") # Set the trading direction and type
            exchange.Sell(current_price-1, 1) # closing long positions
            mp = 0 # reset virtual holding position
    if mp <0: # If you are holding short positions
        if bias2 >= bias1: # If the long-term deviation rate is greater than or equal to the short-term deviation rate
            exchange.SetDirection("closesell") # Set the trading direction and type
            exchange.Buy(current_price + 1, 1) # closing short positions
            mp = 0 # reset virtual holding position
    if mp == 0: # If there is no holding position
        if bias2> bias1: # Long-term deviation rate is greater than short-term deviation rate
            exchange.SetDirection("buy") # Set the trading direction and type
            exchange.Buy(current_price + 1, 1) # opening long positions
            mp = 1 # reset virtual holding position
        if bias2 <bias1: # The long-term deviation rate is less than the short-term deviation rate
            exchange.SetDirection("sell") # Set the trading direction and type
            exchange.Sell(current_price-1, 1) # open short positions
            mp = -1 # reset virtual holding position
        

# Program entry function
def main():
    while True: # loop
        onTick() # execution strategy main function
        Sleep(1000) # sleep for 1 second

مکمل حکمت عملی FMZ کی ویب سائٹ پر شائع کی گئی ہے:https://www.fmz.com/strategy/215129

حکمت عملی کا بیک ٹسٹ

بیک ٹیسٹ کی ترتیب

img

کارکردگی کی رپورٹ

img img

فنڈ وکر

img

خلاصہ

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


متعلقہ

مزید