6
Suivre
879
Abonnés

Guide de démarrage rapide de l'API Polymarket

Créé le: 2026-02-14 19:04:34, Mis à jour le: 2026-02-18 22:00:17
comments   0
hits   394

Guide de démarrage rapide de l’API Polymarket

Il est basé sur la plateforme FMZ (version 3.8.8 pour les administrateurs) et utilise l’API Polymarket.


Le format Symbol

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.
  • La fourchette de prix 0 à 1 représente la probabilité que le marché considère que: 0.65 = 65%

Scénario 1: Obtenir tous les marchés ((obtenir les symboles valides)

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

Scène 2: Obtenir des renseignements

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

Scénario 3: vérification des comptes et détention de positions

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

Scène 4: commander

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

Scénario 5: vérification / décharge

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

// 撤单
exchange.CancelOrder(orderId);

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

Scène 6: Le dépôt est liquidé

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

Scène 7: Rédemption

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


Scénario 8: Un marché à la recherche d’un critère de faible probabilité

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 couramment utilisée

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"