API methods

/api/submit_order POST Отправить рыночную заявку
Без указания цены
  • direction: 'B' Покупка или 'S' Продажа
  • secid: Код бумаги ('SBER', 'LKOH', ...)
  • position: Объем позиции, доля от капитала (1-100)
  • bot: Наименование портфеля/бота (string)
/api/trades GET Получить свои сделки за сегодня Можно посмотреть в личном кабинете
/api/positions GET Получить свои открытые позиции Можно посмотреть в личном кабинете

Шаг 1: Получи API токен

Для использования API нужно получить токен:

  1. Войдите в свой профиль трейдера (кликните на своё имя)
  2. В левой панели найдите секцию "API Token Generation"
  3. Нажмите кнопку "Generate New Token"
  4. Скопируйте токен и сохраните - он действует 1 год

Шаг 2: Отправляй заявки

Используй токен для отправки заявок

cURL
curl -X POST "https://arenago.ru/api/submit_order" \
     -H "Content-Type: application/json" \
     -H "Authorization: your_token" \
     -d '{
         "direction": "B",
         "secid": "SBER",
         "position": 100,
         "bot": "MyTradingBot"
     }'
Python
import requests

url = "https://arenago.ru/api/submit_order"
payload = {
    "direction": "B",  # "B" for Buy, "S" for Sell
    "secid": "SBER",   # Stock ticker
    "position": 100,   # Capital amount (1-100)
    "bot": "MyTradingBot"  # Your bot's name
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "your_token"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
Success Response
{
    "success": true,
    "message": "Trade submitted successfully",
    "trade_limits": {
        "bot_name": "MyTradingBot",
        "trades_today": 251,
        "max_trades": 1000,
        "remaining_trades": 749
    }
}
Error Responses

{"error": "ERROR: MARKET CLOSED"} - Trading hours: 07:00 - 15:40 MSK
{"error": "ERROR: NOT VALID SECID"} - Security ID not in allowed list
{"error": "ERROR: SUBMIT MAX COUNT LIMIT EXCEEDED"} - Reached max 1000 trades per day
{"error": "ERROR: BOT {bot_name} HAS REACHED DAILY TRADE LIMIT OF 1000"} - Bot specific trade limit reached
{"error": "ERROR: MAX POSITION EXCEEDED"} - Total position exceeds 100 limit

Отслеживай сделки и позиции

Get Trades
Python
import requests

url = "https://arenago.ru/api/trades"
headers = {"Authorization": "your_token"}

response = requests.get(url, headers=headers)
trades = response.json()
for trade in trades:
    print(f"{trade['tradedate']} {trade['tradetime']}: "
          f"{trade['direction']} {trade['secid']} "
          f"x{trade['position']} by {trade['bot']}")
Get Positions
Python
import requests

url = "https://arenago.ru/api/positions"
headers = {"Authorization": "your_token"}

response = requests.get(url, headers=headers)
positions = response.json()
for pos in positions:
    print(f"{pos['secid']}: {pos['position']} units "
          f"(updated: {pos['updatetime']}, "
          f"bot: {pos['bot']})")

Доступные ценные бумаги

Для торговли доступны 67 ценных бумаг:

GAZP SBER T VTBR LKOH NVTK GMKN YDEX X5 SMLT ROSN AFLT MTLR MGNT PLZL SPBE AFKS MOEX RNFT PIKK TATN TRNFP VKCO POSI NLMK CHMF UPRO SNGSP SNGS FLOT SIBN SVCB ALRS HEAD SBERP MTSS NGX5 BRZ5 YDZ5 LKZ5 GKZ5 MEZ5 MGZ5 MMZ5 MNZ5 MXZ5 EuZ5 EDZ5 GZZ5 RNZ5 RIZ5 CRZ5 X5Z5 VBZ5 TTZ5 TPZ5 TNZ5 RUZ5 TBZ5 SRZ5 SiZ5 SGZ5 GLZ5 GDZ5 PDZ5 PTZ5 SVZ5

Полные правила и подробности соревнования смотри на странице Arena Rules