
উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্ম এক্সটেনশন API সম্প্রতি আপগ্রেড করা হয়েছে, এবং আপগ্রেড সরাসরি অ্যাক্সেস মোড সমর্থন করে, যাতে ট্রেডিংভিউ অ্যালার্ম সংকেতগুলি সহজেই স্বয়ংক্রিয় ট্রেডিংয়ের জন্য উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্ম রোবটে পাঠানো যেতে পারে। আপনি যদি না জানেন যে একটি এক্সটেনশন API কী, আমার কথা শুনুন বিস্তারিতভাবে ব্যাখ্যা করুন।
উদ্ভাবক API ডকুমেন্টেশনের প্রাসঙ্গিক অংশের লিঙ্ক
বর্ধিত API-এর প্রধান কাজ হল প্রোগ্রাম্যাটিক অপারেশন উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্মে বিভিন্ন ফাংশনের জন্য একটি ইন্টারফেস প্রদান করা, যেমন একই সময়ে ব্যাচে রোবট শুরু করা, নির্ধারিত সময়ে রোবট শুরু করা এবং বন্ধ করা, রোবটের তথ্যের বিবরণ পড়া ইত্যাদি। ট্রেডিংভিউ অ্যালার্ট সিগন্যাল ট্রেডিং বাস্তবায়নের জন্য আমরা ইনভেনটর কোয়ান্টিটেটিভ ট্রেডিং প্ল্যাটফর্ম এক্সটেনশন 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-এর ক্যোয়ারীতে লিখুন, উদাহরণস্বরূপ, উদ্ভাবক কোয়ান্টিটেটিভ ট্রেডিং প্ল্যাটফর্ম এক্সটেনশন এপিআই অ্যাক্সেস করার 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 অ্যাকাউন্টের অ্যাক্সেস_কি পূরণ করুন), পরামিতিsecret_keyগোপন কীটি yyyy দ্বারা প্রতিনিধিত্ব করা হয় (এটি ব্যবহার করার সময় আপনার নিজের অ্যাকাউন্ট secret_key পূরণ করুন), প্যারামিটারmethodএক্সটেনশন API ইন্টারফেসের নির্দিষ্ট নাম যা অ্যাক্সেস করা হবে,argsকল করাmethodইন্টারফেসের পরামিতি।
উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্ম রোবটকে ট্রেডিং কমান্ড পাঠাতে আমরা ট্রেডিংভিউকে সংকেত উৎস হিসেবে ব্যবহার করিCommandRobotএই ইন্টারফেস।
প্রথমত, আপনার একটি ট্রেডিংভিউ প্রো লেভেল অ্যাকাউন্ট থাকতে হবে। আমরা ট্রেডিংভিউ চার্টে প্রবেশ করি।

চার্টে একটি সূচক যোগ করুন, তবে অন্যান্য স্ক্রিপ্টেড অ্যালগরিদমও। প্রদর্শনের সুবিধার জন্য, আমরা সর্বাধিক ব্যবহৃত ব্যবহার করিMACDনির্দেশক, এবং তারপর কে-লাইন সময়কাল 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。
TradingView সতর্কতা চালু হলে আমাদের কেবল WebHook অনুরোধ URL-কে Inventor Quantitative Trading Platform Extension API-এ অ্যাক্সেস করতে হবে।CommandRobotইন্টারফেস, বহন করা পরামিতিগুলি হল:buy:0.01এটাই।
TradingView-এ ফিরে আমরা WebHook-এর URL পূরণ করি। দেনaccess_key、secret_keyআপনার নিজস্ব প্যারামিটার পূরণ করুন।API KEY。methodস্থির, আমরা যা অ্যাক্সেস করতে চাই তা হলCommandRobotএই বর্ধিত API ইন্টারফেস,argsপরামিতি হল[机器人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-এ সেট আপ করা:

ট্রিগার করার জন্য সিগন্যালের জন্য অপেক্ষা করা হচ্ছে… সংকেত ট্রিগার করার জন্য অপেক্ষা করুন.. সংকেত ট্রিগার করার জন্য অপেক্ষা করুন। …

রোবট সংকেত পেয়েছে:

এইভাবে, আপনি ট্রেডিংভিউতে সমৃদ্ধ চার্টিং ফাংশন এবং সূচক অ্যালগরিদমগুলি ব্যবহার করতে পারেন উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্মের কৌশল রোবটকে জাভাস্ক্রিপ্ট এবং পাইথন ভাষায় ট্রান্সপ্লান্ট করার সাথে তুলনা করে স্বয়ংক্রিয় ট্রেডিং উপলব্ধি করতে। অসুবিধা কমে গেছে।
“মনিটরিং সিগন্যাল অর্ডার প্লেসমেন্ট রোবট” এর প্রকৃত ব্যবহারের জন্য এটিকে অপ্টিমাইজ করা প্রয়োজন এবং বিশদ বিবরণের জন্য এটিকে সাজেস্ট করা হয়েছে৷ কোড পরামিতি। আপনার কোন প্রশ্ন বা পরামর্শ থাকলে, একটি বার্তা ছেড়ে দিন.