-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsettings.py
More file actions
85 lines (67 loc) · 4.81 KB
/
settings.py
File metadata and controls
85 lines (67 loc) · 4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""
Variational Bot - Settings and Configuration
Торговый бот для Variational Protocol (Arbitrum DEX)
"""
# === Реферальный код ===
REFERRAL_CODE = "" # Подставьте свой реферальный код
# === Торговые настройки ===
TRADING_SETTINGS = {
'markets': ['ETH', 'BTC'], # Список монет для торговли (underlying)
# Настройки пачек аккаунтов
'batch_size_range': [3, 3], # Диапазон количества аккаунтов в пачке [min, max]
'long_accounts_range': [1, 1], # Количество лонг-аккаунтов в пачке [min, max]
# ВАЖНО: Количество шортов = total_accounts - long_accounts
# Пример: 6 аккаунтов, 2 лонга => 4 шорта (лонги ≠ шорты ✓)
'batch_size_usd': [500, 1000], # Диапазон размера ВСЕЙ ПАЧКИ в USD [min, max]
# ВАЖНО для лимитных ордеров минимальный размер позиции - 100$
# Лонги делят между собой половину, шорты - вторую половину (для хеджирования)
# Рандомизация размеров ордеров (анти-сибил)
'order_size_variation': [0.1, 0.4], # Диапазон отклонения размера от среднего [min, max]
# Leverage для каждого рынка
'leverage': {
'BTC': 50,
'ETH': 50,
},
# Тип ордера для открытия/закрытия позиций
'order_type': 'LIMIT', # 'MARKET' (quote-based) или 'LIMIT'
# MARKET - мгновенное исполнение через get_quote → accept_quote
# LIMIT - лимитные ордера с retry логикой (как в Extended-bot)
# === Стоп-лосс (только для LIMIT режима) ===
'stop_loss_enabled': True, # Включить стоп-лоссы
'stop_loss_pnl_percent': -70, # Закрытие позиции при -70% PnL (от стоимости позиции в USD)
# Пример: позиция $100, стоп-лосс при PnL = -$70
# При срабатывании хотя бы одного стоп-лосса в пачке → закрытие ВСЕХ позиций пачки лимитками
# Slippage для MARKET ордеров (quote-based)
'max_slippage': 0.05, # 5% максимальный slippage
# Настройки для LIMIT ордеров
'limit_order_offset_percent': 0.0001, # 0.01% от цены для лимитных ордеров
'use_adaptive_offset': True, # Автоматически уменьшать offset если спред узкий
'limit_order_check_interval': 5, # Интервал проверки исполнения LIMIT ордера (сек)
# Таймауты
'order_execution_timeout': 100, # Ждать открытия позиции (сек)
'position_close_timeout': 100, # Ждать закрытия позиции (сек)
'max_open_retries': 5, # Макс попыток открытия позиции
'max_close_retries': 5, # Макс попыток закрытия позиции
# Воркеры
'num_workers': 1, # Количество параллельных воркеров
'account_cooldown_range': [60, 150], # Время отдыха аккаунта после сделки [min, max] (сек)
'generation_interval': 5.0, # Интервал создания новых батчей (секунды)
'max_queue_size': 10, # Максимальный размер очереди задач
}
# === Управление позициями ===
POSITION_MANAGEMENT = {
'holding_time_range': [60, 200], # Время удержания позиции [min, max] (сек)
'monitor_interval_sec': 30, # Проверка позиций через API каждые N сек (увеличено для rate limiting)
}
# === Задержки ===
DELAYS = {
'between_orders': [3, 5], # Задержка между ордерами [min, max] (сек)
'between_accounts': [3, 5], # Задержка между аккаунтами [min, max] (сек)
'on_error': 60, # Задержка при ошибке (сек)
}
# === Логирование ===
LOG_SETTINGS = {
'level': 'INFO', # DEBUG, INFO, WARNING, ERROR (DEBUG для отладки капчи)
'file_max_mb': 100, # Максимальный размер лог-файла (МБ)
'stats_interval_sec': 300, # Интервал вывода статистики оркестратора (сек)
}