{"title":"Расчётный полигон предторговой дисциплины «Василиса»","version":"6.0.0","baseUrl":"https://vasilisa-trading.ru","description":"API для расчёта лотов, рисков, TP/SL, ATR, адаптивных стопов и ведения журнала сделок. Котировки не предоставляются — только вычисления.","contact":{"name":"Вячеслав","telegram":"https://t.me/vatsloff","phone":"+79147831223","email":"vatsloff@yandex.ru","timezone":"Ориентируйтесь на +9 МСК"},"authentication":{"description":"Запросы к API требуют ключ доступа. Внутренние запросы с vasilisa-trading.ru — без ключа.","methods":[{"name":"Заголовок X-Api-Key","example":"X-Api-Key: ваш-ключ-доступа"},{"name":"Query-параметр api_key","example":"?api_key=ваш-ключ-доступа"}],"obtain":"Чтобы получить ключ доступа к API Василисы, свяжитесь со мной: Telegram https://t.me/vatsloff, почта vatsloff@yandex.ru, тел. +79147831223 Вячеслав. Ключ выдаётся в течение 24 часов."},"rateLimit":{"requests":"без ограничений","window":"в стандартном режиме","note":"При аномальной нагрузке могу временно ввести лимит."},"responseFormat":{"success":"HTTP 200 + JSON","error":"HTTP 4xx/5xx + JSON: { error: '...', message: '...' }"},"endpoints":[{"method":"GET","path":"/api/health","description":"Проверка доступности сервера","auth":false,"parameters":[],"example":"GET /api/health","response":{"status":"ok","message":"Василиса работает","provider":"MOEX","timestamp":"2026-05-06T07:00:00.000Z"}},{"method":"POST","path":"/api/calculate","description":"Расчёт лотов, риска, уровней TP/SL. Основной метод. Все параметры — в JSON-теле.","auth":true,"parameters":[],"example":"POST /api/calculate\nContent-Type: application/json\n\n{\n  \"deposit\": 100000,\n  \"riskPercent\": 2,\n  \"entryPrice\": 321.5,\n  \"stopLoss\": 318.0,\n  \"goPerLot\": 5086.54,\n  \"priceStep\": 0.01,\n  \"stepCost\": 1,\n  \"isStock\": false,\n  \"currentDirection\": \"LONG\",\n  \"currentProfile\": \"auto\",\n  \"instrumentSymbol\": \"SBER\"\n}","response":{"success":true,"maxLots":15,"riskRubles":2000,"riskPercent":2,"tpPrices":[322.5,323.6,325.1,327.2,330],"distribution":[6,4,3,1,1],"totalProfit":62000}},{"method":"POST","path":"/api/calculate/by-lots","description":"Расчёт от обратного: задаёте количество лотов → получаете риск","auth":true,"parameters":[],"example":"POST /api/calculate/by-lots\nContent-Type: application/json\n\n{\n  \"deposit\": 100000,\n  \"entryPrice\": 321.5,\n  \"stopLoss\": 318.0,\n  \"priceStep\": 0.01,\n  \"stepCost\": 1,\n  \"manualLots\": 10\n}","response":{"success":true,"manualLots":10,"riskRubles":1333.33,"riskPercent":1.33}},{"method":"GET","path":"/api/atr/current/:ticker/:timeframe","description":"Текущий ATR в шагах и абсолютном значении","auth":true,"parameters":[{"name":"ticker","type":"string","in":"path","required":true,"example":"SBER"},{"name":"timeframe","type":"string","in":"path","required":true,"example":"1d","description":"1m, 5m, 15m, 30m, 1h, 1d"}],"example":"GET /api/atr/current/SBER/1d","response":{"success":true,"steps":125.5,"absolute":1.255}},{"method":"GET","path":"/api/atr/median/:ticker/:timeframe","description":"Медианный ATR (устойчив к выбросам) — для адаптивного стопа","auth":true,"parameters":[{"name":"ticker","type":"string","in":"path","required":true,"example":"SBER"},{"name":"timeframe","type":"string","in":"path","required":true,"example":"1d"}],"example":"GET /api/atr/median/SBER/1d","response":{"success":true,"medianSteps":110.3}},{"method":"GET","path":"/api/risk/statistics","description":"Статистика рисков по всем сделкам","auth":true,"parameters":[],"example":"GET /api/risk/statistics","response":{"success":true,"counts":{"ideal":50,"conscious":20,"risky":5,"veryRisky":2,"gambler":0},"total":77}},{"method":"GET","path":"/api/risk/history","description":"История рисков для графика","auth":true,"parameters":[{"name":"limit","type":"number","required":false,"example":100,"description":"Количество последних записей"}],"example":"GET /api/risk/history?limit=100","response":{"success":true,"history":[{"time":1715000000,"value":2,"instrument":"SBER"}]}},{"method":"POST","path":"/api/risk/record","description":"Запись сделки в журнал риск-статистики","auth":true,"parameters":[],"example":"POST /api/risk/record\nContent-Type: application/json\n\n{\n  \"riskPercent\": 2,\n  \"instrument\": \"SBER\",\n  \"isConfirmed\": true\n}","response":{"success":true,"record":{"id":"abc123","riskPercent":2,"instrument":"SBER"}}}],"faq":[{"q":"Как получить ключ доступа к API?","a":"Свяжитесь со мной: Telegram https://t.me/vatsloff, почта vatsloff@yandex.ru, тел. +79147831223 Вячеслав."},{"q":"Котировки предоставляются?","a":"Нет. Василиса — расчётный полигон, а не источник котировок. Все вычисления — по формулам, без передачи рыночных данных."},{"q":"Какой формат данных?","a":"JSON, UTF-8. POST-запросы принимают JSON в теле, GET — query-параметры."},{"q":"Куда отправлять запросы?","a":"На https://vasilisa-trading.ru. Все эндпоинты — под /api/."},{"q":"Как быстро подключиться?","a":"Получите ключ → используйте /api/calculate для расчётов. Готово."},{"q":"Есть ли ограничения по частоте запросов?","a":"Стандартно — без ограничений. При аномальной нагрузке могу временно ввести лимит."}]}