4.4 پائتھون زبان میں حکمت عملیوں کو کیسے لاگو کیا جائے

مصنف:نیکی, تخلیق: 2019-04-28 16:51:22, تازہ کاری:

خلاصہ

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

حکمت عملی کا تعارف

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

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

توڑنے والی تجارتی حکمت عملی تجارتی اقسام کے نسبتا smooth ہموار رجحان کے مطابق ہے۔ توڑنے کا سب سے عام طریقہ یہ ہے کہ مخصوص تجارتی پوزیشن کا تعین کرنے کے لئے قیمت کی حمایت اور مزاحمت کے مابین نسبتا positional پوزیشن تعلقات کا استعمال کریں۔ اس حصے میں ڈونچیئن چینل کی حکمت عملی بھی اس اصول پر مبنی ہے۔

ڈونچیئن چینل کی حکمت عملی کے قواعد

ڈونچیئن چینل ایک رجحان پر مبنی اشارے ہے ، اور اس کی ظاہری شکل اور سگنل بولنگر بینڈ اشارے سے کچھ حد تک ملتے جلتے ہیں۔ تاہم ، اس کی قیمت کا چینل ایک خاص مدت میں سب سے زیادہ اور کم قیمتوں کے مطابق بنایا گیا ہے۔ مثال کے طور پر: اوپری ریل کا حساب تازہ ترین 50 کلو لائن کی سب سے زیادہ قیمت سے کیا جاتا ہے؛ نچلی ریل کا حساب تازہ ترین 50 کلو لائن کی سب سے کم قیمت سے کیا جاتا ہے۔

img

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

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

ڈونچیان چینل حساب کتاب کا طریقہ

FMZ کوانٹ پلیٹ فارم پر، Donchian چینل حساب آسان ہے، آپ صرف دیئے گئے سائیکل میں سب سے زیادہ یا سب سے کم قیمت تک رسائی حاصل کر سکتے ہیں، ذیل میں دکھایا گیا ہے کے طور پر: 5th لائن 50 سائیکلوں کی سب سے زیادہ قیمت حاصل کرنے کے لئے ہے، 6th لائن 50 سائیکلوں کی سب سے کم قیمت حاصل کرنے کے لئے ہے.

def main(): # program entry
    exchange.SetContractType("this_week") # set the variety type by using the weekly k-line 
    while True: # enter the loop
        records = exchange.GetRecords() # get the k line array
        upper = TA.Highest(record, 50, 'high') # get the highest price of 50 cycles
        lower = TA.Lowest(record, 50, 'low') # get the lowest price of 50 cycles
        middle = (upper + lower) / 2 # calculate the average value of upper and lower rails 
        Log("upper rail: ", upper) # print the upper rail value in the log
        Log("lower rail: ", lower) # print the lower rail value in the log
        Log("middle rail: ", middle) # print the middle rail value in the log

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

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

img

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

تجارتی حالات

  • کھلی لمبی پوزیشن: اگر کوئی پوزیشن ہولڈنگ نہیں ہے، اور بند ہونے کی قیمت اوپری ریل سے زیادہ ہے

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

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

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

حکمت عملی کوڈ کا نفاذ

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

اگلا ان اعداد و شمار کی بنیاد پر ٹریڈنگ منطق کا حساب لگانا ہے۔ آخری مرحلہ منطق کے مطابق تجارت کرنا ہے۔ مندرجہ ذیل اقدامات:

مرحلہ 1: ٹریڈنگ کلاس لائبریری کا استعمال

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

def main();
    wile true:
        obj = ext.NewPositionManager() # using the trading class library
        # followed by strategy logic and placing order part

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

مرحلہ 2: ہر قسم کے ڈیٹا حاصل کریں

اس کے بارے میں سوچو، ہمیں کس قسم کے اعداد و شمار کی ضرورت ہے؟ ہماری حکمت عملی ٹریڈنگ منطق سے، ہمیں پہلے موجودہ پوزیشن کی حیثیت حاصل کرنے کی ضرورت ہے، اور پھر بندش کی قیمت کا موازنہ بولنگر بینڈ اشارے کے اوپری، درمیانی اور نچلے ریلوں کے ساتھ کریں.

  • K لائن ڈیٹا حاصل کریں

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

def main(): # main function
    exchange.SetContractType("this_week") # set the variety type by using the weekly k-line 
    while True: # enter the loop
        records = exchange.GetRecords() # get the k line array
        if len(records) < 50: continue # if the number of K line is less than 50, skip this loop.
        close = records[len(records) - 1].Close # get the closing price of the latest k-line

جیسا کہ اوپر دکھایا گیا ہے:

لائن 4: K لائن صف حاصل کریں، جو ایک مقررہ شکل ہے.

لائن 5: K لائن کی لمبائی کو فلٹر کریں ، کیونکہ ڈونچیئن چینل اشارے کا حساب لگانے کا پیرامیٹر 50 ہے ، جب K لائن کی تعداد 50 سے کم ہے تو اس کا حساب لگانا ناممکن ہے۔ لہذا یہاں ہمیں K لائن کی تعداد کو فلٹر کرنے کی ضرورت ہے۔ اگر K لائن کی تعداد 50 سے کم ہے تو ، یہ موجودہ لوپ کو چھوڑ دے گا اور اگلی K لائن کا انتظار کرتا رہے گا۔

لائن 6: ہم کوڈ " ریکارڈز [ لین (ریکارڈز) - 1] " کا استعمال کرتے ہیں تاکہ K- لائن صف کے آخری اعداد و شمار کو حاصل کیا جاسکے ، جو کہ تازہ ترین K- لائن ڈیٹا ہے۔ یہ ڈیٹا ایک اعتراض ہے ، جس میں شامل ہیں: افتتاحی قیمت ، سب سے زیادہ ، سب سے کم اور اختتامی قیمت ، نیز تجارتی حجم ، وقت اور دیگر اعداد و شمار ، کیونکہ یہ ایک اعتراض ہے ، لہذا ہم صرف استعمال کرتے ہیں .Close K- لائن کی تازہ ترین اختتامی قیمت حاصل کرنے کے لئے۔

  • پوزیشن ڈیٹا حاصل کریں

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

# get the position information function
def mp():
    positions = exchange.GetPosition() # get the holding position array
    if len(position) == 0: # if the holding position array is 0
        return 0 # meaning currently has no position holding, return 0
    for i in range(len(position)): # Traversing the position array
        if (position[i]['Type'] == PD_LONG): 
            return 1 # if there are long position holding, return 1
        elif (position[i]['Type'] == PD_SHORT):
            return -1 # if there are short position holding, return -1
        
def main(): # main function
    exchange.SetContractType("this_week") # set the variety type by using the weekly k-line
    while True: # enter the loop
        records = exchange.GetRecords() # get the k line array
        if len(records) < 50: continue # if the number of K line is less than 50, skip this loop.
        close = records[len(records) - 1].Close # get the closing price of the latest k-line
        position = mp() # get the position information function

جیسا کہ اوپر دکھایا گیا ہے:

یہ ایک فنکشن ہے جو پوزیشن کی معلومات حاصل کرتا ہے۔ اگر لمبی پوزیشن ہے تو ، قدر 1 ہے۔ اگر مختصر پوزیشن ہے تو ، قدر -1 ہے۔ اگر کوئی پوزیشن نہیں ہے تو ، قدر 0 ہے۔

لائن 2: mp نام کے ساتھ ایک فنکشن بنائیں۔ اس فنکشن کے پاس کوئی پیرامیٹرز نہیں ہیں۔

لائن 3: پوزیشن صف حاصل کریں، جو ایک مقررہ شکل ہے.

لائن 4: پوزیشن صف کی لمبائی کا تعین کریں. اگر اس کی لمبائی 0 کے برابر ہے تو اس کا مطلب یہ ہے کہ اس کی کوئی پوزیشن ہولڈنگ نہیں ہے، 0 لوٹاتا ہے.

لائن 6: کے لئے لوپ کا استعمال کرتے ہوئے، اس صف کو پار کرنے کے لئے شروع، مندرجہ ذیل منطق بہت آسان ہے، اگر یہ طویل پوزیشن رکھتا ہے، 1 واپس آتا ہے؛ اگر یہ مختصر پوزیشن رکھتا ہے، -1 واپس آتا ہے.

لائن 18: پوزیشن انفارمیشن فنکشن mp کو کال کریں۔

  • حالیہ 50 K لائنوں کی سب سے زیادہ اور سب سے کم قیمت حاصل کریں

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

# get the position information function
def mp():
    positions = exchange.GetPosition() # get the holding position array
    if len(position) == 0: # if the holding position array is 0
        return 0 # meaning currently has no position holding, return 0
    for i in range(len(position)): # Traversing the position array
        if (position[i]['Type'] == PD_LONG): 
            return 1 # if there are long position holding, return 1
        elif (position[i]['Type'] == PD_SHORT):
            return -1 # if there are short position holding, return -1
        
def main(): # main function
    exchange.SetContractType("this_week") # set the variety type by using the weekly k-line
    while True: # enter the loop
        records = exchange.GetRecords() # get the k line array
        if len(records) < 50: continue # if the number of K line is less than 50, skip this loop.
        close = records[len(records) - 1].Close # get the closing price of the latest k-line
        position = mp() # get the position information function
        upper = TA.Highest(record, 50, 'High') # get the highest price of 50 cycles
        lower = TA.Lowest(record, 50, 'Low') # get the lowest price of 50 cycles
        middle = (upper + lower) / 2 # calculate the average value of the upper and lower rail

جیسا کہ اوپر دکھایا گیا ہے:

لائن 19: 50 سائیکلوں کی سب سے زیادہ قیمت حاصل کرنے کے لئے TA.Highest فنکشن کو کال کریں

لائن 20: 50 سائیکلوں کی کم قیمت حاصل کرنے کے لئے TA.Lowest فنکشن کو کال کریں

لائن 21: 50 سائیکلوں کی سب سے زیادہ اور سب سے کم قیمت کے مطابق اوپری اور نچلے ریل کی اوسط قیمت کا حساب لگائیں

مرحلہ 3: آرڈر اور تجارت کرنا

مندرجہ بالا اعداد و شمار کے ساتھ ، ہم اب تجارتی منطق اور آرڈر دینے کا حصہ لکھ سکتے ہیں۔ یہ بھی بہت آسان ہے ، سب سے زیادہ عام طور پر استعمال ہونے والا if بیان ہے ، جسے اس طرح بیان کیا جاسکتا ہے: اگر شرط 1 اور شرط 2 درست ہیں تو آرڈر دیں۔ اگر شرط 3 یا شرط 4 درست ہیں تو آرڈر دیں۔ جیسا کہ ذیل میں دکھایا گیا ہے:

# get the position information function
def mp():
    positions = exchange.GetPosition() # get the holding position array
    if len(position) == 0: # if the holding position array is 0
        return 0 # meaning currently has no position holding, return 0
    for i in range(len(position)): # Traversing the position array
        if (position[i]['Type'] == PD_LONG): 
            return 1 # if there are long position holding, return 1
        elif (position[i]['Type'] == PD_SHORT):
            return -1 # if there are short position holding, return -1
        
def main(): # main function
    exchange.SetContractType("this_week") # set the variety type by using the weekly k-line
    while True: # enter the loop
        records = exchange.GetRecords() # get the k line array
        if len(records) < 50: continue # if the number of K line is less than 50, skip this loop.
        close = records[len(records) - 1].Close # get the closing price of the latest k-line
        position = mp() # get the position information function
        upper = TA.Highest(record, 50, 'High') # get the highest price of 50 cycles
        lower = TA.Lowest(record, 50, 'Low') # get the lowest price of 50 cycles
        middle = (upper + lower) / 2 # calculate the average value of the upper and lower rail
        obj = ext.NewPositionManager() # using the trading class library
        if position > 0 and close < middle: # If currently holding long position, and the closing price is less than the middle rail
            obj.CoverAll() # close all position
        if position < 0 and close > middle: # If currently holding short position, and the closing price is greater than the middle rail
            obj.CoverAll() # close all position
        if position == 0: # if currently holding no position
            if close > upper: # if the closing price is greater than the middle rail
                obj.OpenLong("this_week", 1) # open long position
            elif close < lower: # if the closing price is less than the middle rail
                obj.OpenShort("this_week", 1) # open short position

جیسا کہ اوپر دکھایا گیا ہے:

لائن 22: ٹریڈنگ کلاس لائبریری کا استعمال کرتے ہوئے، یہ ایک مقررہ شکل ہے

لائنیں 23، 24: یہ ایک بند ہونے والی طویل پوزیشن بیان ہے جو ہم نے پہلے سیکھا ہے کہ موازنہ آپریٹرز اور منطقی آپریٹرز کا استعمال کرتا ہے، جس کا مطلب یہ ہے کہ اگر موجودہ ہولڈنگ طویل پوزیشن ہے، اور بند ہونے کی قیمت درمیانی ریل سے کم ہے، تمام پوزیشنوں کو بند کریں.

لائنیں 25، 26: یہ ایک بند ہونے والی مختصر پوزیشن کا بیان ہے جو ہم نے پہلے سیکھا ہے کہ موازنہ آپریٹرز اور منطقی آپریٹرز کا استعمال کرتا ہے، جس کا مطلب یہ ہے کہ اگر موجودہ آرڈر مختصر پوزیشن ہے اور بند ہونے کی قیمت وسط ریل سے زیادہ ہے، تمام پوزیشنوں کو بند کریں.

لائن 27: موجودہ پوزیشن کی حیثیت کا تعین کریں۔ اگر پوزیشن ہولڈنگ نہیں ہے تو ، اگلے مرحلے پر جائیں۔

لکیریں 28، 29: اس بات کا تعین کریں کہ کیا بندش کی قیمت اوپری ریل سے زیادہ ہے۔ اگر بندش کی قیمت اوپری ریل سے اوپر بڑھتی ہے تو ، طویل پوزیشن کھولیں۔

لائنیں 30، 31: اس بات کا تعین کریں کہ کیا بندش کی قیمت نیچے کی ریل سے کم ہے۔ اگر بندش کی قیمت نیچے کی ریل سے کم ہو جائے تو مختصر پوزیشن کھولیں۔

خلاصہ

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

اگلے سیکشن کا نوٹس

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

اسکول کے بعد کی مشقیں

  1. بنیادی سے شروع کریں اور اس سیکشن کی حکمت عملی کو نافذ کریں۔

  2. اس سیکشن میں تجارتی تعدد کو کم کرنے کے لئے حکمت عملی میں ایک چلتی اوسط اشارے کو شامل کرنے کی کوشش کریں.


مزید