truenas template: complete 86-key env block (kills env-drift class)
Systematic diff of the old .env against the deployed loop env found 68 code-read keys running on silent defaults — including the risk cap ($500 vs $868 observed), the VWAP gate, the exit ladder, and the NEWS_ENRICH_ENABLED flag that kept the catalyst engine dead despite OLLAMA_ENABLED=true (enrichment requires BOTH, config.py:1235 gate). Template env block regenerated with the full inventory, secrets as <FILL-ME>; a ready-to-paste block with real values generated locally (data/loop-env-block.yaml, gitignored). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
5ac2cc7b89
commit
cad9051a96
1 file changed
+86
-26
@@ -19,32 +19,92 @@
|
|||||||
x-app: &app
|
x-app: &app
|
||||||
image: docker.io/fez5587/momentum-app:latest # also published to ghcr.io/fez5587/momentum-app
|
image: docker.io/fez5587/momentum-app:latest # also published to ghcr.io/fez5587/momentum-app
|
||||||
environment: &app-env
|
environment: &app-env
|
||||||
TZ: America/New_York
|
ALPACA_API_KEY: '<FILL-ME>'
|
||||||
# ---- infra
|
ALPACA_BACKFILL_FEED: 'sip'
|
||||||
DATABASE_URL: postgresql://momentum:<FILL-ME-PG-PASSWORD>@postgres:5432/momentum
|
ALPACA_BASE_URL: 'https://paper-api.alpaca.markets/v2'
|
||||||
PG_SKIP_SCHEMA: "0"
|
ALPACA_DATA_FEED: 'sip'
|
||||||
OLLAMA_HOST: http://192.168.1.9:11434
|
ALPACA_PAPER_SYNC_ENABLED: '1'
|
||||||
ALPACA_DATA_FEED: sip
|
ALPACA_SECRET_KEY: '<FILL-ME>'
|
||||||
# ---- secrets
|
DATABASE_URL: 'postgresql://momentum:<FILL-ME-PG-PASSWORD>@postgres:5432/momentum'
|
||||||
ALPACA_API_KEY: <FILL-ME>
|
DISCOVER_INTERVAL_SECONDS: '120'
|
||||||
ALPACA_SECRET_KEY: <FILL-ME>
|
FMP_API_KEY: '<FILL-ME>'
|
||||||
ALPACA_BASE_URL: https://paper-api.alpaca.markets
|
INGEST_STALE_BLOCK: '0'
|
||||||
TELEGRAM_BOT_TOKEN: <FILL-ME>
|
INGEST_STALE_SECONDS: '180'
|
||||||
TELEGRAM_CHAT_ID: <FILL-ME>
|
LIVE_BARS_INTERVAL_SECONDS: '20'
|
||||||
YOUTUBE_API_KEY: <FILL-ME>
|
LIVE_BARS_REFRESH_MINUTES: '20'
|
||||||
# ---- strategy knobs (current validated config, 2026-07-09; full
|
NEWS_CATALYST_SCORE_ENABLED: '1'
|
||||||
# inventory with comments: .env.example in the repo)
|
NEWS_DILUTION_VETO_ENABLED: '1'
|
||||||
TRIGGER_GAP_MIN: "10.0"
|
NEWS_ENRICH_BATCH_LIMIT: '50'
|
||||||
TRIGGER_GAP_MAX: "35"
|
NEWS_ENRICH_ENABLED: '1'
|
||||||
TRIGGER_GAP_SQUEEZE_MIN: "150"
|
NEWS_ENRICH_INTERVAL_SECONDS: '120'
|
||||||
TRIGGER_GAP_SQUEEZE_RVOL: "5.0"
|
NEWS_ENRICH_LOOKBACK_HOURS: '12'
|
||||||
TRADING_MIN_ENTRY_GAP_PCT: "0.10"
|
NEWS_FEEDS: 'prnewswire=https://www.prnewswire.com/rss/news-releases-list.rss,businesswire=https://feed.businesswire.com/rss/home/?rss=G1QFDERJXkJeGVtRWQ==,globenewswire=https://www.globenewswire.com/RssFeed/orgclass/1/feedTitle/GlobeNewswire%20-%20News%20about%20Public%20Companies'
|
||||||
TRADING_MIN_DAY_VOLUME: "300000"
|
NEWS_LOOKBACK_HOURS: '8'
|
||||||
TRADING_PRICE_MIN: "2.0"
|
NEWS_RANK_BOOST: '2.0'
|
||||||
TRADING_PRICE_MAX: "20.0"
|
OLLAMA_ENABLED: '1'
|
||||||
TRADING_MIN_QUALITY_SCORE: "0.60"
|
OLLAMA_HOST: 'http://192.168.1.5:30068'
|
||||||
TRADING_MAX_FRESH_ENTRIES_PER_DAY: "10"
|
OLLAMA_MODEL: 'qwen2.5:7b-instruct'
|
||||||
TRADING_ENTRY_CONFIRM_BY_MINUTE: "0"
|
OLLAMA_TEMPERATURE: '0.1'
|
||||||
|
OLLAMA_TIMEOUT_SECONDS: '60'
|
||||||
|
ORB_BARS: '5'
|
||||||
|
PG_SKIP_SCHEMA: '0'
|
||||||
|
STRATEGY_SETUPS: 'opening_range_break'
|
||||||
|
TELEGRAM_BOT_TOKEN: '<FILL-ME>'
|
||||||
|
TELEGRAM_CHAT_ID: "'2082795871'"
|
||||||
|
TRADING_AUTO_APPROVE: '1'
|
||||||
|
TRADING_BACKOUT_COOLDOWN_SECONDS: '180'
|
||||||
|
TRADING_BLOCK_REENTRY_AFTER_EXIT: '1'
|
||||||
|
TRADING_ENTRY_CONFIRM_BY_MINUTE: '0'
|
||||||
|
TRADING_ENTRY_FILL_MODEL: 'resting'
|
||||||
|
TRADING_ENTRY_INVALIDATE_PCT: '0.015'
|
||||||
|
TRADING_ENTRY_ORDER_TYPE: 'limit'
|
||||||
|
TRADING_ENTRY_TIMEOUT_BARS: '2'
|
||||||
|
TRADING_EOD_FLATTEN_ENABLED: '1'
|
||||||
|
TRADING_EOD_FLATTEN_TIME: '15:55'
|
||||||
|
TRADING_EXECUTION_ENABLED: '1'
|
||||||
|
TRADING_EXIT_BREAKEVEN_R: '1.0'
|
||||||
|
TRADING_EXIT_PROFIT_TIERS: '8:3,15:9,25:18,40:30'
|
||||||
|
TRADING_EXIT_TRAIL_AFTER_R: '1.0'
|
||||||
|
TRADING_EXIT_TRAIL_MODE: 'prior_low'
|
||||||
|
TRADING_EXIT_TRAIL_R_STEP: '0.25'
|
||||||
|
TRADING_LIQUIDITY_MAX_VOLUME_PCT: '0.025'
|
||||||
|
TRADING_MAX_BACKOUTS_PER_SYMBOL: '3'
|
||||||
|
TRADING_MAX_CONCURRENT_POSITIONS: '10'
|
||||||
|
TRADING_MAX_DAILY_LOSS_PCT: '0.05'
|
||||||
|
TRADING_MAX_FRESH_ENTRIES_PER_DAY: '10'
|
||||||
|
TRADING_MAX_GROSS_NOTIONAL_PCT: '0.60'
|
||||||
|
TRADING_MAX_ORDERS_PER_TICK: '1'
|
||||||
|
TRADING_MAX_POSITION_PCT: '0.16'
|
||||||
|
TRADING_MAX_RISK_DOLLARS: '500'
|
||||||
|
TRADING_MIN_DAY_VOLUME: '300000'
|
||||||
|
TRADING_MIN_ENTRY_GAP_PCT: '0.10'
|
||||||
|
TRADING_MIN_QUALITY_SCORE: '0.60'
|
||||||
|
TRADING_PRICE_MAX: '20.0'
|
||||||
|
TRADING_PRICE_MIN: '2.0'
|
||||||
|
TRADING_REENTRY_MIN_LOSS_PCT: '0.01'
|
||||||
|
TRADING_REQUIRE_ABOVE_VWAP: '1'
|
||||||
|
TRADING_REWARD_MULTIPLE: '10.0'
|
||||||
|
TRADING_RISK_PER_TRADE_PCT: '0.01'
|
||||||
|
TRADING_SESSION_ONLY: '1'
|
||||||
|
TRADING_TRIGGER_SLIP_PCT: '0.004'
|
||||||
|
TRADING_UNIFIED_ENTRY: '1'
|
||||||
|
TRIGGER_ARM_INTERVAL_SECONDS: '20'
|
||||||
|
TRIGGER_ENABLED: '1'
|
||||||
|
TRIGGER_GAP_MAX: '35'
|
||||||
|
TRIGGER_GAP_MIN: '10.0'
|
||||||
|
TRIGGER_GAP_SQUEEZE_MIN: '150'
|
||||||
|
TRIGGER_GAP_SQUEEZE_RVOL: '5.0'
|
||||||
|
TRIGGER_INTERVAL_SECONDS: '4'
|
||||||
|
TRIGGER_MAX_ARMED: '10'
|
||||||
|
TRIGGER_MIN_DOLLAR_VOL: '8000'
|
||||||
|
TRIGGER_PRICE_MAX_AGE: '12'
|
||||||
|
TRIGGER_RVOL_MIN: '2.0'
|
||||||
|
TZ: 'America/New_York'
|
||||||
|
WATCHER_ENABLED: '1'
|
||||||
|
WATCHER_INTERVAL_SECONDS: '15'
|
||||||
|
WATCHER_PRICE_MAX: '20'
|
||||||
|
WATCHER_PRICE_MIN: '2'
|
||||||
|
YOUTUBE_API_KEY: '<FILL-ME>'
|
||||||
volumes:
|
volumes:
|
||||||
- /mnt/volume/Apps/momentum/data:/app/data
|
- /mnt/volume/Apps/momentum/data:/app/data
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
Reference in new issue
Block a user