Basado en la plataforma FMZ (versión 3.8.8 de los administradores) y con una API de Polymarket de manejo rápido.
El símbolo debe serexchange.GetMarkets()La clave devuelta es exacta, y la función se llama lentamente por primera vez, y luego se guarda en caché, en el formato:
{marketSlug}_USDC.(Yes/No)
Ejemplo:
will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
YesEl token es el evento de apuesta.La reunión.¿Qué ocurre?NoEl token es el evento de apuesta.No lo haré.¿Qué ocurre?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) + "%");
}
}
| El método | ilustrar |
|---|---|
GetMarkets() |
Para acceder a todos los mercados, la llave que devuelve es el símbolo válido. |
GetTicker(symbol) |
En la actualidad, la mayor parte de las tiendas de la ciudad están cerradas, y la mayoría de las tiendas están cerradas. |
GetDepth(symbol) |
En la página de Facebook de la empresa, se puede encontrar el nombre de la persona que ofrece la oferta. |
GetAccount() |
El saldo de la cuenta {Balance, FrozenBalance} |
GetPositions() |
Lista de las posiciones [{Symbol, Amount, Profit}] |
CreateOrder(symbol, side, price, amount) |
El precio es el precio de mercado. |
CancelOrder(orderId) |
Cancelar pedido |
GetOrder(orderId) |
Una hoja de búsqueda |
GetOrders() |
Pedidos pendientes |
side: "buy" / "sell"