- requirements.txt with all core dependencies (streamlit, binance, ta, anthropic, praw, etc.) - .env.example template for all required API keys - .gitignore covering secrets, caches, db files, and logs - config.py loading env vars with trading defaults and signal weights - tests/conftest.py with sys.path fix for imports - Empty __init__.py files for tests, data, agents, engine, dashboard, scheduler packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
# API Keys
|
|
BINANCE_API_KEY = os.getenv("BINANCE_API_KEY", "")
|
|
BINANCE_SECRET = os.getenv("BINANCE_SECRET", "")
|
|
CRYPTOPANIC_API_KEY = os.getenv("CRYPTOPANIC_API_KEY", "")
|
|
NEWS_API_KEY = os.getenv("NEWS_API_KEY", "")
|
|
TWITTER_BEARER_TOKEN = os.getenv("TWITTER_BEARER_TOKEN", "")
|
|
REDDIT_CLIENT_ID = os.getenv("REDDIT_CLIENT_ID", "")
|
|
REDDIT_SECRET = os.getenv("REDDIT_SECRET", "")
|
|
REDDIT_USER_AGENT = os.getenv("REDDIT_USER_AGENT", "crypto_signal_bot/1.0")
|
|
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "")
|
|
|
|
# Defaults
|
|
DB_PATH = os.path.join(os.path.dirname(__file__), "crypto_signals.db")
|
|
LOG_DIR = os.path.join(os.path.dirname(__file__), "logs")
|
|
TOP_N_COINS = 50
|
|
SURGE_VOLUME_MULTIPLIER = 3.0
|
|
MAX_POSITIONS = 5
|
|
INITIAL_CAPITAL = 200.0
|
|
STOP_LOSS_PCT = -0.08
|
|
TAKE_PROFIT_1_PCT = 0.15
|
|
TAKE_PROFIT_2_PCT = 0.25
|
|
MIN_POSITION_USD = 15.0
|
|
ANALYSIS_INTERVAL_MINUTES = 15
|
|
|
|
# Default weights
|
|
DEFAULT_WEIGHTS = {
|
|
"technical": 0.6,
|
|
"news": 0.2,
|
|
"social": 0.1,
|
|
"ai": 0.1,
|
|
}
|