Add LTC to fixed Torch trading pairs

This commit is contained in:
Codex
2026-06-22 18:59:13 +03:00
parent 680475948b
commit 8ae6d4e3a5
6 changed files with 14 additions and 14 deletions
+3 -3
View File
@@ -8,8 +8,8 @@ BYBIT_API_SECRET=
STARTING_BALANCE_USDT=100 STARTING_BALANCE_USDT=100
AUTO_SELECT_SYMBOLS=false AUTO_SELECT_SYMBOLS=false
TOP_SYMBOLS_COUNT=3 TOP_SYMBOLS_COUNT=4
SYMBOLS=BTCUSDT,ETHUSDT,SOLUSDT SYMBOLS=BTCUSDT,ETHUSDT,SOLUSDT,LTCUSDT
STRATEGY_MODE=torch_forecast STRATEGY_MODE=torch_forecast
BASE_INTERVAL=60 BASE_INTERVAL=60
@@ -36,7 +36,7 @@ MIN_POSITION_USDT=1
MAX_POSITION_USDT=25 MAX_POSITION_USDT=25
MAX_SYMBOL_EXPOSURE_USDT=25 MAX_SYMBOL_EXPOSURE_USDT=25
MAX_TOTAL_EXPOSURE_USDT=75 MAX_TOTAL_EXPOSURE_USDT=75
MAX_OPEN_POSITIONS=3 MAX_OPEN_POSITIONS=4
MAX_POSITIONS_PER_SYMBOL=1 MAX_POSITIONS_PER_SYMBOL=1
GRID_TRADING_ENABLED=false GRID_TRADING_ENABLED=false
GRID_ENTRY_CONFIDENCE=0.58 GRID_ENTRY_CONFIDENCE=0.58
+5 -5
View File
@@ -5,7 +5,7 @@ Spot-бот для демо-торговли криптовалютой на р
## Что реализовано ## Что реализовано
- Реальные market data Bybit Spot: REST bootstrap и WebSocket-обновления. - Реальные market data Bybit Spot: REST bootstrap и WebSocket-обновления.
- Фиксированный набор USDT spot-пар для основной стратегии: `BTCUSDT`, `ETHUSDT`, `SOLUSDT`. - Фиксированный набор USDT spot-пар для основной стратегии: `BTCUSDT`, `ETHUSDT`, `SOLUSDT`, `LTCUSDT`.
- Paper trading с учетом cash, комиссий, проскальзывания, stop-loss, take-profit и trailing stop. - Paper trading с учетом cash, комиссий, проскальзывания, stop-loss, take-profit и trailing stop.
- Spot-only логика: покупка базовой монеты за USDT и продажа обратно, без short и без плеча. - Spot-only логика: покупка базовой монеты за USDT и продажа обратно, без short и без плеча.
- Live spot-ордеры явно отправляются без плеча: `category=spot`, `isLeverage=0`. - Live spot-ордеры явно отправляются без плеча: `category=spot`, `isLeverage=0`.
@@ -86,7 +86,7 @@ powershell -ExecutionPolicy Bypass -File tools\run_torch_retrain.ps1
powershell -ExecutionPolicy Bypass -File tools\install_windows_torch_retrainer.ps1 powershell -ExecutionPolicy Bypass -File tools\install_windows_torch_retrainer.ps1
``` ```
По умолчанию Windows-расписание переобучает PyTorch `LSTM/GRU` каждые 6 часов с `--limit 1000` на парах `BTCUSDT,ETHUSDT,SOLUSDT`. Параметры можно переопределить через env: `TORCH_RETRAIN_SYMBOLS`, `TORCH_RETRAIN_LIMIT`, `TORCH_RETRAIN_LOOKBACKS`, `TORCH_RETRAIN_ARCHITECTURES`, `TORCH_RETRAIN_HIDDEN_SIZES`, `TORCH_RETRAIN_LAYERS`, `TORCH_RETRAIN_DROPOUTS`, `TORCH_RETRAIN_EPOCHS`, `TORCH_RETRAIN_PATIENCE`, `TORCH_RETRAIN_INTERVAL`, `TORCH_RETRAIN_ENV`. По умолчанию Windows-расписание переобучает PyTorch `LSTM/GRU` каждые 6 часов с `--limit 1000` на парах `BTCUSDT,ETHUSDT,SOLUSDT,LTCUSDT`. Параметры можно переопределить через env: `TORCH_RETRAIN_SYMBOLS`, `TORCH_RETRAIN_LIMIT`, `TORCH_RETRAIN_LOOKBACKS`, `TORCH_RETRAIN_ARCHITECTURES`, `TORCH_RETRAIN_HIDDEN_SIZES`, `TORCH_RETRAIN_LAYERS`, `TORCH_RETRAIN_DROPOUTS`, `TORCH_RETRAIN_EPOCHS`, `TORCH_RETRAIN_PATIENCE`, `TORCH_RETRAIN_INTERVAL`, `TORCH_RETRAIN_ENV`.
Дополнительно для нового multifeature trainer доступны env-переменные `TORCH_RETRAIN_HORIZON` и `TORCH_RETRAIN_FEATURES`. Дополнительно для нового multifeature trainer доступны env-переменные `TORCH_RETRAIN_HORIZON` и `TORCH_RETRAIN_FEATURES`.
@@ -108,8 +108,8 @@ Dashboard: `http://<host>:8787/`
TRADING_MODE=paper TRADING_MODE=paper
STARTING_BALANCE_USDT=100 STARTING_BALANCE_USDT=100
AUTO_SELECT_SYMBOLS=false AUTO_SELECT_SYMBOLS=false
TOP_SYMBOLS_COUNT=3 TOP_SYMBOLS_COUNT=4
SYMBOLS=BTCUSDT,ETHUSDT,SOLUSDT SYMBOLS=BTCUSDT,ETHUSDT,SOLUSDT,LTCUSDT
STRATEGY_MODE=torch_forecast STRATEGY_MODE=torch_forecast
BASE_INTERVAL=60 BASE_INTERVAL=60
TREND_INTERVAL=D TREND_INTERVAL=D
@@ -132,7 +132,7 @@ MIN_POSITION_USDT=1
MAX_POSITION_USDT=25 MAX_POSITION_USDT=25
MAX_SYMBOL_EXPOSURE_USDT=25 MAX_SYMBOL_EXPOSURE_USDT=25
MAX_TOTAL_EXPOSURE_USDT=75 MAX_TOTAL_EXPOSURE_USDT=75
MAX_OPEN_POSITIONS=3 MAX_OPEN_POSITIONS=4
MAX_POSITIONS_PER_SYMBOL=1 MAX_POSITIONS_PER_SYMBOL=1
GRID_TRADING_ENABLED=false GRID_TRADING_ENABLED=false
GRID_ENTRY_CONFIDENCE=0.58 GRID_ENTRY_CONFIDENCE=0.58
+1 -1
View File
@@ -5,7 +5,7 @@ from dataclasses import dataclass
from pathlib import Path from pathlib import Path
FIXED_SPOT_SYMBOLS = ("BTCUSDT", "ETHUSDT", "SOLUSDT") FIXED_SPOT_SYMBOLS = ("BTCUSDT", "ETHUSDT", "SOLUSDT", "LTCUSDT")
STRATEGY_MODES = {"legacy", "trend_macd", "torch_forecast"} STRATEGY_MODES = {"legacy", "trend_macd", "torch_forecast"}
+1 -1
View File
@@ -15,7 +15,7 @@ from crypto_spot_bot.models import Candle, Ticker, utc_now
from crypto_spot_bot.storage import Storage from crypto_spot_bot.storage import Storage
POPULAR_FALLBACK = ["BTCUSDT", "ETHUSDT", "SOLUSDT"] POPULAR_FALLBACK = ["BTCUSDT", "ETHUSDT", "SOLUSDT", "LTCUSDT"]
def _float(value: Any, default: float = 0.0) -> float: def _float(value: Any, default: float = 0.0) -> float:
+3 -3
View File
@@ -75,7 +75,7 @@ def test_default_symbols_are_fixed_trend_pairs(tmp_path, monkeypatch) -> None:
settings = load_settings(env_file) settings = load_settings(env_file)
assert settings.auto_select_symbols is False assert settings.auto_select_symbols is False
assert settings.top_symbols_count == 3 assert settings.top_symbols_count == len(FIXED_SPOT_SYMBOLS)
assert settings.symbols == FIXED_SPOT_SYMBOLS assert settings.symbols == FIXED_SPOT_SYMBOLS
assert settings.strategy_mode == "torch_forecast" assert settings.strategy_mode == "torch_forecast"
assert settings.base_interval == "60" assert settings.base_interval == "60"
@@ -84,7 +84,7 @@ def test_default_symbols_are_fixed_trend_pairs(tmp_path, monkeypatch) -> None:
assert settings.time_series_forecast_enabled is True assert settings.time_series_forecast_enabled is True
def test_torch_forecast_forces_fixed_three_symbols(tmp_path, monkeypatch) -> None: def test_torch_forecast_forces_fixed_symbols(tmp_path, monkeypatch) -> None:
for key in ( for key in (
"AUTO_SELECT_SYMBOLS", "AUTO_SELECT_SYMBOLS",
"TOP_SYMBOLS_COUNT", "TOP_SYMBOLS_COUNT",
@@ -111,6 +111,6 @@ def test_torch_forecast_forces_fixed_three_symbols(tmp_path, monkeypatch) -> Non
settings = load_settings(env_file) settings = load_settings(env_file)
assert settings.auto_select_symbols is False assert settings.auto_select_symbols is False
assert settings.top_symbols_count == 3 assert settings.top_symbols_count == len(FIXED_SPOT_SYMBOLS)
assert settings.symbols == FIXED_SPOT_SYMBOLS assert settings.symbols == FIXED_SPOT_SYMBOLS
assert settings.time_series_forecast_enabled is True assert settings.time_series_forecast_enabled is True
+1 -1
View File
@@ -2,7 +2,7 @@
param( param(
[string]$TaskName = "TradeBot PyTorch Forecaster Retrainer", [string]$TaskName = "TradeBot PyTorch Forecaster Retrainer",
[int]$EveryHours = 6, [int]$EveryHours = 6,
[string]$Symbols = "BTCUSDT,ETHUSDT,SOLUSDT", [string]$Symbols = "BTCUSDT,ETHUSDT,SOLUSDT,LTCUSDT",
[int]$Limit = 1000, [int]$Limit = 1000,
[int]$Horizon = 0, [int]$Horizon = 0,
[string]$Features = "", [string]$Features = "",