3
پر توجہ دیں
1444
پیروکار

FMZ مقداری پلیٹ فارم کی حکمت عملی تحریری بنیادی ٹیوٹوریل (ضروری پڑھیں)

میں تخلیق کیا: 2019-08-13 17:47:27, تازہ کاری: 2021-08-06 10:29:46
comments   33
hits   69033

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

پرانے ورژن:Inventors Quantum (FMZ.COM) حکمت عملی کے ساتھ مکمل طور پر استعمال کے لئے دستی 2.0 (ٹیوٹوریل)اس سبق میں بہت ساری پوسٹوں کی فہرست دی گئی ہے اور اس پر نظر ڈالنے کی سفارش کی گئی ہے۔

حکمت عملی کے لئے تیار کردہ ابتدائی ہدایات

API کا تعارف

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

فی الحال ڈیجیٹل کرنسی کے تبادلے میں بنیادی طور پر دو انٹرفیس پروٹوکول موجود ہیں: REST اور Websocket۔ REST پروٹوکول ہر بار ڈیٹا حاصل کرنے کے لئے ایک بار رسائی کی ضرورت ہوتی ہے۔ مثال کے طور پر ، ہم ایکسچینج wex.app کے API کو براہ راست براؤزر میں کھولتے ہیں https://api.wex.app/api/v1/public/ticker?market=BTC_USDT اور نتیجہ:

{"data:{"buy":"11351.73","high":"11595.77","last":"11351.85","low":"11118.45","open":"11358.74","quoteVol":"95995607137.00903936","sell":"11356.02","time":1565593489318,"vol":"3552.5153"}}

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

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

مختلف پروگرامنگ زبان

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

پیتھون کے مختلف ورژن ہونے کی وجہ سے ، پروگرام کے آغاز میں اس کی وضاحت کی جاسکتی ہے ، جیسے#!Python2,#!Python3。 نوٹ کریں کہ جاوا اسکرپٹ نے حال ہی میں ES6 کی گرامر کو اپ گریڈ کیا ہے ، دلچسپی رکھنے والوں کو اس کے بارے میں مزید معلومات مل سکتی ہیں۔ ذیل میں اسی طرح کے کام کرنے والے پیتھون اور جاوا اسکرپٹ کوڈ دکھائے گئے ہیں ، صرف گرامر میں فرق دیکھا جاسکتا ہے ، لہذا API دستاویزات میں صرف جاوا اسکرپٹ کی مثال دی گئی ہے ، یہ سبق پیتھون کے خصوصی استعمال کے معاملات کو بھی مدنظر رکھے گا۔

#python代码
def main():
    while True:
        Log(exchange.GetAccount().Balance)
        Sleep(2000)
#相应的Js代码
function main(){
    while(true){
        Log(exchange.GetAccount().Balance)
        Sleep(2000)
    }
}

وسائل کی سفارش

  • ایف ایم زیڈ پلیٹ فارم API دستاویزات ، اس سبق میں ہر انٹرفیس کی تفصیل نہیں دی جائے گی ، اس دستاویز پر ملاحظہ کریں: https://www.fmz.com/api
  • اگر آپ FMZ پر تجارت کرنے کے لئے ٹریڈنگ ویو کے سگنل حاصل کرنا چاہتے ہیں تو ، اس مضمون کا حوالہ دیں: https://www.fmz.com/digest-topic/5533
  • جاوا اسکرپٹ، پائیٹن کے لئے فوری تعارف، سادہ حکمت عملی کو لکھنے کے لئے پیچیدہ گرامر کی ضرورت نہیں ہے، صرف کچھ بنیادی تصورات پر قابو پانے کی ضرورت ہے، آپ کو اس ٹیوٹوریل کو سیکھنے کے دوران پروگرامنگ سیکھ سکتے ہیں: https://www.fmz.com/bbs-topic/382 https://www.fmz.com/bbs-topic/417
  • میک زبان کی دستاویزات ، ٹرینڈنگ حکمت عملی کے ل Mac میک زبان بہت آسان ہے۔
  • ایک C++ کال کی مثال ، C++ میں دلچسپی رکھنے والوں کو دیکھ سکتے ہیں ، لیکن چونکہ یہ ایک وضاحتی زبان نہیں ہے ، اس کی ڈیبگنگ کرنا مشکل ہے ، لہذا اس کا استعمال کرنے کی سفارش نہیں کی جاتی ہے: https://www.fmz.com/strategy/61533
  • نیٹ ایز کلاؤڈ کلاس روم میں ڈیجیٹل کرنسی کی مقدار میں تجارت کا کورس ، ایف ایم زیڈ کی سرکاری مصنوعات ، صرف 20 یوآن ، تفصیلی مواد سے مالا مال ہے ، اور ابتدائی افراد کے لئے موزوں ہے۔کورس کے لنکس
  • کچھ تدریسی حکمت عملی ، ابتدائی داخلے کے لئے موزوں ، سیکھنے کے ساتھ ساتھ بنیادی حاشیہ سازی کی حکمت عملی: https://www.fmz.com/square/s:tag: %E6%95%99%E5%AD%A6/1
  • حکمت عملی کی تفصیلات کے لئے ماخذ کی وضاحت: https://www.fmz.com/bbs/s:tag: %E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%901

ڈیبگنگ ٹولز

ایف ایم زیڈ کوانٹومیشن پلیٹ فارم API انٹرفیس کو ڈیبگ کرنے کے لئے ڈیبگنگ ٹولز مہیا کرتا ہے ، https://www.fmz.com/m/debug 。 ڈیبگنگ ٹول صرف جاوا اسکرپٹ کی حمایت کرتا ہے ، صرف ایک وقت کے لئے چل سکتا ہے ، بغیر کسی ریئل اسٹیک کی تخلیق کے تبادلے کے انٹرفیس کو ڈیبگ کرسکتا ہے۔ ریٹرن کا ڈیٹا نتیجہ کے طور پر واپس کیا جائے گا ، ڈیبگنگ ٹول کا کوڈ محفوظ نہیں کیا جائے گا۔ اس سبق میں ، ڈیبگنگ ٹول کے ساتھ ساتھ جانچ کی جاسکتی ہے۔ FMZ مقداری پلیٹ فارم کی حکمت عملی تحریری بنیادی ٹیوٹوریل (ضروری پڑھیں)

حکمت عملی پروگرام کی ساخت

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

دیگر خصوصی افعال کے ساتھ مندرجہ ذیل ہیں:

  • onexit() عام طور پر باہر نکلنے کے لئے صفائی کا عمل ، زیادہ سے زیادہ 5 منٹ کی کارکردگی کا وقت ، بغیر کسی اعلان کے ، اگر وقت سے زیادہ ہو تو ، انٹروپٹ غلطی کی اطلاع دی جائے گی۔ کچھ نتائج کو باہر نکلنے کے عمل میں محفوظ کرنے کے لئے استعمال کیا جاسکتا ہے۔
  • onerror() غیر معمولی طور پر باہر نکلنے کا فنکشن ، زیادہ سے زیادہ عملدرآمد کا وقت 5 منٹ ہے ، اس کا اعلان نہیں کیا جاسکتا。
  • init (() ایک ابتدائی فنکشن کے طور پر، پالیسی پروگرام خود کار طریقے سے چلنے کے آغاز پر بلایا جاتا ہے، لیکن اس کا اعلان نہیں کیا جاسکتا ہے۔
function onTick(){
   var ticker = exchange.GetTicker()
   var account = exchange.GetAccount()
    //在这里写策略逻辑,将会每6s调用一次
}
function main(){
    while(true){
        onTick()
        Sleep(6000)
    }
}

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

function onTick(){
   var ticker = exchange.GetTicker()
   var account = exchange.GetAccount()
    //在这里写策略逻辑,将会每6s调用一次
}
function main(){
    try{
        while(true){
           onTick()
           Sleep(6000)
       }
    }catch(err){
        Log(err)
    }
}

ایکسچینج API کا تعارف

تبادلے اور جوڑے کی ترتیب

کسی بھی ایکسچینج سے متعلقہ API کو کال کرنے پر ، ایکسچینج اور ٹرانزیکشن جوڑے کو واضح طور پر بیان کرنے کی ضرورت ہے۔ اگر صرف ایک ایکسچینج-ٹرانزیکشن جوڑا شامل کیا گیا تھا جب فکسڈ ڈسک بنائی گئی تھی ، تو اس کا مطلب یہ ہے کہ آپ کو صرف ایک ایکسچینج-ٹرانزیکشن جوڑا شامل کرنے کی ضرورت ہے۔exchangeاس طرح کی اشیاء کی نمائندگی کرتا ہے:exchange.GetTicker()اس کے نتیجے میں ، آپ کو ایک ایسی کرنسی مل جائے گی جس میں آپ کو ایک ٹکر مل جائے گا جس میں آپ کو اس ایکسچینج کے ساتھ تجارت کرنے کی ضرورت ہے۔

FMZ پلیٹ فارم ایک ہی وقت میں ایک سے زیادہ ایکسچینج شامل کرنے کی حمایت کرتا ہے - ٹریڈنگ جوڑے ، جیسے ایک ہی ایکسچینج اکاؤنٹ پر بیک وقت کام کرنے والے بی ٹی سی اور ای ٹی ایچ۔ نوٹ کریں کہ ایک ہی ایکسچینج پر مختلف اکاؤنٹس بھی ایک ہی وقت میں شامل کیے جاسکتے ہیں ، وہ FMZ ویب سائٹ پر شامل کردہ لیبل کی بنیاد پر ہیں۔ جب ایک سے زیادہ ایکسچینج جوڑے موجود ہیں تو ، استعمال کریںexchangesصفوں کو تخلیق کرنے کے لئے ترتیب میں شامل کیا گیا ہے:exchanges[0]exchanges[1]… اور اسی طرح. ٹرانزیکشن جوڑے کی شکل یہ ہے:BTC_USDTبی ٹی سی ایک کرنسی ہے جس پر تجارت کی جاتی ہے ، اور یو ایس ڈی ٹی ایک کرنسی ہے جس کی قیمت ہے۔

FMZ مقداری پلیٹ فارم کی حکمت عملی تحریری بنیادی ٹیوٹوریل (ضروری پڑھیں)

واضح طور پر، اگر ہم بہت سارے جوڑوں کے ساتھ کام کر رہے ہیں تو یہ طریقہ مشکل ہو جائے گا، اس وقت ہم SetCurrency کا استعمال کرتے ہوئے جوڑوں کو تبدیل کر سکتے ہیں، جیسےexchange.SetCurrency("BTC_USDT")اس وقت،exchangeاس کے نتیجے میں، جوڑے کو بند کر دیا گیا ہےBTC_USDTاس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کے نتیجے کے طور پر ، اس کے نتیجے کے طور پر ، اس کے نتیجے کے طور پر ، اس کے نتیجے کے طور پر ، اس کے نتیجے کے طور پر ، اس کے نتیجے کے طور پر .نوٹ کریں کہ تازہ ترین ٹرانسمیشن جوڑوں کی حمایت کرتا ہےذیل میں اس کی ایک مثال دی گئی ہے۔

var symbols = ["BTC_USDT", "LTC_USDT", "EOS_USDT", "ETH_USDT"]
var buyValue = 1000
function main(){
  for(var i=0;i<symbols.length;i++){
      exchange.SetCurrency(symbols[i])
      var ticker = exchange.GetTicker()
      var amount = _N(buyValue/ticker.Sell, 3)
      exchange.Buy(ticker.Sell, amount)
      Sleep(1000)
  }
}

عوامی انٹرفیس جیسے ٹریفک کی معلومات

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

انٹرفیس عام طور پر ہیںInfoفیلڈز، جو کہ تبادلے کی طرف سے لوٹائے گئے ڈیٹا کی اصل سٹرنگ کی نمائندگی کرتے ہیں، جو اضافی معلومات کے لئے استعمال کیا جا سکتا ہے، جو پہلے سے تجزیہ کرنے کی ضرورت ہوتی ہے، جاوا اسکرپٹ کا استعمال کرتے ہوئےJSON.parse()پیتھون json لائبریری کا استعمال کرتا ہے۔Timeیہ فیلڈ درخواست کی ٹائم لائن کو ظاہر کرتا ہے، جو تاخیر کا تعین کرنے کے لئے استعمال کیا جا سکتا ہے۔

رئیل ڈسک میں API انٹرفیس کا استعمال کرتے ہوئے رسائی میں ناکامی اور واپسی کا امکان ہےnullپیتھون کی واپسیNoneاس ٹیوٹوریل میں ہم اس کے بارے میں الگ سے بات کریں گے۔ اس ٹیوٹوریل میں ہم اس کے بارے میں بات کریں گے۔

GetTicker

مارکیٹ میں موجودہ رجحانات حاصل کرنے کے لئے ، یہ شاید سب سے زیادہ استعمال ہونے والا انٹرفیس ہے ، آپ کو آخری ٹرانزیکشن کی قیمت ، خرید و فروخت کی قیمت ، حالیہ ٹرانزیکشن حجم وغیرہ کی معلومات مل سکتی ہے۔ آپ کو دوبارہ آرڈر دینے سے پہلے ٹکرر کی معلومات کے ذریعہ ٹرانزیکشن کی قیمت کا تعین کرنے کی اجازت ہے۔ ایک ریئل ٹائم واپسی کی مثال{"Info:{}, "High":5226.69, "Low":5086.37,"Sell":5210.63, "Buy":5208.5, "Last":5208.51, "Volume":1703.1245, "OpenInterest":0, "Time":1554884195976}

function main() {
    var ticker = exchange.GetTicker()
    Log(ticker) //在调试工具中 return ticker 。可以看到具体的结果。
    Log('上次成交价: ',ticker.Last, '买一价: ', ticker.Buy)
}

GetDepth

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

{
    "Info":null,
    "Asks":[
        {"Price":5866.38,"Amount":0.068644},
        {"Price":5866.39,"Amount":0.263985},
        ......
        ]
    "Bids":[
        {"Price":5865.13,"Amount":0.001898},
        {"Price":5865,"Amount":0.085575},
        ......
        ],
    "Time":1530241857399
}

گہرائی سے خرید و فروخت کے حصول کی مثالیں:

function main() {
    var depth = exchange.GetDepth()
    Log('买一价个: ', depth.Bids[0].Price, '卖一价格: ', depth.Asks[0].Price)
}

GetRecords

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

exchange.SetMaxBarLen(Len)پہلی بار K لائن حاصل کرنے کی تعداد مقرر کی جاسکتی ہے (کچھ ایکسچینج کی حمایت) ، اور زیادہ سے زیادہ K لائن کی تعداد مقرر کی گئی ہے۔جیسے:exchange.SetMaxBarLen(500)

GetRecords مدت کی وضاحت کرسکتا ہے: PERIOD_M1: 1 منٹ ، PERIOD_M5: 5 منٹ ، PERIOD_M15: 15 منٹ ، PERIOD_M30: 30 منٹ ، PERIOD_H1: 1 گھنٹہ ، PERIOD_D1: 1 دن۔exchange.GetRecords(PERIOD_M1)。 تازہ ترین میزبان کو اپ گریڈ کرنے کے بعد ، اپنی مرضی کے مطابق سائیکل کی حمایت کی جائے گی ، براہ راست ٹرانسمیشن سائیکل سیکنڈ پیرامیٹر کے طور پر کام کریں گے ، منٹ کی سطح پر اپنی مرضی کے مطابق 1 منٹ کے K لائن پر مشتمل ہوگا ، اور 1 منٹ سے کم K لائن GetTrades کے ذریعے تشکیل دی جائے گی ، 。اس سبق میں آپ کو اس طرح کی مثالیں ملیں گیPERIOD_M1اس طرح کے بڑے پیمانے پر متغیرات ، جو ایف ایم زیڈ کے ڈیفالٹ عالمی متغیرات ہیں ، دلچسپی رکھنے والے اپنے مخصوص اقدار کو لاگ ان کرسکتے ہیں ، جو عام طور پر براہ راست استعمال میں آتے ہیں۔

واپسی کے اعداد و شمار کی مثال:

[
    {"Time":1526616000000,"Open":7995,"High":8067.65,"Low":7986.6,"Close":8027.22,"Volume":9444676.27669432},
    {"Time":1526619600000,"Open":8019.03,"High":8049.99,"Low":7982.78,"Close":8027,"Volume":5354251.80804935},
    {"Time":1526623200000,"Open":8027.01,"High":8036.41,"Low":7955.24,"Close":7955.39,"Volume":6659842.42025361},
    ......
]

مثال کے طور پر K لائن:

function main(){
    var close = []
    var records = exchange.GetRecords(PERIOD_H1)
    Log('total bars: ', records.length)
    for(var i=0;i<records.length;i++){
        close.push(records[i].Close)
    }
    return close
}

GetTrades

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

ایک اکاؤنٹ کھولیں اور تجارت کریں

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

GetAccount اکاؤنٹ حاصل کریں

اکاؤنٹ کی معلومات حاصل کریں۔ یہ انٹرفیس سب سے زیادہ استعمال کیا جاتا ہے ، اور آپ کو کم از کم بیلنس سے بچنے کے ل order دوبارہ آرڈر کرنے سے پہلے کال کرنے کی ضرورت ہے۔ یہ مندرجہ ذیل نتائج واپس کرتا ہے:{"Stocks":0.38594816,"FrozenStocks":0,"Balance":542.858308,"FrozenBalance":0,"Info":{}}❚ جہاں اسٹاکس ٹریڈنگ جوڑی کے لئے دستیاب کرنسی کا ٹریڈنگ بیلنس ہے ، FrozenStocks زیر التواء آرڈرز کا منجمد بیلنس ہے ، بیلنس قیمتوں کا تعین کرنے والی کرنسی کا دستیاب بیلنس ہے ، اور FrozenBalance منجمد بیلنس ہے۔ اگر ٹریڈنگ جوڑیBTC_USDTاسٹاکس کا مطلب بی ٹی سی ہے اور بیلنس کا مطلب یو ایس ڈی ٹی ہے۔

نوٹ کریں کہ واپسی کا نتیجہ ایک مخصوص جوڑی کا نتیجہ ہے اور ٹریڈنگ اکاؤنٹ میں موجود دیگر کرنسیوں کی معلومات انفو فیلڈ میں موجود ہے ، اور ایک سے زیادہ جوڑی کو چلانے کے لئے متعدد بار کال کرنے کی ضرورت نہیں ہے۔

ایک ڈسپلے جس میں موجودہ ٹرانزیکشن جوڑے کی مجموعی قیمت پرنٹ کی جاتی ہے:

function main(){
    while(true){
        var ticker = exchange.GetTicker()
        var account = exchange.GetAccount()
        var price = ticker.Buy
        var stocks = account.Stocks + account.FrozenStocks
        var balance = account.Balance + account.FrozenBalance
        var value = stocks*price + balance
        Log('Account value is: ', value)
        LogProfit(value)
        Sleep(3000)//sleep 3000ms(3s), A loop must has a sleep, or the rate-limit of the exchange will be exceed
        //when run in debug tool, add a break here
    }
}

خریدیں

ذیل میں ادائیگی ہے۔ کال کرنے کا طریقہ:exchange.Buy(Price, Amount)یاexchange.Buy(Price, Amount, Msg)قیمت قیمت ہے ، رقم مقدار ہے ، ایم ایس جی ایک اضافی تار ہے جو ریئل ڈسک کی تاریخ میں دکھائی دے سکتی ہے ، غیر ضروری ہے۔ یہ طریقہ آرڈر لگانے کے لئے ہے ، اگر فوری طور پر مکمل طور پر مکمل نہیں کیا جاسکتا ہے تو اس سے غیر منقولہ آرڈر پیدا ہوجاتا ہے ، آرڈر کامیابی کے ساتھ آرڈر آئی ڈی کے طور پر واپس آجاتا ہے ، ناکام آرڈر آئی ڈی کے طور پرnull، آرڈر کی حیثیت کے بارے میں معلومات حاصل کرنے کے لئے استعمال کیا جاتا ہے۔

اگر آپ کو کم قیمت پر خریدنے کی ضرورت ہے تو، قیمت 1 ہے، اور رقم آرڈر کی قیمت ہے، جیسےexchange.Buy(-1, 0.5)تجارت درست ہےETH_BTCای ٹی ایچ کے لئے 0.5 بی ٹی سی خریدنے کے لئے مارکیٹ کی قیمت کی نمائندگی کریں گے۔ کچھ تبادلے مارکیٹ کی قیمت کی فہرست کی حمایت نہیں کرتے ہیں ، اور نہ ہی فیوچر ریٹرننگ کی حمایت کرتے ہیں۔

تمام قیمتوں اور مقدار کی درستگی کی ضرورت ہے، دستیاب ہے_N()فاریکس ٹریڈنگ خرید اور فروخت کے لئے اضافی معنی ہیں ، جو الگ سے متعارف کرائے جائیں گے۔

ایک مثال جس میں قیمت ملنے کے بعد ہی خرید لیا جاتا ہے:

function main(){
    while(true){
        var ticker = exchange.GetTicker()
        var price = ticker.Sell
        if(price >= 7000){
            exchange.Buy(_N(price+5,2), 1, 'BTC-USDT')
            break
        }
        Sleep(3000)//Sleep 3000ms
    }
    Log('done')
}

بیچنے والے کو فروخت کریں

نیچے بیچنے والی فہرست ◄ پیرامیٹرز خرید کے برابر ◄ مارکیٹ قیمت کی فہرست کے پیرامیٹرز کا مطلب مختلف ہے ، مارکیٹ قیمت بیچنے والی فہرست اس طرح ہےexchange.Sell(-1, 0.2)، 0.2 ETH کے لئے مارکیٹ کی قیمت کی نمائندگی کرتا ہے۔

GetOrder آرڈر حاصل کریں

آرڈر آئی ڈی کے مطابق آرڈر کی معلومات حاصل کریں۔ عام استعمال شدہ انٹرفیس ، کال کرنے کا طریقہexchange.GetOrder(OrderId)آرڈر آئی ڈی آرڈر آئی ڈی کے طور پر استعمال کیا جاتا ہے اور آرڈر کے وقت واپس آ جاتا ہے۔آرڈر کی قسم پر توجہ دیںTypeکھیت اور آرڈر کی حیثیتStatusاصل اقدار اعداد ہیں جو مختلف معنی کی نمائندگی کرتے ہیں، لیکن یہ میموری کے لئے نقصان دہ ہے، FMZ ان اقدار کو عالمی سطح پر مستقل طور پر نمائندگی کرتا ہے، جیسے کہ غیر منقولہ احکاماتStatus0 کے برابر ہےORDER_STATE_PENDINGیہ تمام گلوبل کنسٹنٹس دستاویزات میں دیکھے جا سکتے ہیں۔◦ نتائج کی واپسی:

{
    "Id":125723661, //订单id
    "Amount":0.01, //订单数量
    "Price":7000, //订单价格
    "DealAmount":0, //已成交数量
    "AvgPrice":0, //成交均价
    "Status":0, // 0:未完全成交, 1:已成交, 2:已撤单
    "Type":1,// 订单类型,0:买单, 1:卖单
    "ContractType":"",//合约类型,用于期货交易
    "Info":{} //交易所返回原始信息
    }
}

ایک حکمت عملی جس میں ایک مخصوص رقم خریدنے کی حکمت عملی ہے:

function main(){
    while(true){
        var amount = exchange.GetAccount().Stocks
        var ticker = exchange.GetTicker()
        var id = null
        if(5-amount>0.01){
            id = exchange.Buy(ticker.Sell, Math.min(5-amount,0.2))
        }else{
            Log('Job completed')
            return //return the main function, bot will stop
        }
        Sleep(3000) //Sleep 3000ms
        if(id){
            var status = exchange.GetOrder(id).Status
            if(status == 0){ //这里也可以用 status == ORDER_STATE_PENDING 来判断。
                exchange.CancelOrder(id)
            }
        }
    }
}

GetOrders نے ابھی تک کوئی آرڈر نہیں دیا

تمام زیر التواء آرڈرز کی فہرست کے لئے موجودہ ٹرانزیکشنز حاصل کریں۔ اگر کوئی زیر التواء آرڈر خالی صف کو واپس نہیں کرتا ہے۔ آرڈر کی فہرست کے مخصوص نتائج جیسے GetOrder۔

تمام احکامات کے لئے موجودہ ٹرانزیکشن کو منسوخ کرنے کا ایک مثال:

function CancelAll(){
    var orders = exchange.GetOrders()
    for(var i=0;i<orders.length;i++){
        exchange.CancelOrder(orders[i].Id) // cancel order by orderID
    }
}
function main(){
    CancelAll()
    while(true){
        //do something
        Sleep(10000)
    }
}

CancelOrder (آرڈر منسوخ کریں)

آرڈر id کے مطابق آرڈر منسوخ کریں۔exchange.CancelOrder(OrderId)。 منسوخی کامیاب واپسی true، ورنہ واپسی false 。 نوٹ کریں کہ آرڈر مکمل طور پر مکمل ہوچکا ہے منسوخ کرنے میں ناکامی 。

مستقبل اور مستقل معاہدے

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

مستقل معاہدہ اور مستقبل کے معاہدے کی طرح ہے ، اس کے علاوہ ایک ہی وقت میں زیادہ جگہ رکھنے کا تصور نہیں ہے۔

اگر ایک ایکسچینج فیوچر کیش کی حمایت کرتا ہے ، جیسے OKEX اور Huobi فیوچر ، تو اسے ایکسچینج کے انٹرفیس میں علیحدہ علیحدہ OKEX فیوچر خانہ اور Huobi فیوچر خانہ شامل کرنے کی ضرورت ہے ، جسے FMZ میں نقد سے مختلف ایکسچینج سمجھا جاتا ہے۔

SetContractType معاہدہ سیٹ کریں

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

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

//OKEX期货
exchange.SetContractType("swap")        // 设置为永续合约
exchange.SetContractType("this_week")   // 设置为当周合约
exchange.SetContractType("next_week")   // 设置为次周合约
exchange.SetContractType("quarter")     // 设置为季度合约

//HuobiDM
exchange.SetContractType("this_week")   // 设置为当周合约 
exchange.SetContractType("next_week")   // 设置为次周合约
exchange.SetContractType("quarter")     // 设置为季度合约
exchange.SetContractType("swap")        // 设置为永续合约

//币安期货
exchange.SetContractType("swap")   // 设置为永续合约,注意币本位和USDT本位都存在永续
exchange.SetContractType("quarter")   // 设置为当季合约
exchange.SetContractType("next_quarter")  // 设置为次季合约

//BitMEX
exchange.SetContractType("XBTUSD")    // 设置为永续合约
exchange.SetContractType("XBTM19")  // 具体某个时间结算的合约,详情登录BitMEX查询各个合约代码

//GateIO
exchange.SetContractType("swap")      // 设置为永续合约,不设置默认为swap永续合约。 

//Deribit
exchange.SetContractType("BTC-27APR18")  // 具体某个时间结算的合约,详情参看Deribit官网。

گیٹ پوزیشن

موجودہ ہولڈنگ معلومات کی فہرست حاصل کریں ، OKEX ((OKCOIN) فیوچر ایک پیرامیٹر میں منتقل کیا جاسکتا ہے ، جس میں معاہدے کی قسم کی وضاحت کی جائے گی۔ اگر کوئی ہولڈنگ نہیں ہے تو خالی فہرست واپس کریں[]ہولڈنگ کی معلومات مندرجہ ذیل ہے، بہت سے مخصوص معلومات، جو ٹرانزیکشن کے لئے مخصوص تجزیہ کے ساتھ مل کر کی ضرورت ہوتی ہے.

ڈیٹا کی قسم متغیر نام مثال دینا

“Object HDI Info HDI ایکسچینج کی طرف سے واپس آ گیا اصل ساخت” number Margin Level چھڑی کا سائز OKCoin 10 یا 20 OK Futures Forex Forex نمبر ڈیسک ٹاپ کی رقم، OKCoin کا مطلب ہے کہ معاہدے کی تعداد (ایک عدد اور 1 سے زیادہ) FrozenAmount تعداد منجمد شدہ رقم ♬ نمبر اور قیمت ♬ ♬ نَمَرِسِسِسِ مارجِنِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِسِ [number] [Profit] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [number] [num const type PD_LONG کثیر پوزیشن کے لئے ((CTP میں closebuy_today صف پوزیشن), PD_SHORT خالی پوزیشن کے لئے ((CTP میں closesell_today) صف پوزیشن, (CTP فیوچر میں) PD_LONG_YD کل کثیر پوزیشن کے لئے ((closebuy صف پوزیشن), PD_SHORT_YD کل خالی پوزیشن کے لئے ((closesell صف پوزیشن) string ContractType فاریکس کے لئے معاہدہ کا کوڈ، اسٹاک کے لئے شیلف ایکسچینج کا کوڈ _ اسٹاک کوڈ شیلف، مخصوص پیرامیٹرز SetContractType کی ٹرانسمیشن کی قسم

function main(){
    exchange.SetContractType("this_week");
    var position = exchange.GetPosition();
    if(position.length>0){ //特别要注意引用前要先判断position长度再引用,否则会出错
        Log("Amount:", position[0].Amount, "FrozenAmount:", position[0].FrozenAmount, "Price:",
            position[0].Price, "Profit:", position[0].Profit, "Type:", position[0].Type,"ContractType:", position[0].ContractType)
    }
}

فاریکس میں کھلی پوزیشن

اس کے بعد ، آپ کو اپنے کمپیوٹر پر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر.exchange.SetMarginLevel(10)10 کا مطلب ہے 10 گنا بیئرنگ ، اور بیئرنگ کے سائز کی حمایت کرنے کے لئے ، متعلقہ ایکسچینج کو دیکھیں ، اور بیئرنگ کے سائز کی حمایت کرنے کے لئے ، بیئرنگ کے سائز کو چیک کریں۔نوٹ کریں کہ لیورج کو ایکسچینج میں سیٹ کرنا ہے اور کوڈ کو ایکسچینج میں سیٹ کرنے کے مطابق ہونا چاہئے ، ورنہ غلطی ہوگی│ یا اس کے بغیر، پہلے سے طے شدہ لیور کا استعمال │ اس کے بعد ٹریڈنگ کی سمت مقرر کریں اور کال کریں:exchange.SetDirection(Direction)اس کے بعد، اس نے اپنے اسٹاک کی قیمتوں میں اضافہ کیا.فیوچر کے برعکس ، اگر کوئی مستقل معاہدہ ایک ہی وقت میں زیادہ خالی رکھنے کا تصور نہیں رکھتا ہے ، یعنی کسی ایک پوزیشن کی اجازت نہیں ہے ، تو زیادہ سے زیادہ وقت خالی کرنے سے خود بخود زیادہ پوزیشنیں ختم ہوجاتی ہیں ، اور سب کو صرف سیٹ کرنا پڑتا ہے۔buyاورsellاگر دو طرفہ ہولڈنگ کی حمایت کی جائے تو سیٹ اپ کی ضرورت ہے۔closebuy,closebuyخاص تعلقات:

آپریشن SetDirection کے پیرامیٹرز نیچے آرڈر فنکشن
پوزیشن کھولیں exchange.SetDirection(“buy”) exchange.Buy()
پینڈو پوزیشن exchange.SetDirection(“closebuy”) exchange.Sell()
خالی پوزیشن exchange.SetDirection(“sell”) exchange.Sell()
خالی پوزیشن exchange.SetDirection(“closesell”) exchange.Buy()

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

function main(){
    exchange.SetContractType("this_week")    // 举例设置 为OKEX期货 当周合约
    price = exchange.GetTicker().Last
    exchange.SetMarginLevel(10) //设置杠杆为10倍 
    exchange.SetDirection("buy") //设置下单类型为做多 
    exchange.Buy(price+10, 20) // 合约数量为20下单 
    pos = exchange.GetPosition()
    Log(pos)
    Log(exchange.GetOrders()) //查看是否有未成交订单
    exchange.SetDirection("closebuy"); //如果是永续合约,直接设置exchange.SetDirection("sell")
    exchange.Sell(price-10, 20)
}

ذیل میں ایک مخصوص مثال کے طور پر مکمل طور پر غیر فعال کرنے کی حکمت عملی دی گئی ہے۔

function main(){
    while(true){
        var pos = exchange.GetPosition()
        var ticker = exchange.GetTicekr()
        if(!ticker){
            Log('无法获取ticker')
            return
        }
        if(!pos || pos.length == 0 ){
            Log('已无持仓')
            return
        }
        for(var i=0;i<pos.length;i++){
            if(pos[i].Type == PD_LONG){
                exchange.SetContractType(pos[i].ContractType)
                exchange.SetDirection('closebuy')
                exchange.Sell(ticker.Buy, pos[i].Amount - pos[i].FrozenAmount)
            }
            if(pos[i].Type == PD_SHORT){
                exchange.SetContractType(pos[i].ContractType)
                exchange.SetDirection('closesell')
                exchange.Buy(ticker.Sell, pos[i].Amount - pos[i].FrozenAmount)
            }
        }
        var orders = exchange.Getorders()
        Sleep(500)
        for(var j=0;j<orders.length;j++){
            if(orders[i].Status == ORDER_STATE_PENDING){
                exchange.CancelOrder(orders[i].Id)
            }
        }
    }
}

ڈیجیٹل کرنسی لیوریج ٹریڈنگ

لیوریج اکاؤنٹ کو کوڈ میں تبدیل کرنے کی ضرورت ہے۔

exchange.IO ((“trade_margin”) کا استعمال کرتے ہوئے، اکاؤنٹ کے اثاثوں کو حاصل کرنے کے لئے، اکاؤنٹ کے اثاثوں کو حاصل کرنے کے لئے، تبادلے کے لیورج انٹرفیس تک رسائی حاصل ہوگی. exchange.IO ((“trade_normal”) کا استعمال کرتے ہوئے عام اکاؤنٹ کے موڈ میں واپس جائیں۔

معاون تبادلے:

  • OKEX V3: لیوریج اکاؤنٹ کے طریقوں میں جوڑے جو عام سے مختلف ہیں ، اور کچھ جوڑے جو نہیں ہوسکتے ہیں۔
  • Bitcoin: لیوریج اکاؤنٹ کے ماڈل میں جوڑے جو عام سے مختلف ہیں ، اور کچھ جوڑے جو نہیں ہوسکتے ہیں۔
  • ZB: فنڈز صرف QC کے طور پر منتقل ہوسکتے ہیں ، لیورڈ ٹریڈنگ سیکٹر ، مختلف جوڑوں کے مابین فنڈز کی آزادی ، یعنی ETH_QC ٹریڈنگ جوڑے کے تحت QC سکے کی تعداد ، جو BTC_QC میں نہیں دیکھی جاتی ہے۔
  • FCoin
  • Binance (بائننس)

اجناس کے فیوچر ٹریڈنگ

اجناس کے فیوچر ٹریڈنگ اور ڈیجیٹل کرنسی کے فیوچر ٹریڈنگ میں بہت بڑا فرق ہے۔ سب سے پہلے ، اجناس کے فیوچر ٹریڈنگ کا وقت بہت کم ہے ، ڈیجیٹل کرنسی 24h ٹریڈنگ ہے۔ اجناس کے فیوچر کا معاہدہ بھی عام طور پر استعمال نہیں کیا جاتا ہے REST API؛ اجناس کے فیوچر کی تجارت کی فریکوئنسی اور انوینٹری کی تعداد کی پابندی ، ڈیجیٹل کرنسی بہت نرمی ہے ، وغیرہ۔ لہذا ، اجناس کے فیوچر ٹریڈنگ میں بہت ساری جگہیں ہیں جن پر خصوصی توجہ کی ضرورت ہے ، اور مشورہ دیا جاتا ہے کہ آپ کو عملی طور پر دستی آپریشن کا تجربہ ہو۔ FMZ سیمنوا اجناس کے فیوچر سمپلنگ ڈسک کی حمایت کرتا ہے ، حوالہ: https://www.fmz.com/bbs-topic/325 。 اجناس کے فیوچر کمپنی نے مزید کہا: https://www.fmz.com/bbs-topic/371

جون 2019 میں ، فرنٹ ٹریڈنگ کے ساتھ ، فرنٹ ٹریڈنگ کے لائسنسنگ کوڈ کے لئے انفرادی پروگرامنگ کے لئے انفرادی صارفین کی ضرورت ہوتی ہے۔ اس میں عام طور پر 4-5 دن لگتے ہیں۔ ایف ایم زیڈ مقداری پلیٹ فارم ، پروگرامنگ ٹریڈنگ فراہم کرنے والے کے طور پر ، مختلف فرنٹ ٹریڈنگ سروسز کے لئے سافٹ ویئر لائسنسنگ کے لئے درخواست دیتا ہے۔ صارفین کو براہ راست درخواست دینے کی ضرورت نہیں ہے۔ فرنٹ ٹریڈنگ کو شامل کرنے کے لئے ، فرنٹ ٹریڈنگ کو تلاش کرنے کے لئے ، فرنٹ ٹریڈنگ کو تلاش کریں اور ایف ایم زیڈ کی درخواستوں کی فہرست دیکھیں۔ مخصوص حوالہ پوسٹ: https://www.fmz.com/bbs-topic/3860 。 اگر آپ کا فاریکس سپلائر فہرست میں شامل نہیں ہے تو ، صرف خود ہی درخواست دے سکتا ہے ، یا تجارت کھولنے میں دوبارہ تعاون کرسکتا ہے ، عام طور پر 2 دن کی ضرورت ہوتی ہے۔

ایف ایم زیڈ پلیٹ فارم کے فن تعمیر کے فوائد کی وجہ سے ، صارفین متعدد فیوچر ڈیلر اکاؤنٹس بھی شامل کرسکتے ہیں ، اور کچھ ایسی خصوصیات کو انجام دے سکتے ہیں جو دوسرے اجناس کے مستقبل کے پروگرام ٹریڈنگ سافٹ ویئر نہیں کرسکتے ہیں ، جیسے اعلی تعدد ٹک کی ترکیب ، حوالہ: https://www.fmz.com/bbs-topic/1184

پالیسی فریم ورک

سب سے پہلے ، چونکہ یہ 24 گھنٹے کی تجارت نہیں ہے اور اس کے لئے لاگ ان کرنے کی ضرورت ہے ، لہذا تجارت کرنے سے پہلے لنک کی حیثیت کا اندازہ لگانا ضروری ہے۔exchange.IO("status")کے لیےtrueاس کا مطلب ہے کہ منسلک ہونے پر تبادلہ کریں۔ اگر لاگ ان کامیابی سے نہیں ہوا تو API کو بلایا گیا ، ‘not login’ نہیں کہا گیا۔ حکمت عملی کے آغاز کے بعد سوتے ہیں ((2000)) ، لاگ ان کرنے کے لئے ایک خاص وقت دیا گیا ہے۔ آپ سبسکرپشن کی دوبارہ کوشش بھی کرسکتے ہیں۔_C(exchange.SetContractType,"MA888")اس سے لینڈنگ کی کامیابی کو یقینی بنایا جا سکتا ہے۔

کموڈٹی فیوچر کے لئے حاصل کرنے اور تجارت کرنے کا کوڈ ڈیجیٹل کرنسی فیوچر کی طرح ہی ہے۔ یہاں مختلف اور توجہ دینے کی ضرورت ہے۔

function main(){
    _C(exchange.SetContractType,"MA888") //没登陆成功是无法订阅合约的,最好重试一下
    while(true){
        if(exchange.IO("status")){
            var ticker = exchange.GetTicker()
            Log("MA888 ticker:", ticker)
            LogStatus(_D(), "已经连接CTP !")//_D获取事件
        } else {
            LogStatus(_D(), "未连接CTP !")
            Sleep(1000)
        }
    }
}

اس وقت کوڈ بہت آسان ہو جائے گا، اس وقت تک کہ آپ کو پیچیدہ تفصیلات کے ساتھ نمٹنے کی ضرورت نہیں ہوگی. ماخذ کاپی کریں: https://www.fmz.com/strategy/57029

”` function main() { // 使用了商品期货类库的CTA策略框架 $.CTA(Symbols, function(st) { var r = st.records var mp = st.position.amount var symbol = st.symbol /* r为K线, mp为当前品种持仓数量, 正数指多仓, 负数指空仓, 0则不持仓, symbol指品种名称 返回值如为n: n = 0 : 指全部平仓(不管当前持多持空) n > 0 : 如果当前持多仓,则加n个多仓, 如果当前为空仓则平n个空仓,如果n大�