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

কোড বাস্তবায়ন:
function pendingOrders(ordersNum, price, amount, deltaPrice, deltaAmount) {
var routineOrders = []
var ordersIDs = []
for (var i = 0 ; i < ordersNum ; i++) {
var routine = exchange.Go("Buy", price + i * deltaPrice, amount + i * deltaAmount)
routineOrders.push(routine)
Sleep(ApiReqInterval)
}
for (var i = 0 ; i < routineOrders.length ; i++) {
var orderId = routineOrders[i].wait()
if (orderId) {
ordersIDs.push(orderId)
Log("成功挂单", orderId)
}
}
return ordersIDs
}
function main() {
if (symbol == "null" || pendingPrice == -1 || pendingAmount == -1 || pendingPrice == -1 || deltaPrice == -1 || deltaAmount == -1) {
throw "参数设置错误"
}
exchange.SetCurrency(symbol)
// 屏蔽错误信息
SetErrorFilter("GetDepth")
while (true) {
var msg = ""
var depth = exchange.GetDepth()
if (!depth || (depth.Bids.length == 0 && depth.Asks.length == 0)) {
// 没有深度
msg = "没有深度数据,等待!"
Sleep(500)
} else {
// 获取到深度
Log("并发下单!")
var ordersIDs = pendingOrders(ordersNum, pendingPrice, pendingAmount, deltaPrice, deltaAmount)
while (true) {
var orders = _C(exchange.GetOrders)
if (orders.length == 0) {
Log("当前挂单个数0,停止运行")
return
}
var tbl = {
type: "table",
title: "当前挂单",
cols: ["id", "价格", "数量"],
rows: []
}
_.each(orders, function(order) {
tbl.rows.push([order.Id, order.Price, order.Amount])
})
LogStatus(_D(), "\n`" + JSON.stringify(tbl) + "`")
Sleep(500)
}
}
LogStatus(_D(), msg)
}
}
কৌশলটি এক্সচেঞ্জ এপিআই এবং অর্ডার বুক ইন্টারফেস সনাক্ত করে একবার অর্ডার বুকের ডেটা পাওয়া গেলে, কৌশলটি একযোগে অর্ডার দেওয়ার জন্য এক্সচেঞ্জ। গো ফাংশন ব্যবহার করে। একটি অর্ডার দেওয়ার পরে, এটি বর্তমান মুলতুবি থাকা অর্ডারের স্থিতি সনাক্ত করতে চক্রাকারে চলে যাবে। কৌশলটি আসলে পরীক্ষিত হয়নি এখানে শুধুমাত্র একটি কোড ডিজাইনের রেফারেন্স আছে যারা এটিকে পরিবর্তন করতে এবং ফাংশন যোগ করতে পারেন।
সম্পূর্ণ কৌশল: https://www.fmz.com/strategy/358383