Мы часто работаем с клиентами, которые хотят повторить успех eToro или Bitget Copy Trade, но с уникальным функционалом — верификация трейдеров через биржевые API или собственная схема компенсации. В этой статье разберём технические аспекты на примере нашего реального проекта. Как отмечает Bitget Research, копирование сделок — самый быстрорастущий сегмент криптотрейдинга.
Как работает копирование сделок?
Core-компонент — Copy Trading Engine. Он обрабатывает ордер мастера, проверяет риск-лимиты и выставляет копию каждому подписчику. Масштабирование позиции рассчитывается через процент капитала: если мастер вложил 10% портфеля, а последователь выделил 2% капитала на копирование, размер сделки будет пропорциональным. Параллельная обработка через asyncio обеспечивает низкую задержку даже при тысячах подписчиков.
class CopyTradingEngine:
def __init__(self, order_service, follower_repo, risk_manager):
self.order_service = order_service
self.follower_repo = follower_repo
self.risk_manager = risk_manager
async def on_master_order(self, master_id: str, order: MasterOrder):
"""Вызывается при каждом новом ордере master-трейдера"""
followers = await self.follower_repo.get_active_followers(master_id)
if not followers:
return
# Параллельно обрабатываем всех followers
tasks = [
self.copy_order_for_follower(follower, order)
for follower in followers
]
results = await asyncio.gather(*tasks, return_exceptions=True)
# Логируем результаты
for follower, result in zip(followers, results):
if isinstance(result, Exception):
logger.error(f"Copy failed for {follower.id}: {result}")
else:
logger.info(f"Copied order for {follower.id}: {result.id}")
async def copy_order_for_follower(
self,
follower: FollowerConfig,
master_order: MasterOrder
) -> Order:
# Рассчитываем размер позиции с учётом настроек follower
follower_balance = await self.get_usdt_balance(follower.user_id)
scaled_quantity = self.scale_quantity(
master_order.quantity,
master_order.master_portfolio_value,
follower_balance,
follower.allocation_pct, # % капитала follower для копирования
)
# Проверяем риск-лимиты follower
risk_check = await self.risk_manager.check(
follower_id=follower.user_id,
symbol=master_order.symbol,
quantity=scaled_quantity,
side=master_order.side,
)
if not risk_check.approved:
logger.warning(f"Risk check failed for {follower.id}: {risk_check.reason}")
return None
# Выставляем ордер
return await self.order_service.place_order(
user_id=follower.user_id,
exchange=follower.exchange,
symbol=master_order.symbol,
side=master_order.side,
order_type='MARKET', # копируем как market для гарантии исполнения
quantity=scaled_quantity,
copy_reference=master_order.id,
)
def scale_quantity(
self,
master_qty: Decimal,
master_portfolio: Decimal,
follower_balance: Decimal,
allocation_pct: float,
) -> Decimal:
"""Масштабирует позицию relative to portfolio size"""
master_position_pct = master_qty / master_portfolio
follower_allocation = follower_balance * Decimal(str(allocation_pct / 100))
return follower_allocation * master_position_pct
Почему верификация трейдеров критична?
Платформа социального трейдинга держится на доверии. Если трейдер сам загружает скриншоты P&L — это путь к мошенничеству. Поэтому мы внедряем верификацию через read-only API биржи. Система загружает историю ордеров за 90 дней и рассчитывает объективные метрики: Sharpe ratio, win rate, max drawdown, profit factor. Результаты сохраняются с флагом verified — так исключается подтасовка. Верификация через API в 10 раз точнее самодекларации, потому что никакой ручной ввод не искажает данные.
class TradeHistoryVerifier:
async def verify_master_account(self, user_id: str, exchange_api_key: str) -> VerificationResult:
"""Верифицирует торговую историю через read-only API ключ"""
# Подключаемся к бирже с read-only ключом пользователя
exchange = ExchangeClient(exchange_api_key, permissions=['READ_ONLY'])
# Загружаем историю ордеров за последние 90 дней
orders = await exchange.get_order_history(days=90)
trades = await exchange.get_trade_history(days=90)
# Рассчитываем верифицированные метрики
metrics = calculate_performance_metrics(orders, trades)
# Сохраняем с флагом "verified"
await self.performance_repo.save(
user_id=user_id,
metrics=metrics,
verified=True,
verification_time=datetime.utcnow(),
)
return VerificationResult(verified=True, metrics=metrics)
| Метрика | Самодекларация | Верифицировано (read-only API) |
|---|---|---|
| Win rate | Может быть завышен | Объективный, на основе сделок |
| Max drawdown | Часто скрывают | Точный, по полной истории |
| Sharpe ratio | Невозможно проверить | Корректен, использует дневные доходности |
| Время верификации | Мгновенно | ~5-10 секунд на загрузку |
Сравнение подходов: in-house vs white-label vs наша разработка
Готовые white-label решения ограничены в кастомизации — вы не добавите свою схему компенсации или уникальные risk-контроли. In-house требует найма команды из 3–5 senior-разработчиков на 6+ месяцев, что обходится дороже. Мы предлагаем баланс: вы получаете продукт, адаптированный под вашу бизнес-модель, в сроки от 2 до 4 месяцев. Наш опыт — более 5 лет в криптотрейдинге и 10+ реализованных проектов, поэтому мы знаем, как избежать типичных ошибок.
| Критерий | White-label | In-house | Наша разработка |
|---|---|---|---|
| Сроки запуска | 1–2 месяца | 6+ месяцев | 2–4 месяца |
| Кастомизация | Ограничена | Полная | Полная под ваш проект |
| Риск-менеджмент | Фиксированный | Индивидуальный | Индивидуальный + best practices |
| Стоимость | Фиксированная | Высокая | Индивидуально |
Что входит в разработку под ключ
Полный список deliverables
- Архитектурная документация (UML-диаграммы, ER-модель БД) - Исходный код с комментариями (Solidity, Python, TypeScript) - Интеграция с 3–5 биржами (Binance, Bybit, Kraken и др.) - Смарт-контракты для performance fee (высоководная отметка) - Админ-панель с мониторингом копирования и компенсаций - Тесты (unit, integration, stress) и CI/CD - Документация для пользователей и разработчиков - Гарантийная поддержка 1 месяц после запускаТипичные ошибки на старте
- Выбор неверного типа ордера — копирование лимитниками может не сработать при высокой волатильности; market ордера гарантируют исполнение, но проскальзывание нужно закладывать в модель.
- Игнорирование high-water mark — без неё трейдеры получают performance fee даже после потерь, что отпугивает пользователей.
- Плоская система лимитов — единый лимит для всех активов не работает; нужна персональная настройка: по символу, по волатильности, по исторической корреляции.
- Многие проекты копирования стратегий забывают настроить риск-менеджмент под конкретные инструменты.
Процесс работы
- Аудит требований — обсуждаем функционал, целевые биржи, модель монетизации.
- Проектирование — разрабатываем архитектуру, прототип UI, смарт-контракты.
- Разработка ядра — Copy Trading Engine, верификация, система компенсаций.
- Интеграция — подключаем биржевые API, настраиваем лимиты и риск-менеджмент.
- Тестирование — юнит-тесты, тесты на проникновение, нагрузочное тестирование с тысячами одновременных копирований.
- Деплой и поддержка — запускаем на выбранной инфраструктуре, передаём документацию, обучаем команду.
Сроки и стоимость
Базовый MVP с копированием, верификацией и простой компенсацией можно запустить за 2–3 месяца. Сложные решения с множественными биржами, смарт-контрактами и продвинутой аналитикой — за 4–5 месяцев. Временные рамки обсуждаем на этапе аудита. Стоимость разработки рассчитывается индивидуально и зависит от объёма API-интеграций и кастомизации. Мы предоставляем детальную смету до начала работ, фиксируем цену в договоре. Обратитесь к нам, чтобы обсудить ваш проект.
Гарантии и поддержка
Предоставляем гарантию на код (1 месяц бесплатных исправлений багов) и пост-релизную поддержку. Вы получаете все исходники, доступы к репозиторию и документацию. Мы обучим вашу команду администрированию, чтобы вы могли самостоятельно добавлять новые биржи и дорабатывать функционал. Наши проекты работают с нагрузкой до 10 000 активных подписчиков без потери производительности. Социальный трейдинг — это быстрорастущий сегмент, и мы помогаем занять в нём своё место.
Свяжитесь с нами для оценки вашего проекта — обсудим задачи, стек и сроки. Получите консультацию уже сегодня.







