ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ API کو حال ہی میں براہ راست رسائی کی حمایت کے لئے اپ گریڈ کیا گیا ہے ، تاکہ یہ خودکار تجارت کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم روبوٹ کو ٹریڈنگ ویو الرٹ سگنل آسانی سے بھیج سکے۔ اگر آپ نہیں جانتے کہ توسیع API کیا ہے تو ، میری توجہ سے سنیں۔
ایف ایم زیڈ پر اے پی آئی دستاویزات کے کچھ لنکس (https://www.fmz.com/api)
توسیع شدہ API کا بنیادی کام پروگرام کے آپریشن کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر مختلف افعال کے لئے انٹرفیس فراہم کرنا ہے ، جیسے روبوٹ کو بیک وقت بیچوں میں شروع کرنا ، روبوٹ کو شروع کرنے اور روکنے کا وقت ، روبوٹ کی معلومات کی تفصیلات پڑھنا وغیرہ۔ ہم ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ API کا استعمال ٹریڈنگ ویو الرٹ سگنل ٹریڈنگ کے مطالبہ کے منصوبے کو پورا کرنے کے لئے کرتے ہیں ، جو صرفCommandRobot(RobotId, Cmd)
توسیع شدہ API میں انٹرفیس۔ یہ انٹرفیس روبوٹ کو ایک مخصوص آئی ڈی کے ساتھ انٹرایکٹو ہدایات بھیج سکتا ہے ، اور روبوٹ ہدایات موصول ہونے کے بعد اسی طرح کے عمل (جیسے خریدنے ، فروخت ، وغیرہ کا آرڈر دینا) انجام دے سکتا ہے۔
توسیع API استعمال کرنے کے لئے، آپ کو ایک تخلیق کرنے کی ضرورت ہےAPI KEY
پہلے اپنے ایف ایم زیڈ اکاؤنٹ کے لیے:
راز کی چابیAPI KEY
پر مشتمل ہےaccess key
اورsecret key
. API KEY
پروگرام کے آپریشن کے FMZ کوانٹ ٹریڈنگ پلیٹ فارم کو مقداری بنانے کی کلید ہے، لہذا اسے مناسب طریقے سے رکھا جانا چاہئے اور انکشاف نہیں کیا جانا چاہئے.API KEY
FMZ پر، آپ کی اجازت کی وضاحت کر سکتے ہیں. مثال کے طور پر مندرجہ بالا اعداد و شمار صرف دیتا ہےAPI KEY
رسائی کی اجازتCommandRobot(RobotId, Cmd)
اس مثال کے لئے، سیکورٹی کے تحفظات کی بنیاد پر، براہ مہربانی صرف توسیعAPI KEY
پر FMZ رسائی کی اجازتCommandRobot(RobotId, Cmd)
interface.
براہ راست رسائی موڈ کا مطلب ہے کہAPI KEY
براہ راست یو آر ایل استفسار میں لکھا جاتا ہے۔ مثال کے طور پر ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ اے پی آئی تک رسائی کے لئے یو آر ایل اس طرح لکھا جاسکتا ہے:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"ok12345"]
کہاںhttps://www.fmz.com/api/v1
انٹرفیس ایڈریس ہے،?
کے بعد آتا ہےQuery
، پیرامیٹرaccess_key
خفیہ کلید مثال کے طور پر xxx کی طرف سے نمائندگی کی جاتی ہے (اسے استعمال کرتے وقت اپنے اپنے FMZ اکاؤنٹ کی رسائی_کی میں بھریں) ۔ پیرامیٹرsecret_key
yyyy کی طرف سے نمائندگی کی جاتی ہے (آپ کے اپنے اکاؤنٹ secret_key میں بھریں جب آپ اسے استعمال کرتے ہیں). پیرامیٹرmethod
توسیع شدہ API انٹرفیس کا مخصوص نام ہے جس تک رسائی حاصل کی جائے گی، اورargs
کے پیرامیٹر ہےmethod
انٹرفیس بلایا جائے گا.
ہم FMZ کوانٹ ٹریڈنگ پلیٹ فارم روبوٹ کو لین دین کے احکامات بھیجنے کے لئے سگنل ماخذ کے طور پر ٹریڈنگ ویو کا استعمال کرتے ہیں.CommandRobot
interface.
سب سے پہلے، آپ کو ٹریڈنگ ویو پرو کی سطح کا اکاؤنٹ ہونا ضروری ہے۔ انتباہ میں ویب ہڈ فنکشن بنیادی سطح پر استعمال نہیں کیا جاسکتا۔
ٹریڈنگ ویو چارٹ میں، آپ چارٹ یا دیگر اسکرپٹ الگورتھم میں ایک اشارے کو شامل کر سکتے ہیں.MACD
اشارے، اور پھر ہم 1 منٹ (تیز سگنل ٹرگرنگ اور آسان مظاہرے کے لئے) کے لئے K لائن مدت مقرر.
چارٹ پر دائیں کلک کریں اور پاپ اپ مینو سے
سیٹWebHook
حکمت عملی کا ماخذ کوڈ:
// Global variable
var BUY = "buy" // Note: The command used for spot
var SELL = "sell" // The command used for spot
var LONG = "long" // The command used for future
var SHORT = "short" // The command used for future
var COVER_LONG = "cover_long" // The command used for future
var COVER_SHORT = "cover_short" // The command used for future
function main() {
// Clear the log and delete it if not needed
LogReset(1)
// Set precision
exchange.SetPrecision(QuotePrecision, BasePrecision)
// Identify future or spot
var eType = 0
var eName = exchange.GetName()
var patt = /Futures_/
if (patt.test(eName)) {
Log("The added exchange is a futures exchange:", eName, "#FF0000")
eType = 1
if (Ct == "") {
throw "Ct Contract set to null"
} else {
Log(exchange.SetContractType(Ct), "set contract:", Ct, "#FF0000")
}
} else {
Log("The added exchange is a spots exchange:", eName, "#32CD32")
}
var lastMsg = ""
var acc = _C(exchange.GetAccount)
while(true) {
var cmd = GetCommand()
if (cmd) {
// Detect interactive commands
lastMsg = "command:" + cmd + "time:" + _D()
var arr = cmd.split(":")
if (arr.length != 2) {
Log("cmd incorrect information:", cmd, "#FF0000")
continue
}
var action = arr[0]
var amount = parseFloat(arr[1])
if (eType == 0) {
if (action == BUY) {
var buyInfo = IsMarketOrder ? exchange.Buy(-1, amount) : $.Buy(amount)
Log("buyInfo:", buyInfo)
} else if (action == SELL) {
var sellInfo = IsMarketOrder ? exchange.Sell(-1, amount) : $.Sell(amount)
Log("sellInfo:", sellInfo)
} else {
Log("The spots exchange is not supported!", "#FF0000")
}
} else if (eType == 1) {
var tradeInfo = null
var ticker = _C(exchange.GetTicker)
if (action == LONG) {
exchange.SetDirection("buy")
tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
} else if (action == SHORT) {
exchange.SetDirection("sell")
tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
} else if (action == COVER_LONG) {
exchange.SetDirection("closebuy")
tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
} else if (action == COVER_SHORT) {
exchange.SetDirection("closesell")
tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
} else {
Log("The futures exchange is not supported!", "#FF0000")
}
if (tradeInfo) {
Log("tradeInfo:", tradeInfo)
}
} else {
throw "eType error, eType:" + eType
}
acc = _C(exchange.GetAccount)
}
var tbl = {
type : "table",
title : "status information",
cols : ["data"],
rows : []
}
// tbl.rows.push([JSON.stringify(acc)]) // Use it when testing
LogStatus(_D(), eName, "Last received command:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
Sleep(1000)
}
}
حکمت عملی کا ماخذ کوڈ (https://www.fmz.com/strategy/203063)
حکمت عملی کا کوڈ بہت آسان ہے. یہ واپسی کی قیمت کا پتہ لگاتا ہےGetCommand
جب ایک انٹرایکٹو پیغام حکمت عملی کے پروگرام میں بھیجا جاتا ہے،GetCommand
فنکشن پیغام واپس کرتا ہے ، اور حکمت عملی پروگرام پیغام کے مواد کے مطابق اسی ٹرانزیکشن آپریشن کرتا ہے۔ انٹرایکٹو فنکشن کی جانچ کرنے کے لئے اس حکمت عملی پر انٹرایکٹو بٹن سیٹ کیا گیا ہے۔ مثال کے طور پر ، اس حکمت عملی کو چلائیں اور روبوٹ کو تشکیل دیںWexApp
، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کا ایک مشابہ تبادلہ۔
ہم خریدنے کے آرڈر کو وصول کرنے کے روبوٹ کی تقریب کی جانچ کرنے کے لئے انٹرایکٹو بٹن پر کلک کریں، پھر ہم دیکھ سکتے ہیں کہ روبوٹ کی طرف سے موصول کمانڈ سٹرنگ ہے:buy:0.01
.
ہم صرف ویب ہک درخواست یو آر ایل بنانے کی ضرورت ہے جب ٹریڈنگ ویو الرٹ تک رسائی حاصل کرنے کے لئے شروع کیا جاتا ہےCommandRobot
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم توسیع API کے انٹرفیس، پیرامیٹر لے جاتا ہےbuy:0.01
.
واپس ٹریڈنگ ویو میں، ہم ویب ہک کے یو آر ایل میں بھرنے. پیرامیٹرز کے لئے آپ کے اپنے API کلید میں بھرنےaccess_key
, secret_key
.method
طے شدہ ہے. ہم صرف تک رسائی حاصل کرنے کی ضرورت ہےCommandRobot
توسیع API انٹرفیس. پیرامیٹرargs
کی شکل میں ہے[Robot ID, Command String]
ہم روبوٹ ID حاصل کر سکتے ہیں روبوٹ کے صفحے کے ذریعے، براہ راست کے طور پر شکل میں دکھایا گیا ہے:
اس بار، ہم سگنل کو ٹرگر کرتے ہیں، 0.02 سکے خریدتے ہیں، اور کمانڈ سٹرنگ یہ ہے:buy:0.02
. پھر ویب ہک یو آر ایل مکمل ہے. یہ طریقہ صرف یو آر ایل میں سگنل لکھنے کی حمایت کرتا ہے. اگر آپ انتباہی پیغام کا مواد حاصل کرنا چاہتے ہیں جو ٹی وی کی حکمت عملی کے ذریعہ خود بھیجا جاسکتا ہے تو ، ملاحظہ کریںhttps://www.fmz.com/api#براہ راست تصدیق
https://www.fmz.com/api/v1?access_key=e3809e173e23004821a9bfb6a468e308&secret_key=45a811e0009d91ad21154e79d4074bc6&method=CommandRobot&args= [191755,"buy:0.02"]
ٹریڈنگ ویو پر سیٹ کریں:
سگنل کے ٹرگر ہونے کا انتظار کریں... سگنل کے ٹرگر ہونے کا انتظار کریں... سگنل کے ٹرگر ہونے کا انتظار کریں... ...
اس کے بعد روبوٹ سگنل وصول کرے گا ، اس طرح ، ہم ٹریڈنگ ویو پر مختلف چارٹ افعال اور اشارے کے الگورتھم استعمال کرسکتے ہیں تاکہ آپ کی مطلوبہ خودکار تجارت کے حصول کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے حکمت عملی روبوٹ کے ساتھ تعاون کریں۔ ٹریڈنگ ویو پر حکمت عملیوں کو جاوا اسکرپٹ اور پائتھون زبانوں میں پورٹ کرنے کی دشواری کے مقابلے میں ، مشکل کم ہوجاتی ہے۔