설정 파일
MoneyMax의 모든 설정은 config/ 디렉토리의 YAML 파일과 .env 환경변수로 관리됩니다.
trading.yaml — 자동매매 설정
yaml
mode: paper # paper | live
initial_balance: 10000 # USDT (paper 모드 초기 자본)
strategies:
- name: crypto_momentum
timeframe: "1h" # 사용할 타임프레임
interval_seconds: 3600 # 전략 실행 간격 (초)
- name: crypto_scalp
timeframe: "5m"
interval_seconds: 300
symbols: # 트레이딩 대상 심볼
- BTC/USDT
- ETH/USDT
- SOL/USDT
- BNB/USDT
risk:
max_position_pct: 0.05 # 포지션 최대 비중 (5%)
max_portfolio_risk_pct: 0.20 # 포트폴리오 노출 한도 (20%)
max_daily_trades: 10 # 일일 최대 거래
min_confidence: 0.60 # 최소 시그널 신뢰도
monitoring:
sl_tp_check_seconds: 30 # SL/TP 체크 간격
status_display_seconds: 10 # 상태 표시 간격
telegram_summary_seconds: 3600 # 정기 포트폴리오 요약 간격
telegram:
enabled: false # .env에 토큰 있으면 자동 활성화
discord:
enabled: falsestrategies.yaml — 전략 파라미터
yaml
crypto_scalp:
enabled: true
markets: [crypto]
timeframes: ["5m", "15m"]
parameters:
rsi_oversold: 25
rsi_overbought: 65
bb_lower_trigger: 0.05
bb_upper_trigger: 0.95
macd_cross_confirm: true
volume_spike_ratio: 1.0
min_confidence: 0.65
weights:
rsi: 0.25
bb: 0.25
macd: 0.25
volume: 0.15
sentiment: 0.10
crypto_momentum:
enabled: true
markets: [crypto]
timeframes: ["1h", "4h"]
parameters:
ema_fast: 12
ema_slow: 26
adx_threshold: 35
breakout_lookback: 10
breakout_std_mult: 2.0
min_confidence: 0.85
weights:
ema_cross: 0.25
adx: 0.30
breakout: 0.30
volume: 0.10
sentiment: 0.05
stock_swing:
enabled: true
markets: [us_stock, kr_stock]
timeframes: ["1d"]
parameters:
sma_fast: 10
sma_slow: 50
rsi_oversold: 25
rsi_overbought: 60
macd_cross_confirm: true
min_confidence: 0.70
weights:
sma: 0.20
rsi: 0.20
macd: 0.20
volume: 0.10
sentiment: 0.30
stock_trend:
enabled: true
markets: [us_stock, kr_stock]
timeframes: ["1d"]
parameters:
golden_cross_sma_fast: 30
golden_cross_sma_slow: 150
death_cross_confirm_days: 5
news_sentiment_threshold: 0.2
min_confidence: 0.70
weights:
cross: 0.50
trend_strength: 0.20
volume: 0.20
sentiment: 0.10watchlists.yaml — 감시 종목
yaml
crypto:
binance:
- BTC/USDT
- ETH/USDT
- SOL/USDT
- BNB/USDT
upbit:
- KRW-BTC
- KRW-ETH
- KRW-SOL
us_stock:
- SPY
- QQQ
- AAPL
- NVDA
- JPM
kr_stock:
- 005930 # 삼성전자
- 000660 # SK하이닉스
- 068270 # 셀트리온
- 005380 # 현대차
- 035420 # NAVERsettings.yaml — 앱 설정
yaml
app:
name: MoneyMax
version: 0.1.0
log_level: INFO
timezone: Asia/Seoul
data:
ring_buffer_size: 5000
ohlcv_history_days: 90
analysis:
technical:
rsi_period: 14
macd_fast: 12
macd_slow: 26
macd_signal: 9
bb_period: 20
bb_std: 2.0
sma_periods: [20, 50, 200]
ema_periods: [12, 26]
adx_period: 14
atr_period: 14
risk:
max_position_pct: 0.05
max_portfolio_risk_pct: 0.20
default_stop_loss_pct: 0.03
default_take_profit_pct: 0.06
max_daily_trades: 10
min_confidence: 0.60
rate_limits:
binance:
requests_per_second: 10
burst: 20
upbit:
requests_per_second: 8
burst: 15.env — 환경변수 (API 키)
| 변수 | 필수 | 설명 |
|---|---|---|
BINANCE_API_KEY | Live 모드 | Binance API Key |
BINANCE_API_SECRET | Live 모드 | Binance API Secret |
TELEGRAM_BOT_TOKEN | 선택 | Telegram Bot Token |
TELEGRAM_CHAT_ID | 선택 | Telegram Chat ID |
DISCORD_BOT_TOKEN | 선택 | Discord Bot Token |
DISCORD_GUILD_ID | 선택 | Discord Guild ID |
UPBIT_ACCESS_KEY | 선택 | Upbit Access Key |
UPBIT_SECRET_KEY | 선택 | Upbit Secret Key |
KIS_APP_KEY | 선택 | 한국투자증권 App Key |
KIS_APP_SECRET | 선택 | 한국투자증권 App Secret |
KIS_ACCOUNT_NO | 선택 | 계좌번호 |
NEWSAPI_KEY | 선택 | NewsAPI Key |
REDDIT_CLIENT_ID | 선택 | Reddit Client ID |
REDDIT_CLIENT_SECRET | 선택 | Reddit Client Secret |
REDIS_URL | 선택 | Redis 연결 URL |