Кулинарная книга
API Кулинарная книга
Практические, готовые к использованию рецепты для наиболее распространенных способов интеграции API подтверждения сделок Smart Money в бота. Каждый рецепт вызывает GET /v1/confirm и реагирует на action, confidence, и size_multiplier. Отправьте ваш ключ в X-API-Key заголовке — см. полную документацию.
Рецепт 1
Подтверждение перед входом (Python)
Канонический цикл. Прежде чем ваша стратегия откроет позицию, спросите API, согласуется ли рыночная структура. Входите только тогда, когда action == "CONFIRM".
import requests sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def подтвердить(symbol, direction):
r = requests.get(
f"{BASE}/confirm",
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key"API_KEY}, timeout=5, ) r.raise_for_status()
return r.json() sig = confirm(BTC, лонг)
если sig[действие] == ПОДТВЕРДИТЬ:
place_order(BTC, лонг)
иначе:
print(пропуск:, sig[причины])
{
символ: BTC,
направление: лонг,
действие: ПОДТВЕРДИТЬ,
уверенность: ВЫСОКАЯ,
композитный: 0.74,
множитель размера: 1.5,
причины: [Фандинг положительный на всех площадках, Киты на 67% в лонг]
}
Рецепт 2
Преобразуйте сигнал Freqtrade
Переопределение confirm_trade_entry чтобы Freqtrade принимал только входы, подтвержденные API. Ошибка открыть при ошибках API, чтобы тайм-аут никогда не блокировал всю торговлю.
импорт requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy):
SM_KEY = "sm_your_key"
SM_BASE = "https://api.smartmoneyapi.com/v1"
def confirm_trade_entry(self, pair, order_type, amount, rate,
time_in_force, current_time, entry_tag, **kwargs):
symbol = pairразделить("/")[0]
если символ не в ("BTC", "ETH", "SOL"):
вернуть True
попробуйте: r = requests.("{self.SM_BASE}/confirm","symbol": symbol, "направление": "лонг"},
headers={X-API-Key: self.SM_KEY}, timeout=3,
).json()
return р.получить("действие") == "ПОДТВЕРДИТЬ"
кроме Исключение:
вернуть True
Рецепт 3
Размер по size_multiplier
Пусть убежденность определяет размер позиции. Умножьте базовый размер на size_mult (0.0–1.5), чтобы сделки с ВЫСОКОЙ уверенностью получали больше капитала, а слабые — меньше.
BASE_SIZE_USD = 1000
sig = подтвердить("ETH", лонг) mult = sig.get("size_mult", 0.0размер = BASE_SIZE_USD * множитель
если размер > 0:
разместить_заказ(ETH, лонг, size_usd=size)
print(f"вошёл ${size:.0f} (множитель {mult})")
A size_mult 0.0 означает не входить — тот же результат, что и SKIP. Любое значение ниже вашего минимума рассматривайте как пропуск.
Рецепт 4
Пропускать при SKIP / уменьшать при REDUCE
Явно обрабатывайте все три действия. CONFIRM входит на полный размер, REDUCE входит с (меньшим) множителем, SKIP остаётся в стороне.
sig = подтвердить(symbol, direction)
action = sig["action"]
если action == "CONFIRM":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
иначе если action == "REDUCE":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
иначе:
log(f"пропуск {symbol} {direction}: {sig['reasons']}")
Рецепт 5
Обработка 402 / 429
A 402 означает, что для символа или конечной точки требуется более высокий тарифный план; 429 означает, что вы достигли лимита запросов. Обрабатывайте 429/5xx как временные ошибки (отступите), а 402/401/403 как критические (исправьте план или ключ).
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(повторные попытки):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, направление: direction},
headers={X-API-Key: API_KEY}, timeout=5,
)
если r.status_code == 200:
вернуть r.json()
если r.status_code в (401, 402, 403):
вызвать RuntimeError(r.json())
если r.status_code == 429: reset =int(r.headers.(get, 2))время.(сонмин 2 (сброс,
** попытка))
продолжитьвремя.(2 сон
# 5xx / временная ошибка
вернуть None
Рецепт 6
Используйте с код-агентом /llms.txt Передайте Claude Code, Codex или Cursor машиночитаемые ссылки и позвольте ему настроить интеграцию. Укажите ему на обзор и спецификацию OpenAPI для точных структур.
Прочитайте https://smartmoneyapi.com/llms.txt и спецификацию OpenAPI на github.com/tashiardit/smartmoneyapi-docs, затем добавьте предварительную проверку перед торговлей в моего бота: вызовите GET /v1/confirm с моим X-API-Key и пропустите любую запись, если action != "CONFIRM". Масштабируйте размер с помощью size_multiplier.
Ресурсы: /llms.txt · Спецификация OpenAPI · Python клиент.
Готовы совершить свою первую сделку?
Получите бесплатный ключ и ознакомьтесь с полной документацией по конечным точкам.
Поддержка принятия решений, не рекомендации по исполнению. Не является финансовой рекомендацией. Торговля криптовалютой связана с высоким риском потери средств.