ابتدائیوں کے لئے کریپٹوکرنسی مقداری تجارت - آپ کو کریپٹوکرنسی مقداری کے قریب لے جانا (2)

مصنف:لیدیہ, تخلیق: 2022-07-27 16:34:41, تازہ کاری: 2023-09-24 19:31:16

img

ابتدائیوں کے لئے کریپٹوکرنسی مقداری تجارت - آپ کو کریپٹوکرنسی مقداری کے قریب لے جانا (2)

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

پروگرامٹک ٹریڈنگ اسکرپٹ

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

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

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

    • ایک قسم کی حکمت عملی یعنی یہ حکمت عملی صرف ایک ہی قسم کا کام کرتی ہے، جیسے بی ٹی سی ٹریڈنگ یا ای ٹی ایچ ٹریڈنگ۔
    • کثیر اقسام کی حکمت عملی سادہ الفاظ میں، یہ ایک اسٹریٹجک منطق کے مطابق کئی پرجاتیوں کو چلانے کے لئے ہے.
    • کثیر اکاؤنٹس کی حکمت عملی سادہ الفاظ میں ، ایک حقیقی بوٹ پر متعدد ایکسچینج آبجیکٹ تشکیل دیئے جاتے ہیں (ایک ایکسچینج کا تصور پچھلے مضمون میں متعارف کرایا گیا ہے ، اور ایک API KEY تشکیل شدہ ایکسچینج آبجیکٹ ایک ایکسچینج اکاؤنٹ کی نمائندگی کرتا ہے۔ مثال کے طور پر ، کچھ فالو آرڈر حکمت عملیوں کے ل multiple ، متعدد اکاؤنٹس ایک ساتھ آپریشن کی پیروی کرتے ہیں (یہ ایک ہی ایکسچینج یا مختلف ایکسچینجز ہوسکتے ہیں۔ مختصرا ، متعدد ایکسچینج آبجیکٹ (اکاؤنٹس) کو ایک حقیقی بوٹ پر منظم کیا جاتا ہے۔
    • متعدد منطق کی حکمت عملی مثال کے طور پر، MACD حکمت عملی، چلتی اوسط حکمت عملی، گرڈ کی حکمت عملی وغیرہ ایک حقیقی بوٹ میں ایک ہی وقت میں ڈیزائن کیا جاتا ہے (یقینا، یہ مختلف تبادلے کے اشیاء کو چلانے کے لئے ہے، اور ایک ہی تبادلے کے اعتراض کا آپریشن اس بات پر منحصر ہے کہ مخصوص حکمت عملی منطقی طور پر متصادم ہے یا نہیں)
  • Exchange API انٹرفیس پروگرامٹک ٹریڈنگ اسکرپٹ ایکسچینج اکاؤنٹ کو کس طرح چلاتا ہے؟ یہ ایکسچینج کے ذریعہ کھولی گئی API انٹرفیس کے ذریعے ہے۔ تو کس قسم کے انٹرفیس تبادلے کے لئے کھلے ہیں؟ پچھلے مضمون میں ، ہم نے تبادلہ کے بارے میں بات کی ہے REST اور ویب ساکٹ انٹرفیس عام طور پر ایکسچینج سیکشن میں۔ یہاں ہم حکمت عملی کے طریقہ کار کی سطح سے کچھ تصورات شامل کرتے ہیں۔ تبادلے کے انٹرفیس کو تقسیم کیا جاتا ہے کہ آیا وہ درست ہیں یا نہیں (ریسٹ اور ویب ساکٹ دونوں) ، توثیق اور غیر توثیق موجود ہے۔

    • انٹرفیس جن کی تصدیق کی ضرورت نہیں ہے عام طور پر عوامی انٹرفیس کے نام سے جانا جاتا ہے، اس قسم کے انٹرفیس کو تصدیق کی ضرورت نہیں ہےAPI KEY(اگر آپ بھول گئے ہیں کہ API KEY کیا ہے تو ، آپ پچھلے مضمون کی طرف رجوع کرسکتے ہیں۔) اس قسم کا انٹرفیس عام طور پر مارکیٹ انٹرفیس ہوتا ہے ، جیسے گہرائی میں مارکیٹ کی قیمتوں سے استفسار کرنا ، K- لائن ڈیٹا سے استفسار کرنا ، فنڈنگ کی شرحوں سے استفسار کرنا ، تجارتی اقسام کے بارے میں معلومات سے استفسار کرنا ، ایکسچینج سرور ٹائم اسٹیمپ وغیرہ سے استفسار کرنا۔ سادہ الفاظ میں، انٹرفیس آپ کے اکاؤنٹ سے متعلق نہیں ہے کہ تقریبا ایک عوامی انٹرفیس کے طور پر مقرر کیا جا سکتا ہے (کوئی تصدیق کی ضرورت ہے)
      ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر ، جب غیر تصدیق شدہ API فنکشن کو کال کیا جاتا ہے (ایکسچینج کے غیر تصدیق شدہ انٹرفیس ، عوامی انٹرفیس کو احاطہ کرتا ہے) ، یہاں تک کہ اگر API KEY ترتیب غلط ہے تو ، انٹرفیس کے ذریعہ واپس آنے والے ڈیٹا کو عام طور پر حاصل کیا جاسکتا ہے (غیر تصدیق کی وجہ سے) ۔

    • انٹرفیس جن کی تصدیق کی ضرورت ہے آسان الفاظ میں ، یہ انٹرفیس ہے جس کی تصدیق کی ضرورت ہے (API KEY کے ذریعے) ، اس قسم کے انٹرفیس کو نجی انٹرفیس کہا جاتا ہے۔ یہ عام طور پر آپ کے اکاؤنٹ کے کچھ آپریشنز یا معلومات سے متعلق ہوتا ہے ، جیسے اکاؤنٹ کے اثاثوں سے استفسار کرنا ، اکاؤنٹ کی پوزیشنوں سے استفسار کرنا ، زیر التواء آرڈرز سے استفسار کرنا ، منتقلی سے استفسار کرنا ، کرنسی کی منتقلی ، بیعانہ کو ایڈجسٹ کرنا ، پوزیشن موڈ ترتیب دینا ، وغیرہ۔ ان تمام کارروائیوں کی تصدیق ہونی چاہیے۔ ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر ، جب API فنکشن کو کال کرتے ہیں جس کی تصدیق کی ضرورت ہے (انٹرفیس جو انکیپسولڈ ایکسچینج کے لئے تصدیق کی ضرورت ہے ، نجی انٹرفیس) ، اگر API KEY کو غلط طریقے سے تشکیل دیا گیا ہے تو ، جب انٹرفیس کو بلایا جاتا ہے تو ایک غلطی کی اطلاع دی جائے گی ، اور ایک null قدر واپس کردی جائے گی۔

    تو FMZ کوانٹ ٹریڈنگ پلیٹ فارم پر ان انٹرفیس کو کس طرح استعمال کیا جاتا ہے؟

    ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم تبادلہ رویے اور مستقل تعریفوں کے ساتھ انٹرفیس کو احاطہ کرتا ہے (جیسے کے لائن انٹرفیس ، گہرائی سے مارکیٹ انٹرفیس ، موجودہ اثاثہ استفسار انٹرفیس ، آرڈر انٹرفیس ، آرڈر منسوخی انٹرفیس وغیرہ) ، ان انٹرفیس کو ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم API افعال کہا جاتا ہے ، اور اس تک رسائی حاصل کی جاسکتی ہے API دستاویزات (https://www.fmz.com/api).

    تو FMZ کوانٹ ٹریڈنگ پلیٹ فارم پر مختلف رویوں اور تعریفوں کے ساتھ تبادلہ انٹرفیس میں سے کچھ کس طرح استعمال ہوتے ہیں؟

    ان تبادلے کے انٹرفیس میں شامل ہیں: اثاثوں کی منتقلی ، مشروط آرڈر ، بیچ آرڈر کی جگہ ، بیچ آرڈر منسوخی ، آرڈر میں ترمیم وغیرہ۔ کچھ تبادلے میں یہ انٹرفیس موجود ہیں ، کچھ نہیں ہیں ، اور ان کے افعال اور استعمال کی تفصیلات کافی مختلف ہوسکتی ہیں ، لہذا ان انٹرفیس تک رسائی حاصل کی جاسکتی ہےexchange.IOایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر فنکشن (تفصیلات کے لئے، براہ کرم ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم API دستاویزات دیکھیں:https://www.fmz.com/api#exchange.io..ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کی حکمت عملی مربع پر کچھ عملی آئی او مثال کی حکمت عملی بھی موجود ہیں۔

    کیا FMZ Quant Trading Platform API دستاویز پر تمام API افعال نیٹ ورک کی درخواستیں پیدا کرتے ہیں؟

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

    • آئیے FMZ کوانٹ ٹریڈنگ پلیٹ فارم پر API افعال استعمال کرتے وقت کچھ عام مسائل اور تجربات کے بارے میں بات کرتے ہیں

      • غلطی کی رواداری یہ سب سے عام غلطی ہے ، جس نے بے شمار ابتدائیوں کو پریشان کیا ہے۔ حکمت عملی کے بیک ٹیسٹنگ کا ہر چیز اکثر معمول کی بات ہوتی ہے ، اصلی بوٹ تھوڑی دیر کے لئے کیوں چلتا ہے (کسی بھی وقت متحرک ہوسکتا ہے) اور پھر ناکام ہوجاتا ہے؟

        img

        حکمت عملی لکھتے وقت ، ہم سب کو انٹرفیس کے ذریعہ واپس آنے والے اعداد و شمار کا فیصلہ کرنے اور ان کی تصدیق کرنے کی ضرورت ہے۔ مثال کے طور پر ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر حاصل کرنے کے لئے مارکیٹ کی قیمت کا کوڈ (اپنے آپ کو براہ راست ایکسچینج انٹرفیس تک رسائی حاصل کرنے کے لئے پروگرام لکھنے کے برابر):var ticker = exchange. GetTicker()، اگر ہمیں استعمال کرنے کی ضرورت ہےLast(آخری قیمت) کے اعداد و شمارtickerمتغیر (فنکشن GetTicker کی طرف سے واپس کی ساخت کا حوالہ دیتے ہیں) ، ہم استعمال کرنے کی ضرورت ہےvar newPrice = ticker.Lastاس طرح کے اعداد و شمار حاصل کرنے کے لئے (کیا ہے newPrice؟ نیا: تازہ ترین، قیمت: قیمت، جی ہاں!GetTicker()تقریب معمول کے اعداد و شمار پر واپس آتا ہے، یہ ٹھیک ہے، لیکن ایک درخواست ٹائم آؤٹ، نیٹ ورک کی خرابی ہے تو، تبادلہ نیٹ ورک کیبل ھیںچتا ہے، کیبل کاٹ دیا جاتا ہے، بچے بجلی کے سوئچ ھیںچتا ہے، وغیرہ... یہ وجہ سے ہو گاGetTicker()واپس کرنے کے لئے تقریبnullاس وقت، کی قدرtickerہےnull، اور اگر میں اس تک رسائی حاصل کرنے کے لئے جاناLast، ایک پروگرام استثناء واقع ہو جائے گا اور حکمت عملی کے پروگرام کو روک دیا جائے گا. ایسا لگتا ہے کہ انٹرفیس کال کی ناکامی (GetTicker کال ناکام ہو جاتا ہے اور null لوٹاتا ہے) کی حکمت عملی کی روک تھام کی براہ راست وجہ نہیں ہے s حقیقی بوٹ (براہ راست وجہ یہ ہے کہ ایک وصف ہےnullمتغیر تک رسائی حاصل کی جاتی ہے). انٹرفیس کال کی ناکامی کی غلطی کی رپورٹ حقیقی بوٹ سٹاپ کا سبب نہیں بنے گی (توجہ). تو ہم حقیقی روبوٹ کے غیر معمولی سٹاپ سے بچنے کے لئے کیا کر سکتے ہیں؟ جواب انٹرفیس کی طرف سے واپس آئے اعداد و شمار پر غلطی برداشت پروسیسنگ انجام دینے کے لئے ہے. یہ بہت آسان ہے، صرف فیصلہ کیا ہے کہ آیا واپس آئے اعداد و شمار ہےnull(جاوا اسکرپٹ زبان کی ایک مثال، دیگر زبانوں عام طور پر ایک ہی ہیں) وضاحت کے لئے ایک مختصر کوڈ سیگمنٹ لکھیں (یہ صرف ایک وضاحت ہے، آپ اسے براہ راست نہیں چلا سکتے ہیں!)

        var ticker = exchange.GetTicker()
        if (ticker) {
            var newPrice = ticker.Last
            Log("Print the latest price:", newPrice)
        } else {
            // The data is null, there will be no problem if no operation is performed
        }
        

        نہ صرفGetTickerانٹرفیس کو غلطی برداشت کرنے کی ضرورت ہے، لیکن نیٹ ورک کی درخواستوں کے ساتھ انٹرفیس کو واپسی کی قیمت کے لئے غلطی برداشت کرنے کی ضرورت ہے (اگر آپ فنکشن کی واپسی کی قیمت استعمال کرتے ہیں) بہت سے غلطی برداشت کے طریقوں ہیں، آپ کو استعمال کر سکتے ہیں_C()تقریب (FMZ API دستاویزات کا حوالہ دیتے ہیں) غلطی برداشت کرنے والی تقریب لکھنے اور غلطی برداشت کرنے والے میکانزم اور منطق کو خود سے ڈیزائن کرنے کے لئے۔ کے استعمال کے بارے میں_C()اس کا استعمال غلط طریقے سے کیا جاتا ہے۔ نوٹ کریں کہ اس کے پیرامیٹر میں_C()فنکشن ایک فنکشن ریفرنس ہے، فنکشن کال نہیں._C(funcName, param1, param2)، کال درست ہے، funcName کراسٹس کے بغیر ہے، اور param1 اور param2 فنکشن funcName کو منتقل کرنے والے پیرامیٹرز ہیں۔_C(funcName(param1, param2))، کال غلط ہے، عام طور پر ابتدائیوں کی طرف سے لکھا جاتا ہے جو FMZ API دستاویزات کو سنجیدگی سے نہیں پڑھتے ہیں.

      • اسپاٹ مارکیٹ میں خریدنے کے آرڈر کی مقدار اسپاٹ مارکیٹ آرڈر خریدنے کے آرڈر کی آرڈر کی مقدار بھی ابتدائیوں کی طرف سے غلطیاں کرنے کے لئے آسان ہے، جیسا کہ پچھلے مضمون میں ذکر کیا گیا ہے، اسپاٹ مارکیٹ آرڈر خریدنے کے آرڈر کی آرڈر کی مقدار عام طور پر رقم ہے (بہت کم تبادلے دیگر ترتیبات ہوسکتی ہے، عام طور پر، FMZ پر یہ خصوصی تبادلے کی ترتیبات FMZ API دستاویز میں وضاحت کی جائے گی) ، مثال کے طور پر میں ٹیسٹ کرنے کے لئے OKEX V5 ڈیمو استعمال کرتا ہوں: ٹریڈنگ جوڑی اس طرح مقرر کی گئی ہے:LTC_USDT

        function main() {
            exchange.IO("simulate", true)   // Switch to the demo of OKEX exchange
            exchange.Buy(-1, 1)             // The price is -1, indicating that the order placed is a market order, and the quantity is 1, indicating that the order amount is 1USDT
        }
        

        چونکہ ایکسچینجز میں عام طور پر آرڈر کی رقم کی حد ہوتی ہے ، لہذا اس حد سے کم کے آرڈر نہیں دیئے جائیں گے (مثال کے طور پر ، بائننس اسپاٹ کو کامیابی کے ساتھ رکھنے سے پہلے ہر آرڈر کے لئے 5USDT سے زیادہ کی ضرورت ہوتی ہے) ۔ لہذا ، اگر آپ اس طرح کا آرڈر دیتے ہیں تو یہ غلطی کی اطلاع دے گا:

        Error	Buy(-1, 1): map[code:1 data:[map[clOrdId: ordId: sCode:51020 sMsg:Order amount should be greater than the min available amount. tag:]] msg:]
        
      • مستقبل کے احکامات کی جگہ میں سمت فیوچر کی حکمت عملی بنانے کے دوران ، آرڈر دینے کی سمت اکثر ابتدائیوں کے ذریعہ غلطیاں ہوتی ہیں ، جس سے مسائل پیدا ہوتے ہیں۔ مثال کے طور پر ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر حکمت عملی لکھنا۔ آئیے سب سے پہلے API دستاویزات پر وضاحت پر نظر ڈالیں:https://www.fmz.com/api#exchange.setdirection...

        img

        کے طور پر حکم کی تقریب صرف ہےBuy, Sellتاہم ، فیوچر (یقینی طور پر ، اسپاٹ کے ساتھ کوئی مسئلہ نہیں ہے ، اسپاٹ صرف خریدا اور فروخت کیا جاتا ہے) میں لانگ کھولنے ، لانگ بند کرنے ، شارٹ کھولنے اور شارٹ بند کرنے کی سمتیں ہیں ، لہذا یہ واضح ہے کہ خرید / فروخت اتنی زیادہ سمتوں میں کارروائیوں کا اظہار نہیں کرسکتی ہے۔ اس وقت فنکشن متعارف کرانا ضروری ہےexchange.SetDirection()، جو فیوچر ٹریڈنگ کی سمت طے کرتا ہے۔ FMZ پر،exchange.SetDirection("buy")(سب سے پہلے سمت مقرر) کے ساتھ مل کر استعمال کیا جاتا ہےexchange.Buy، اس کا مطلب یہ ہے کہ جو آرڈر دیا گیا ہے وہ ایک طویل پوزیشن کھولنے کا آرڈر ہے۔ اور اسی طرح:exchange.SetDirection("sell")کے ساتھ مل کر استعمال کیا جاتا ہےexchange.Sell، اس کا مطلب یہ ہے کہ جو آرڈر دیا گیا ہے وہ ایک مختصر پوزیشن کھولنے کا آرڈر ہے۔exchange.SetDirection("closebuy")کے ساتھ مل کر استعمال کیا جاتا ہےexchange.Sell، اس کا مطلب یہ ہے کہ جو آرڈر دیا گیا ہے وہ ایک طویل پوزیشن بند کرنے کا آرڈر ہے۔exchange.SetDirection("closesell")کے ساتھ مل کر استعمال کیا جاتا ہےexchange.Buy، اس کا مطلب یہ ہے کہ جو آرڈر دیا گیا ہے وہ ایک مختصر پوزیشن بند کرنے کا آرڈر ہے۔ beginners عام طور پر استعمال کرتے ہیںexchange.SetDirection("sell")کے ساتھ مل کرexchange.Buy، یا دیگر غلط مجموعے۔ پھر ایک غلطی کی اطلاع دی جاتی ہے (بیک ٹیسٹنگ غلطی کی اطلاع نہیں دے سکتی ہے ، لیکن یہ ظاہر ہے کہ منطقی غلطی ہے ، جنونی مجبوری خرابی کو برداشت نہیں کیا جاسکتا ہے...). ابتدائیوں کی ایک اور عام غلطی

        function main() {
            exchange.SetContractType("quarter")   // Set the current contract as a quarterly contract
            exchange.SetDirection("sell")
            var id = exchange.Sell(-1, 1)    
            Log("See my market order is placed and the transaction is completed, there is a position", exchange.GetPosition())    
            exchange.SetDirection("closebuy")   // closebuy is used in conjunction with Sell, yes~
            exchange.Sell(-1, 1)
        }
        

        img
        یہاں آپ پوچھ سکتے ہیں: میں نے ایک پوزیشن کیوں رکھی ہے اور closebuy اور Sell بھی ایک ساتھ استعمال ہوتے ہیں، مجھے ایک غلطی کیوں ملتی ہے اور پوزیشن بند نہیں ہوسکتی؟ میں جواب دوں گا: آپ نے غلط سمت بند کی ہے! مندرجہ بالا غلطی کی رپورٹ میں ممکنہ حالات میں سے ایک یہ ہے: بندش کی سمت درست طریقے سے مقرر کی گئی ہے، آرڈر فنکشن کو صحیح طریقے سے استعمال کیا گیا ہے، اور اس سمت میں پوزیشن بھی برقرار رکھی گئی ہے، لیکن غلطی ابھی بھی رپورٹ کی جاتی ہے. اس کی وجہ یہ ہے کہ آپ کے پروگرام نے متعدد آرڈر دیئے ہیں ، لیکن ابتدائی آرڈر کو پورا نہیں کیا گیا ہے ، اور بندش کا آرڈر مارکیٹ میں زیر التواء ہے۔ اس وقت ، پروگرام پوزیشن کو بند کرنا جاری رکھے گا ، اور بندش کی پوزیشن سے تجاوز کرنے کی غلطی کا اشارہ کیا جائے گا۔

      • لاگ آؤٹ پٹ، ٹرانزیکشن کی معلومات کی نمائش پروگرام شدہ اور مقداری تجارتی حکمت عملیوں کا ڈیزائن انسان کمپیوٹر تعامل کے ڈیزائن سے الگ نہیں ہے ، جیسے ڈیٹا ڈسپلے اور آپریشن لاگ آؤٹ پٹ ۔ ہم عام طور پر حقیقی بوٹ اسکرپٹ اور حکمت عملی پروگرام لکھنے کے لئے مقامی پروگرامنگ زبان کا استعمال کرتے ہیں۔ موجودہ زبان کے آؤٹ پٹ افعال براہ راست استعمال ہوتے ہیں۔ مثلاً: پیتھون کا استعمالprint. جاوا اسکرپٹ کا استعمالconsole.log. گولانگ کا استعمالfmt.Println(). C++ استعمالcout

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

        • حالت کالم اصلی بوٹ چلانے کے بعد، اصلی بوٹ کا صفحہ اس تصویر میں دکھایا گیا ہے:

          img

          ڈسپلے کا حصہ اسٹیٹس کالم کی معلومات ہے۔ اسٹیٹس کالم بنیادی طور پر کچھ ریئل ٹائم بدلتے ہوئے ڈیٹا کو ظاہر کرنے کے لئے استعمال ہوتا ہے (کیونکہ ریئل ٹائم تبدیلیوں کو ریئل ٹائم میں مشاہدہ کرنے کی ضرورت ہوتی ہے ، اور اسے ہر بار لاگ کے طور پر پرنٹ نہیں کیا جاسکتا ہے ، اس قسم کے ڈیٹا کو اسٹیٹس کالم میں دکھایا جاسکتا ہے۔ لاگ بہت سارے نقل شدہ اور بے معنی ڈیٹا کو دہرائے گا ، اگر ہر لاگ پرنٹ ہوجائے تو استفسار کو متاثر کرے گا۔) حالت کالم پر دکھائے گئے اعداد و شمار کا استعمال کرتا ہےLogStatusتفصیلات کے لئے، براہ مہربانی FMZ API دستاویزات سے رجوع کریں.

        • لاگ کالم اصل بوٹ پیج پر بھی ڈسپلی کیا گیا ہے، جیسا کہ شبیہہ میں دکھایا گیا ہے:

          img

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

          1. عام لاگ، FMZ پر حکمت عملی لاگ آؤٹ پٹ اور حکمت عملی لاگ میں پرنٹ کرنے کے لئے لاگ تقریب کو اپنانے.

            img

          2. آرڈر لاگ، استعمالexchange.Sell/exchange.Buyمیں FMZs حکمت عملی لاگ آؤٹ پٹ میں خود کار طریقے سے ریکارڈ کریں گے.

            img

          3. منسوخی کا ریکارڈ،exchange.CancelOrderFMZ کی حکمت عملی میں استعمال کیا جاتا ہے، جو خود کار طریقے سے لاگ میں منسوخی لاگ آؤٹ کرے گا.

            img

          4. غلطی کا نوشتہ ، جب ایف ایم زیڈ پر حکمت عملی چل رہی ہے تو ، نیٹ ورک کی درخواست کرنے والے انٹرفیس پر کال کی غلطی واقع ہوتی ہے ، استثناء پھینک دیا جاتا ہے (جیسے پھینکنے کا بیان) ، غلطی کا نوشتہ خود بخود لاگ میں آؤٹ پٹ ہوتا ہے۔

            img

        ایف ایم زیڈ پر API افعال ، افعال جو لاگ آؤٹ پٹ جیسے لاگ ((...) ، تبادلہ.خریداری ((قیمت ، رقم) ، تبادلہ.منسوخ آرڈر ((آئی ڈی) ، وغیرہ پیدا کرسکتے ہیں ، ان سب کے بعد کچھ اضافی آؤٹ پٹ پیرامیٹرز کی پیروی کی جاسکتی ہے ، جیسے: تبادلہ۔ منسوخ آرڈر ((آرڈر[j]۔آئی ڈی ، آرڈر[j]) ، جب آرڈر کی ترتیب[j] منسوخ ہوجاتی ہے تو آرڈر کی معلومات کو آؤٹ پٹ کرنا ہے۔

        function main() {
            Log("data1", "data2", "data3", "...")
            var data2 = 200
            var id = exchange.Sell(100000, 0.1, "Attached data1", data2, "...")
            exchange.CancelOrder(id, "Attached data1", data2, "...")
            LogProfit(100, "Attached data1", data2, "...")
        }
        
      • اشارے کے افعال کا استعمال اشارے کے فنکشن کے بارے میں بات کرنے سے پہلے ، آئیے پہلے یہ سمجھیں کہ اشارے کیا ہے۔ آسان الفاظ میں ، یہ ایک لائن ہے ، جیسے حرکت پذیر اوسط ، ایم اے سی ڈی اور اے ٹی آر۔ س: یہ اشارے کہاں سے آئے؟ A: یقیناً یہ حساب لگایا جاتا ہے. س: حساب کتاب کی بنیاد کیا ہے؟ A: K لائن کے اعداد و شمار پر مبنی حساب. س: ایک مثال دیں؟ A: مثال کے طور پر سب سے آسان اشارے حرکت پذیر اوسط اشارے کو لیتے ہوئے ، اگر ہم اشارے کے حساب کے لئے ڈیٹا ماخذ کے طور پر روزانہ کے لائن (یعنی ، ایک مثبت یا منفی لائن ایک دن کی نمائندگی کرتی ہے) کے اعداد و شمار کا استعمال کرتے ہیں۔ حرکت پذیر اوسط اشارے کا پیرامیٹر 10 ہے ، پھر حساب کتاب شدہ حرکت پذیر اوسط اشارے 10 دن کی حرکت پذیر اوسط ہے۔ س: کیا اگر K لائن BARs کی تعداد 10 سے کم ہو تو اوسط اشارے کا حساب لگایا جاسکتا ہے؟ A: نہ صرف چلتی اوسط اشارے کا حساب نہیں کیا جا سکتا، لیکن کسی بھی اشارے مؤثر انڈیکس قدر کا حساب نہیں کر سکتے ہیں جب K لائن ڈیٹا BAR کی تعداد اشارے کی مدت پیرامیٹر کو پورا نہیں کرتا، اور حساب کی صف کے متعلقہ پوزیشن خالی اقدار کے ساتھ بھرا جائے گا، مثال کے طور پر،JavaScriptزبان کی حکمت عملی ظاہر کرے گاnullجب حساب کردہ اشارے کے اعداد و شمار کو پرنٹ کیا جائے۔

        یہ ہوتا ہے کہ حکمت عملی مربع میں ایک سبق مثال ہے:https://www.fmz.com/strategy/125770بیک ٹیسٹ ٹوٹوریل مثال کی حکمت عملی، ہم بیک ٹیسٹنگ کے نظام اور 10 مدت چلتی اوسط کی طرف سے پیدا چارٹ دیکھ سکتے ہیں:

        img

        حکمت عملی اپنی مرضی کے مطابق ڈرائنگ، تیار کی K لائن کے ساتھ ساتھ چلتی اوسط چارٹ.

        img

        س: اگر میں 10 گھنٹے کی اوسط اوسط چاہتا ہوں تو کیا ہوگا؟ A: K لائن کے اعداد و شمار کا استعمال کرتے ہوئے گھنٹے کی مدت کے ساتھ K لائن کے اعداد و شمار ٹھیک ہو گا.

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

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

        function main() {
            var records = exchange.GetRecords()
            var ma = TA.MA(records, 10)
            Log(ma)       // print moving average
        }
        

        طالب لائبریری استعمال کریں:

        function main() {
            var records = exchange.GetRecords()
            var ma = talib.MA(records, 10)
            Log(ma)       // print moving average
        }      
        

        حساب اشارے کے اعداد و شمار ما ایک صف ہے، اور ہر عنصر K لائن صف (ریکارڈز) ایک سے ایک کے مطابق ہے، یعنی،ma[ma.length -1]کے مطابق ہےrecords[records.length - 1]، اور اسی طرح.

        دوسرے پیچیدہ اشارے کے لئے بھی یہی بات ہے، اور ہمیں MACD جیسے اشارے پر توجہ دینے کی ضرورت ہے۔

        var macd = TA.MACD(records)   // In this way, only the K-line data is passed in, not the indicator parameters. The indicator parameters use the default values, and the same goes for other indicator functions.
        

        اس وقت ، متغیر macd ایک دو جہتی صف ہے (اگر آپ اس تصور کو نہیں سمجھتے ہیں تو آپ بائیڈو سے پوچھ سکتے ہیں۔) ایک دو جہتی صف صرف ایک صف ہے ، اور اس کا ہر عنصر بھی ایک صف ہے۔ س: MACD اشارے کا ڈیٹا دو جہتی صف کیوں ہے؟ A: کیونکہ MACD اشارے دو لائنوں (ڈیف لائن، ڈی ای لائن) اور حجم باروں کا ایک سیٹ (MacD حجم بار، حقیقت میں، یہ حجم بار ڈیٹا بھی ایک لائن کے طور پر سمجھا جا سکتا ہے) پر مشتمل ہے. لہذا MACD متغیر میں تقسیم کیا جا سکتا ہے:

        var dif = macd[0]
        var dea = macd[1]
        var macdColumn = macd[2]
        

        یہاں ایک تیار شدہ سبق کی مثال بھی ہے ، اگر آپ دلچسپی رکھتے ہیں تو ، آپ پڑھ سکتے ہیں:https://www.fmz.com/strategy/151972

        img


متعلقہ

مزید