FMZ प्लेटफॉर्म पर आधारित है (प्रबंधक संस्करण 3.8.8), और Polymarket API में तेजी से काम करता है।
Symbol को exchange.GetMarkets()इस फ़ंक्शन को पहली बार में धीमी गति से बुलाया जाता है, इसके बाद इसे कैश किया जाता है, और इसका प्रारूप इस प्रकार हैः
{marketSlug}_USDC.(Yes/No)
उदाहरण:
will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
Yesटोकन = सट्टेबाजी घटनासभाहुआNoटोकन = सट्टेबाजी घटनानहीं होगाहुआvar markets = exchange.GetMarkets();
for (var symbol in markets) {
var m = markets[symbol];
Log(symbol); // 这就是下单用的symbol
Log(" 问题:", m.Info.question);
Log(" 24h量:", m.Info.volume24hr);
}
// symbol必须从GetMarkets()的key中获取
var symbol = "will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.Yes";
// ticker
var t = exchange.GetTicker(symbol);
Log("最新价:", t.Last, "买一:", t.Buy, "卖一:", t.Sell);
// 深度
var d = exchange.GetDepth(symbol);
Log("卖一:", d.Asks[0].Price, d.Asks[0].Amount);
Log("买一:", d.Bids[0].Price, d.Bids[0].Amount);
// 账户
var acc = exchange.GetAccount();
Log("可用:", acc.Balance, "USDC");
// 持仓
var pos = exchange.GetPositions();
for (var i = 0; i < pos.length; i++) {
Log(pos[i].Symbol, "数量:", pos[i].Amount, "盈亏:", pos[i].Profit);
}
// symbol必须从GetMarkets()获取
var symbol = "{some-market}_USDC.Yes";
// 市价买入 10 USDC
exchange.CreateOrder(symbol, "buy", -1, 10);
// 限价买入
exchange.CreateOrder(symbol, "buy", 0.55, 20);
// 卖出
exchange.CreateOrder(symbol, "sell", -1, 10);
// 查询订单
var order = exchange.GetOrder(orderId);
Log("状态:", order.Status, "成交:", order.DealAmount);
// 撤单
exchange.CancelOrder(orderId);
// 所有未成交订单
var orders = exchange.GetOrders();
var pos = exchange.GetPositions();
for (var i = 0; i < pos.length; i++) {
if (pos[i].Amount > 0) {
exchange.CreateOrder(pos[i].Symbol, "sell", -1, pos[i].Amount);
}
Sleep(500);
}
var items = _C(exchange.GetPositions);
items.forEach(item => {
if (item.Info.redeemable) {
Log(item.Symbol, item.Info.eventSlug)
Log(exchange.IO("redeem", item.Symbol, true))
}
})
var markets = exchange.GetMarkets();
for (var symbol in markets) {
if (!symbol.endsWith("-YES")) continue;
var prices = JSON.parse(markets[symbol].Info.outcomePrices || "[]");
var yesPrice = parseFloat(prices[0] || 0);
if (yesPrice < 0.3 && yesPrice > 0.05) {
Log(symbol, "YES价格:", (yesPrice * 100).toFixed(1) + "%");
}
}
| विधि | उदाहरण देकर स्पष्ट करना |
|---|---|
GetMarkets() |
सभी बाजारों को प्राप्त करने के लिए, ** लौटाई गई कुंजी एक वैध प्रतीक है ** |
GetTicker(symbol) |
{Last, Buy, Sell} |
GetDepth(symbol) |
गहराई प्राप्त करें {Asks, Bids} |
GetAccount() |
खाता शेष {Balance, FrozenBalance} |
GetPositions() |
होल्डिंग सूची [{Symbol, Amount, Profit}] |
CreateOrder(symbol, side, price, amount) |
और अब हम यहाँ एक और उदाहरण देख रहे हैं. |
CancelOrder(orderId) |
आदेश रद्द |
GetOrder(orderId) |
चेकलिस्ट |
GetOrders() |
अधूरा आदेश |
side: "buy" / "sell"