← Back
require('dotenv').config();

const config = {
  port: process.env.PORT || 8080,
  apiKey: process.env.API_KEY || 'default_key',
  databaseUrl: process.env.DATABASE_URL,
  nodeEnv: process.env.NODE_ENV || 'development',
  binance: {
    tickerUrl: 'https://eapi.binance.com/eapi/v1/ticker',
    markUrl: 'https://eapi.binance.com/eapi/v1/mark',
    apiKey: process.env.BINANCE_API_KEY || '',
    apiSecret: process.env.BINANCE_API_SECRET || '',
    eapiBase: 'https://eapi.binance.com',
  },
  trading: {
    enabled: process.env.TRADING_ENABLED === 'true',
    // Gamma Play auto-trading
    autoGamma: {
      enabled: process.env.AUTO_GAMMA_ENABLED === 'true',
      maxCostDefault: parseFloat(process.env.AUTO_GAMMA_MAX_COST) || 3,       // $3 for SOL/BNB/XRP/DOGE
      maxCostMajor: parseFloat(process.env.AUTO_GAMMA_MAX_COST_MAJOR) || 5,   // $5 for BTC/ETH
      majorAssets: ['BTC', 'ETH'],
      maxPositions: parseInt(process.env.AUTO_GAMMA_MAX_POS) || 5,
      minConfidence: parseInt(process.env.AUTO_GAMMA_MIN_CONF) || 90,
      maxDte: parseFloat(process.env.AUTO_GAMMA_MAX_DTE) || 1,                // <= 1 day (24h)
      minDelta: parseFloat(process.env.AUTO_GAMMA_MIN_DELTA) || 0.3,          // no far OTM
      maxDelta: parseFloat(process.env.AUTO_GAMMA_MAX_DELTA) || 0.7,          // no deep ITM
      maxDistancePct: parseFloat(process.env.AUTO_GAMMA_MAX_DIST) || 1,       // < 1% from strike
      minCostUsd: parseFloat(process.env.AUTO_GAMMA_MIN_COST) || 0.5,         // skip dust
      noCounterTrend: true,
      tpPct: parseFloat(process.env.AUTO_GAMMA_TP_PCT) || 100,                // TP +100%
      assets: (process.env.AUTO_GAMMA_ASSETS || 'BTC,ETH,SOL,BNB,XRP,DOGE').split(','),
    },
  },
  cache: {
    fastInterval: parseInt(process.env.FAST_REFRESH_MS) || 30 * 1000,   // 30s — prices + Greeks
    slowInterval: parseInt(process.env.SLOW_REFRESH_MS) || 5 * 60 * 1000, // 5m — IV history + signals
    refreshInterval: 5 * 60 * 1000, // legacy fallback
  },
  ws: {
    heartbeatInterval: 30000,
  },
  telegram: {
    botToken: process.env.TELEGRAM_BOT_TOKEN || '',
    chatId: process.env.TELEGRAM_CHAT_ID || '',
  },
  alerts: {
    minConfidence: parseInt(process.env.ALERT_MIN_CONFIDENCE) || 75,
  },
};

module.exports = config;

📜 Git History

e78fc62feat: auto-trading for Gamma Play + fix fake 100% WR bug10 weeks ago
38ab281feat: Semi-auto Trading + Positions tab (Task 3.1 + 3.2)3 months ago
04f5515feat: split scheduler into fast (30s) and slow (5min) cycles3 months ago
163bb5dfeat: migrate to options-screener-v2 folder to isolate deployment4 months ago
Show last diff
Loading...