DoQuant
한국어
매뉴얼로 돌아가기

Harbor SDK

예시: AltRank 바스켓

이 예시는 현물 바스켓입니다. symbolMode는 basket이고, symbols에 비교할 이름을 나열합니다. 매 봉마다 심볼당 소셜 점 하나를 읽습니다. AltRank는 숫자가 작을수록 순위가 높습니다.

  • getSocial은 저장된 점만 봅니다. 점이 없는 심볼은 순위가 훨씬 뒤인 것으로 처리합니다.
  • kv 키 held에 선택된 심볼이 저장됩니다. 선두가 바뀌지 않으면 다시 주문하지 않습니다.
  • 전환하면 새 선두를 시장가로 매수합니다. 예시는 이전 심볼을 매도하지 않습니다. 실거래 전에 그 매도를 추가하세요.

전체 예시:

const manifest = {
  name: "AltRank 篮子",
  version: "1.0.0",
  ccxtIds: ["binance"],
  markets: ["spot"],
  symbolMode: "basket",
  symbols: ["BINANCE:BTC/USDT", "BINANCE:ETH/USDT"],
  params: {},
  permissions: ["market", "order", "account"],
};
async function onBar(rt, bar) {
  const symbols = await rt.market.getSymbols();
  let best = symbols[0] || bar.symbol;
  let bestRank = 999999;
  for (const symbol of symbols) {
    const points = await rt.market.getSocial(symbol, 1);
    const rank = points.length ? Number(points[points.length - 1].altRank) : 999999;
    if (rank < bestRank) {
      bestRank = rank;
      best = symbol;
    }
  }
  const held = await rt.kvGet("held");
  if (held !== best) {
    await rt.order.create({
      clientOrderId: "alt-" + bar.time,
      symbol: best,
      side: "buy",
      type: "market",
      amount: "0.01",
    });
    await rt.kvSet("held", best);
  }
}
이 챕터는 로그인 후 볼 수 있습니다

무료 계정을 만들면 예제 코드와 단계별 설명을 포함한 전체 챕터를 읽을 수 있습니다.

로그인하고 계속 보기