6
konzentrieren Sie sich auf
879
Anhänger

Polymarket API-Schnellstartanleitung

Erstellt in: 2026-02-14 19:04:34, aktualisiert am: 2026-02-18 22:00:17
comments   0
hits   394

Polymarket API-Schnellstartanleitung

Basierend auf der FMZ-Plattform (Version 3.8.8 für Administratoren) und mit der Polymarket API vertraut.


Symbol-Format

Symbol muss mitexchange.GetMarkets()Die zurückgegebene Schlüsselwerte sind korrekt, die Funktion wird erstmals langsam aufgerufen und danach gespeichert.

{marketSlug}_USDC.(Yes/No)

Beispiel:

will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
  • YesToken = Wett-EreignisTreffenEreignis
  • NoToken = Wett-EreignisNein, nicht wirklich.Ereignis
  • Die Preisklasse 0 bis 1 steht für die Wahrscheinlichkeit, dass der Markt dies meint.

Szenario 1: Erhalten Sie alle Märkte ((Erhalten Sie ein gültiges Symbol))

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

Szenario 2: Nachrichten bekommen

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

Szenario 3: Konten überprüfen und Positionen halten

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

Szenario 4: Der Auftrag

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

Szenario 5: Ein-/Ausweis

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

// 撤单
exchange.CancelOrder(orderId);

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

Szenario 6: Auszahlung

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

Szenario 7: Die Rückkehr von 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))
    }
})


Szenario 8: Auf der Suche nach einer niedrigen Wahrscheinlichkeit

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

Häufig verwendete API

Die Methode veranschaulichen
GetMarkets() Der Rückkehrschlüssel ist ein gültiges Symbol.
GetTicker(symbol) Das ist die einzige Möglichkeit, die es gibt, um den Markt zu kaufen.
GetDepth(symbol) Das ist eine sehr gute Idee, um die Tiefe zu erhalten.
GetAccount() Kontoüberschuss {Balance, FrozenBalance}
GetPositions() Liste der Positionen [{Symbol, Amount, Profit}]
CreateOrder(symbol, side, price, amount) Bestellen, Preis = -1 ist der Marktpreis
CancelOrder(orderId) Bestellung stornieren
GetOrder(orderId) Nachforschungen
GetOrders() Auftrag noch nicht abgeschlossen

side: "buy" / "sell"