6
focar em
879
Seguidores

Guia de Início Rápido da API Polymarket

Criado em: 2026-02-14 19:04:34, atualizado em: 2026-02-18 22:00:17
comments   0
hits   394

Guia de Início Rápido da API Polymarket

Baseado na plataforma FMZ (versão 3.8.8 para os administradores), a API do Polymarket é rápida.


Formato Symbol

O símbolo deve serexchange.GetMarkets()A função é chamada lentamente pela primeira vez e depois é armazenada em cache, no formato:

{marketSlug}_USDC.(Yes/No)

Exemplo:

will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
  • YesToken = evento de apostaReuniãoAconteceu
  • NoToken = evento de apostaNão, não.Aconteceu
  • A faixa de preço 0 a 1, representando a probabilidade de o mercado considerar que: 0.65 = 65%

Cenário 1: Obter todos os mercados (obter 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);
}

Cenário 2: Obter informações

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

Cenário 3: Controle de contas e posições

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

Cenário 4: Encomenda

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

Cenário 5: Verificação/Retirada

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

// 撤单
exchange.CancelOrder(orderId);

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

Cenário 6: liquidação

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

Cenário 7: Redeem é trazido de volta

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


Cenário 8: Pesquisar o mercado em busca de indicadores de baixa probabilidade

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

APIs comuns

Método ilustrar
GetMarkets() A chave que retorna é o símbolo válido.
GetTicker(symbol) O que é que se passa aqui?
GetDepth(symbol) O que é o “Ask, Bids”?
GetAccount() Balanço da conta {Balance, FrozenBalance}
GetPositions() Lista de posições [{Symbol, Amount, Profit}]
CreateOrder(symbol, side, price, amount) Encomenda, preço = -1 é o preço de mercado
CancelOrder(orderId) Cancelar pedido
GetOrder(orderId) Fichas de busca
GetOrders() Encomendas pendentes

side: "buy" / "sell"