6
Seguir
879
Seguidores

Guía de inicio rápido de la API de Polymarket

Creado el: 2026-02-14 19:04:34, Actualizado el: 2026-02-18 22:00:17
comments   0
hits   394

Guía de inicio rápido de la API de Polymarket

Basado en la plataforma FMZ (versión 3.8.8 de los administradores) y con una API de Polymarket de manejo rápido.


Formato de símbolos

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?
  • El rango de precios 0 a 1 representa la probabilidad de que el mercado considere que: 0.65 = 65%

Escenario 1: Obtener todos los mercados (obtener símbolos válidos)

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);
}

Escenario 2: Obtención de información

// 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);

Escenario 3: Comprobar cuentas y posiciones

// 账户
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);
}

Escenario 4: La orden

// 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);

Escenario 5: Recurso/retiro de la solicitud

// 查询订单
var order = exchange.GetOrder(orderId);
Log("状态:", order.Status, "成交:", order.DealAmount);

// 撤单
exchange.CancelOrder(orderId);

// 所有未成交订单
var orders = exchange.GetOrders();

Escenario 6: Cancelación de las acciones

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);
}

Escenario 7: El regreso de Redeem

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))
    }
})


Escenario 8: Buscar en el mercado un indicador de baja probabilidad

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) + "%");
    }
}

API de uso común

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"