
Inventor Quantitative Trading Platform Extension API کو حال ہی میں براہ راست رسائی کے موڈ کو سپورٹ کرنے کے لیے اپ گریڈ کیا گیا تھا، جو خودکار ٹریڈنگ کا احساس کرنے کے لیے Inventor Quantitative Trading Platform کے روبوٹ کو TradingView الارم سگنل بھیجنا آسان بناتا ہے۔ اگر آپ اب بھی نہیں جانتے کہ ایکسٹینشن API کیا ہے تو مجھے اس کی تفصیل بتانے دیں۔
موجد API دستاویزات سے متعلق لنکس
توسیعی API کا بنیادی کام پروگرامیٹک آپریشن موجد کے مقداری تجارتی پلیٹ فارم پر مختلف فنکشنز کے لیے ایک انٹرفیس فراہم کرنا ہے، جیسے روبوٹ کو بیچوں میں ایک ہی وقت میں شروع کرنا، مقررہ وقت پر روبوٹس کو شروع کرنا اور روکنا، روبوٹ کی معلومات کی تفصیلات پڑھنا وغیرہ۔ ہم TradingView الرٹ سگنل ٹریڈنگ کو لاگو کرنے کے لیے Inventor Quantitative Trading Platform Extension API کا استعمال کرتے ہیں اس ضرورت کے لیے صرف API کی توسیع کی ضرورت ہے۔CommandRobot(RobotId, Cmd)انٹرفیس مخصوص آئی ڈی کے ساتھ روبوٹ کو انٹرایکٹو ہدایات بھیج سکتا ہے۔
ایکسٹینشن API استعمال کرنے کے لیے، آپ کو پہلے اپنا موجد اکاؤنٹ بنانا ہوگا۔API KEY:
API KEYکلید ہےaccess keyاورsecret keyترکیب،API KEYیہ پروگرام شدہ کارروائیوں کے ذریعہ ایجاد کردہ مقداری تجارتی پلیٹ فارم کی کلید ہے، لہذا اسے صحیح طریقے سے رکھا جانا چاہیے اور اسے کبھی ظاہر نہیں کرنا چاہیے۔ FMZ ایکسٹینشن بناناAPI KEYجب آپ استعمال کرتے ہیں تو آپ اجازتیں بتا سکتے ہیں۔API KEYرسائی فراہم کریں۔CommandRobot(RobotId, Cmd)اس مثال کے لیے، سیکورٹی وجوہات کی بنا پر، صرف FMZ ایکسٹینشن کو اجازت دیں۔API KEYاینڈوCommandRobot(RobotId, Cmd)انٹرفیس تک رسائی کی اجازت۔
براہ راست رسائی موڈ کا مطلب ہےAPI KEYاسے براہ راست URL کے استفسار میں لکھیں، مثال کے طور پر، Inventor Quantitative Trading Platform extension API تک رسائی کے لیے URL کو اس طرح لکھا جا سکتا ہے:
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 اکاؤنٹ access_key بھریں)، پیرامیٹرزsecret_keyخفیہ کلید کی نمائندگی yyyy کے ذریعے کی جاتی ہے (اسے استعمال کرتے وقت اپنے اکاؤنٹ کی secret_key کو بھریں)، پیرامیٹرmethodتوسیع شدہ API انٹرفیس کا مخصوص نام ہے جس تک رسائی حاصل کرنا ہے۔argsبلایا جائے۔methodانٹرفیس کے پیرامیٹرز۔
موجد کے مقداری تجارتی پلیٹ فارم روبوٹ کو تجارتی کمانڈ بھیجنے کے لیے ہم TradingView کو سگنل کے ذریعہ استعمال کرتے ہیں۔CommandRobotیہ انٹرفیس۔
سب سے پہلے، آپ کے پاس ٹریڈنگ ویو پرو اکاؤنٹ ہونا ضروری ہے۔ ہم TradingView پر چارٹ پر جاتے ہیں۔

چارٹ میں ایک اشارے شامل کرتا ہے، بلکہ دیگر اسکرپٹ الگورتھم بھی۔ یہاں ہم سب سے زیادہ استعمال کیا جاتا ہےMACDاشارے، اور پھر K-لائن کی مدت کو 1 منٹ پر سیٹ کریں (سگنل کو تیزی سے متحرک کرنے اور مظاہرے کو آسان بنانے کے لیے)۔

چارٹ پر دائیں کلک کریں اور پاپ اپ مینو سے انتباہ شامل کریں کو منتخب کریں۔

“الرٹ” پاپ اپ ونڈو میں سیٹ کریں۔WebHookاس مرحلے پر، آپ کو اسے ترتیب دینے کے لیے جلدی کرنے کی ضرورت نہیں ہے، آئیے پہلے روبوٹ کو چلائیں جو موجد کے مقداری تجارتی پلیٹ فارم پر سگنلز کی نگرانی کرتا ہے۔
حکمت عملی کا ماخذ کوڈ:
// 全局变量
var BUY = "buy" // 注意:现货用的命令
var SELL = "sell" // 现货用的命令
var LONG = "long" // 期货用的命令
var SHORT = "short" // 期货用的命令
var COVER_LONG = "cover_long" // 期货用的命令
var COVER_SHORT = "cover_short" // 期货用的命令
function main() {
// 清空日志,如不需要,可以删除
LogReset(1)
// 设置精度
exchange.SetPrecision(QuotePrecision, BasePrecision)
// 识别期货还是现货
var eType = 0
var eName = exchange.GetName()
var patt = /Futures_/
if (patt.test(eName)) {
Log("添加的交易所为期货交易所:", eName, "#FF0000")
eType = 1
if (Ct == "") {
throw "Ct 合约设置为空"
} else {
Log(exchange.SetContractType(Ct), "设置合约:", Ct, "#FF0000")
}
} else {
Log("添加的交易所为现货交易所:", eName, "#32CD32")
}
var lastMsg = ""
var acc = _C(exchange.GetAccount)
while(true) {
var cmd = GetCommand()
if (cmd) {
// 检测交互命令
lastMsg = "命令:" + cmd + "时间:" + _D()
var arr = cmd.split(":")
if (arr.length != 2) {
Log("cmd信息有误:", 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("现货交易所不支持!", "#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("期货交易所不支持!", "#FF0000")
}
if (tradeInfo) {
Log("tradeInfo:", tradeInfo)
}
} else {
throw "eType error, eType:" + eType
}
acc = _C(exchange.GetAccount)
}
var tbl = {
type : "table",
title : "状态信息",
cols : ["数据"],
rows : []
}
// tbl.rows.push([JSON.stringify(acc)]) // 测试时使用
LogStatus(_D(), eName, "上次接收到的命令:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
Sleep(1000)
}
}
حکمت عملی کوڈ بہت آسان ہے، پتہ لگانےGetCommandفنکشن کی واپسی کی قیمت، جب پالیسی پروگرام کو ایک انٹرایکٹو پیغام بھیجا جاتا ہے،GetCommandفنکشن اس پیغام کو واپس کرے گا، اور پھر حکمت عملی پروگرام پیغام کے مواد کی بنیاد پر متعلقہ تجارتی کارروائیاں کرے گا۔ اس حکمت عملی پر انٹرایکٹو بٹن ترتیب دیا گیا ہے، جو انٹرایکٹو فنکشن کو جانچ سکتا ہے، مثال کے طور پر، اس حکمت عملی کو چلائیں اور روبوٹ کو موجد مقداری تجارتی پلیٹ فارم کے نقلی تبادلے کے ساتھ ترتیب دیں۔WexApp。

روبوٹ کی خریداری کے احکامات حاصل کرنے کی صلاحیت کو جانچنے کے لیے تعامل کے بٹن پر کلک کریں۔

آپ دیکھ سکتے ہیں کہ روبوٹ کو موصول ہونے والی کمانڈ سٹرنگ ہے:buy:0.01。
ہمیں صرف WebHook کی درخواست URL کو Inventor Quantitative Trading Platform Extension API تک رسائی فراہم کرنے کی ضرورت ہے جب TradingView الرٹ ٹرگر ہوتا ہے۔CommandRobotانٹرفیس کا استعمال کرتے وقت، لے جانے والے پیرامیٹرز ہوتے ہیں۔buy:0.01بس۔
TradingView میں واپس، ہم WebHook کا URL پُر کرتے ہیں۔ دیناaccess_key、secret_keyاپنے پیرامیٹرز کو پُر کریں۔API KEY。methodفکسڈ، ہمیں صرف رسائی کی ضرورت ہے۔CommandRobotیہ توسیعی API انٹرفیس،argsپیرامیٹرز ہیں۔[机器人ID,命令字符串]کی شکل میں، ہم روبوٹ صفحہ کے ذریعے روبوٹ ID براہ راست حاصل کر سکتے ہیں، جیسا کہ تصویر میں دکھایا گیا ہے:
اس بار ہم سگنل کو ٹرگر کرنے دیتے ہیں اور 0.02 سکے خریدتے ہیں کمانڈ سٹرنگ ہے:"buy:0.02". یہ WebHook URL کو مکمل کرتا ہے۔ یہ طریقہ صرف یو آر ایل میں سگنل لکھنے کی حمایت کرتا ہے اگر آپ انتباہی پیغام کا مواد حاصل کرنا چاہتے ہیں جو خود ٹی وی کی حکمت عملی سے جاری کیا جا سکتا ہے، تو https://www.fmz.com/api#%E7%9B سے رجوع کریں۔ %B4%E6%8E%A5%E9%AA%8C%E8%AF%81۔
https://www.fmz.com/api/v1?access_key=e3809e173e23004821a9bfb6a468e308&secret_key=45a811e0009d91ad21154e79d4074bc6&method=CommandRobot&args=[191755,"buy:0.02"]
TradingView پر ترتیب دینا:

سگنل کے ٹرگر ہونے کا انتظار کر رہا ہے… سگنل کے ٹرگر ہونے کا انتظار کر رہے ہیں.. سگنل کے ٹرگر ہونے کا انتظار کر رہے ہیں۔ …

روبوٹ کو سگنل ملا:

اس طرح، آپ ٹریڈنگ ویو پر ریچ چارٹ فنکشنز اور انڈیکیٹر الگورتھم کو انوینٹر کوانٹیٹیو ٹریڈنگ پلیٹ فارم کے اسٹریٹجی روبوٹس کے ساتھ استعمال کر سکتے ہیں تاکہ آپ اپنی مرضی کے مطابق ٹریڈنگ حاصل کر سکیں، TradingView پر حکمت عملیوں کو JavaScript اور Python زبانوں میں پورٹ کرنے کے مقابلے میں۔ مشکل بہت کم ہے.
“Monitoring Signal Order Placing Robot” کا حکمت عملی کوڈ صرف سیکھنے اور تحقیق کے لیے ہے اور اسے اپنے آپ کو درست کرنے کی ضرورت ہے اور اسے مارکیٹ آرڈر موڈ پر سیٹ کرنے کی سفارش کی جاتی ہے۔ تفصیلات کے لیے کوڈ کے پیرامیٹرز۔ یہ صرف ایک نقطہ آغاز ہے اگر آپ کے پاس کوئی سوال یا تجاویز ہیں، تو براہ کرم ایک پیغام چھوڑیں۔