Berasaskan platform FMZ (versi 3.8.8 untuk pentadbir), cepat menggunakan API Polymarket.
Symbol mestilahexchange.GetMarkets()Nilai kunci yang dikembalikan adalah tepat, fungsi ini dipanggil dengan perlahan pada kali pertama, dan kemudian disimpan dalam cache, dengan format:
{marketSlug}_USDC.(Yes/No)
Contohnya:
will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
YesToken = peristiwa pertaruhanMajlisBerlakuNoToken = peristiwa pertaruhanTidak.Berlakuvar 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) + "%");
}
}
| Kaedah | menggambarkan |
|---|---|
GetMarkets() |
Untuk mendapatkan semua pasaran, kunci yang dikembalikan adalah simbol yang sah. |
GetTicker(symbol) |
{Last, Buy, Sell} |
GetDepth(symbol) |
∀{Asks, Bids}∀ |
GetAccount() |
Saldo akaun {Balance, FrozenBalance} |
GetPositions() |
Senarai pegangan [{Symbol, Amount, Profit}] |
CreateOrder(symbol, side, price, amount) |
Tukar harga ke harga pasaran. |
CancelOrder(orderId) |
Batalkan Pesanan |
GetOrder(orderId) |
Ciri-ciri |
GetOrders() |
Pesanan yang belum selesai |
side: "buy" / "sell"