Dựa trên nền tảng FMZ (trên phiên bản 3.8.8 của người quản lý), nhanh chóng sử dụng Polymarket API.
Symbol phải được sử dụngexchange.GetMarkets()Hàm này được gọi chậm lần đầu tiên, sau đó được lưu trữ, định dạng như sau:
{marketSlug}_USDC.(Yes/No)
Ví dụ:
will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
YesToken = sự kiện đặt cượcHội nghịChuyện xảy raNoToken = sự kiện đặt cượcKhông bao giờ.Chuyện xảy ravar 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) + "%");
}
}
| Phương pháp | minh họa |
|---|---|
GetMarkets() |
Để truy cập vào tất cả các thị trường, ** trả về chìa khóa là một biểu tượng có hiệu lực ** |
GetTicker(symbol) |
{Last, Buy, Sell} |
GetDepth(symbol) |
Lưu ý: Các nhà đầu tư đang tìm kiếm các giải pháp để tăng cường khả năng giao dịch của họ với các nhà đầu tư. |
GetAccount() |
Số dư tài khoản {Balance, FrozenBalance} |
GetPositions() |
Danh sách cổ phiếu [{Symbol, Amount, Profit}] |
CreateOrder(symbol, side, price, amount) |
Đặt hàng, giá = -1 là giá thị trường |
CancelOrder(orderId) |
Hủy đơn hàng |
GetOrder(orderId) |
Hướng dẫn |
GetOrders() |
Lệnh chưa hoàn thành |
side: "buy" / "sell"