Place, manage, and cancel orders using REST API or SDK hooks. Covers market, limit, IOC, FOK, POST_ONLY order types and batch operations
本技能涵盖Orderly Network上订单管理的所有方面——通过REST API和React SDK进行下单、修改和取消订单。
| 类型 | 描述 | 使用场景 |
|---|---|---|
| LIMIT | 指定价格下单 | 精确入场/出场 |
| MARKET |
POST /v1/order
typescript
interface OrderRequest {
symbol: string; // 例如:PERPETHUSDC
side: BUY | SELL;
ordertype: LIMIT | MARKET | IOC | FOK | POSTONLY | ASK | BID;
order_price?: number; // LIMIT订单必填
order_quantity: number; // 基础资产数量
visible_quantity?: number; // 用于隐藏订单(0 = 隐藏)
clientorderid?: string; // 您的自定义ID
trigger_price?: string; // 用于止损订单
}
typescript
import { signAsync } from @noble/ed25519;
async function placeOrder(order: OrderRequest) {
const timestamp = Date.now();
const body = JSON.stringify(order);
const message = ${timestamp}POST/v1/order${body};
const signature = await signAsync(new TextEncoder().encode(message), privateKey);
// 编码为base64url(浏览器和Node.js兼容)
const base64 = btoa(String.fromCharCode(...signature));
const base64url = base64.replace(/\+/g, -).replace(/\//g, _).replace(/=+$/, );
const response = await fetch(https://api.orderly.org/v1/order, {
method: POST,
headers: {
Content-Type: application/json,
orderly-timestamp: String(timestamp),
orderly-account-id: accountId,
orderly-key: ed25519:${publicKeyBase58},
orderly-signature: base64url,
},
body,
});
return response.json();
}
// 下限价买单
const order = await placeOrder({
symbol: PERPETHUSDC,
side: BUY,
order_type: LIMIT,
order_price: 3000,
order_quantity: 0.1,
});
SDK提供了一个便捷的订单录入钩子:
typescript
import { useOrderEntry, OrderSide, OrderType } from @orderly.network/hooks;
function OrderForm({ symbol }: { symbol: string }) {
const {
submit,
setValue,
getValue,
helper,
reset,
isSubmitting
} = useOrderEntry(symbol, {
initialOrder: {
side: OrderSide.BUY,
order_type: OrderType.LIMIT,
price: ,
order_quantity: ,
},
});
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
// 提交前验证
const validationResult = await helper.validate();
if (!validationResult) {
console.error(验证失败);
return;
}
try {
await submit();
reset();
console.log(订单成功提交);
} catch (error) {
console.error(订单失败:, error);
}
};
return (
在提交前,验证订单参数:
typescript
// 获取某个交易对的订单规则
const rulesResponse = await fetch(https://api.orderly.org/v1/public/info/PERPETHUSDC);
const rules = await rulesResponse.json();
/*
规则包括:
function validateOrder(order: OrderRequest, rules: OrderRules): boolean {
// 价格过滤
if (order.order_price) {
const price = parseFloat(order.order_price);
if (price < rules.quotemin || price > rules.quotemax) {
throw new Error(价格超出范围);
}
if ((price - rules.quotemin) % rules.quotetick !== 0) {
throw new Error(无效的价格增量);
}
}
// 数量过滤
const quantity = parseFloat(order.order_quantity);
if (quantity < rules.basemin || quantity > rules.basemax) {
throw new Error(数量超出范围);
}
if ((quantity - rules.basemin) % rules.basetick !== 0) {
throw new Error(无效的数量增量);
}
// 最小名义价值
const notional = (parseFloat(order.order_price) || 0) * quantity;
if (notional < rules.min_notional) {
throw new Error(最小订单价值为 ${rules.min_notional});
}
return true;
}
typescript
// REST API
DELETE /v1/order?orderid={orderid}&symbol={symbol}
// React SDK
import { useOrderStream } from @orderly.network/hooks;
function OrderList() {
const [orders, { cancelOrder }] = useOrderStream({
status: OrderStatus.INCOMPLETE,
});
return orders.map((order) => (
typescript
// REST API - 取消所有未成交订单
DELETE /v1/orders?symbol={symbol} // 可选交易对过滤
// React SDK
const [orders, { cancelAllOrders }] = useOrderStream();
await cancelAllOrders(); // 取消所有
await cancelAllOrders({ symbol: PERPETHUSDC }); // 取消特定交易对
typescript
DELETE /v1/client/order?clientorderid={clientorderid}&symbol={symbol}
在单个请求中下多个订单或取消多个订单:
typescript
// 批量创建(最多10个订单)
POST /v1/batch-order
Body: {
orders: [
{ symbol: PERPETHUSDC, side: BUY, ordertype: LIMIT, orderprice: 3000, order_quantity: 0.1 },
{ symbol: PERPBTCUSDC, side: BUY, ordertype: LIMIT, orderprice: 50000, order_quantity: 0.01 }
]
}
// 批量取消(最多10
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 orderly-trading-orders-1776193090 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 orderly-trading-orders-1776193090 技能
skillhub install orderly-trading-orders-1776193090
文件大小: 4.39 KB | 发布时间: 2026-4-15 11:45