Add project setup: dependencies, config, and package scaffolding
- 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>
This commit is contained in:
36
config.py
Normal file
36
config.py
Normal file
@@ -0,0 +1,36 @@
|
||||
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,
|
||||
}
|
||||
Reference in New Issue
Block a user