Il est basé sur la plateforme FMZ (version 3.8.8 pour les administrateurs) et utilise l’API Polymarket.
Le symbole doit être enexchange.GetMarkets()La fonction est appelée lentement la première fois, puis elle est mise en cache, sous la forme:
{marketSlug}_USDC.(Yes/No)
Par exemple:
will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
YesToken = événement de pariLa réunionÇa se passe.NoToken = événement de pariPas du tout.Ça se passe.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) + "%");
}
}
| Les méthodes | illustrer |
|---|---|
GetMarkets() |
Pour accéder à tous les marchés, la clé retournée est un symbole valide. |
GetTicker(symbol) |
Le site est en cours de révision et est en cours d’édition. |
GetDepth(symbol) |
Pour plus de détails, voir Asks, Bids. |
GetAccount() |
Le solde du compte {Balance, FrozenBalance} |
GetPositions() |
Liste des dépôts [{Symbol, Amount, Profit}] |
CreateOrder(symbol, side, price, amount) |
La commande est faite à partir du prix de vente. |
CancelOrder(orderId) |
Annuler la commande |
GetOrder(orderId) |
Le formulaire |
GetOrders() |
Commande non livrée |
side: "buy" / "sell"