Harbor SDK
Ejemplo: tendencia
Este ejemplo es un perpetuo. Cada vela carga los cierres de 1h más recientes y compara el cierre anterior con el último. Si no hay posición y el precio subió, compra a mercado.
- markets es swap. symbolMode es single.
- Llama a getKlines y después a getPositions. Plana significa que la longitud del array de posiciones es 0.
- clientOrderId es trend- más la hora de la vela.
- Cada vela escribe un registro info para que puedas comprobar el cierre en la instancia.
Solo compra cuando está plana y subiendo. No vende. Añade una salida antes de pasar a real, y lee primero el registro en una cuenta de simulación. Ejemplo completo:
const manifest = {
name: "趋势",
version: "1.0.0",
ccxtIds: ["binance"],
markets: ["swap"],
symbolMode: "single",
params: {},
permissions: ["market", "order", "account"],
};
async function onBar(rt, bar) {
const bars = await rt.market.getKlines(bar.symbol, "1h", 3);
const prev = bars.length > 1 ? Number(bars[bars.length - 2].close) : Number(bar.close);
const last = Number(bar.close);
const pos = await rt.account.getPositions();
if (last > prev && pos.length === 0) {
await rt.order.create({
clientOrderId: "trend-" + bar.time,
symbol: bar.symbol,
side: "buy",
type: "market",
amount: "0.01",
});
}
rt.log("info", "trend " + bar.close);
}Este capítulo requiere iniciar sesión
Crea una cuenta gratuita para leer el capítulo completo, incluido el código de ejemplo y las instrucciones paso a paso.
Inicia sesión para continuar