import React from 'react'
import { Link } from 'react-router-dom'
import './ConfigGuide.css'

const ConfigGuide = () => {
  return (
    <div className="config-guide">
      <div className="guide-header">
        <Link to="/config" className="back-link">← 返回配置页面</Link>
        <h1>交易配置说明文档</h1>
      </div>

      <div className="guide-content">
        <section className="guide-section">
          <h2>一、预设方案说明</h2>
          
          <div className="preset-card">
            <h3>方案1：保守配置（默认）</h3>
            <p className="preset-desc">适合新手或稳健型交易者，风险较低，交易频率适中</p>
            <div className="preset-params">
              <ul>
                <li><strong>扫描间隔</strong>: 3600秒（1小时）</li>
                <li><strong>最小涨跌幅</strong>: 2.0%</li>
                <li><strong>信号强度</strong>: 5/10</li>
                <li><strong>处理交易对</strong>: 10个</li>
              </ul>
            </div>
            <div className="preset-effect">
              <strong>效果：</strong>每小时扫描一次，只捕捉2%以上的波动，信号质量高，胜率较高但交易机会较少
            </div>
          </div>

          <div className="preset-card">
            <h3>方案2：平衡配置（推荐）</h3>
            <p className="preset-desc">平衡交易频率和信号质量，适合大多数交易者</p>
            <div className="preset-params">
              <ul>
                <li><strong>扫描间隔</strong>: 600秒（10分钟）</li>
                <li><strong>最小涨跌幅</strong>: 1.5%</li>
                <li><strong>信号强度</strong>: 4/10</li>
                <li><strong>处理交易对</strong>: 12个</li>
              </ul>
            </div>
            <div className="preset-effect">
              <strong>效果：</strong>10分钟扫描一次，捕捉1.5%以上的波动，交易机会增加，信号质量仍然较高
            </div>
          </div>

          <div className="preset-card">
            <h3>方案3：激进高频配置</h3>
            <p className="preset-desc">适合晚间波动大时使用，交易频率高，需要密切监控</p>
            <div className="preset-params">
              <ul>
                <li><strong>扫描间隔</strong>: 300秒（5分钟）</li>
                <li><strong>最小涨跌幅</strong>: 1.0%</li>
                <li><strong>信号强度</strong>: 3/10</li>
                <li><strong>处理交易对</strong>: 20个</li>
              </ul>
            </div>
            <div className="preset-effect">
              <strong>效果：</strong>5分钟扫描一次，捕捉1%以上的波动，交易机会大幅增加，但需要监控胜率和手续费
            </div>
            <div className="preset-warning">
              ⚠️ <strong>风险提示：</strong>高频交易会增加手续费成本，建议在波动大的时段使用，并密切监控胜率
            </div>
          </div>
        </section>

        <section className="guide-section">
          <h2>二、配置参数详细说明</h2>

          <div className="config-detail">
            <h3>市场扫描参数</h3>
            
            <div className="param-item">
              <h4>SCAN_INTERVAL（扫描间隔）</h4>
              <p><strong>单位：</strong>秒</p>
              <p><strong>默认值：</strong>3600（1小时）</p>
              <p><strong>说明：</strong>系统每隔多长时间扫描一次市场，寻找交易机会</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，扫描越频繁，能更快捕捉市场波动，但系统资源消耗增加</li>
                <li>建议范围：300（5分钟）- 3600（1小时）</li>
                <li>晚间波动大时建议：300-600秒</li>
                <li>白天平稳时段建议：1800-3600秒</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>MIN_CHANGE_PERCENT（最小涨跌幅阈值）</h4>
              <p><strong>单位：</strong>百分比（前端显示为%，存储为小数）</p>
              <p><strong>默认值：</strong>2.0（2%）</p>
              <p><strong>说明：</strong>只有涨跌幅达到此阈值的交易对才会被考虑交易</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，捕捉的交易机会越多，但可能包含更多噪音</li>
                <li>值越大，只捕捉大幅波动，信号质量更高但机会更少</li>
                <li>建议范围：1.0% - 3.0%</li>
                <li>高频交易建议：1.0-1.5%</li>
                <li>稳健交易建议：2.0-3.0%</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>MIN_SIGNAL_STRENGTH（最小信号强度）</h4>
              <p><strong>单位：</strong>0-10的整数</p>
              <p><strong>默认值：</strong>5</p>
              <p><strong>说明：</strong>技术指标综合评分，只有达到此强度的信号才会执行交易</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，交易机会越多，但信号质量可能下降</li>
                <li>值越大，只执行高质量信号，胜率更高但机会更少</li>
                <li>建议范围：3-7</li>
                <li>激进策略建议：3-4</li>
                <li>稳健策略建议：5-7</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>TOP_N_SYMBOLS（处理交易对数量）</h4>
              <p><strong>单位：</strong>个</p>
              <p><strong>默认值：</strong>10</p>
              <p><strong>说明：</strong>每次扫描后，处理涨跌幅最大的前N个交易对</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越大，处理的交易对越多，交易机会增加</li>
                <li>但系统计算量增加，可能影响响应速度</li>
                <li>建议范围：10-20</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>MIN_VOLATILITY（最小波动率）</h4>
              <p><strong>单位：</strong>百分比（小数形式）</p>
              <p><strong>默认值：</strong>0.02（2%）</p>
              <p><strong>说明：</strong>交易对的最小波动率要求，过滤掉波动过小的交易对</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，允许更多交易对参与，但可能包含波动不足的交易对</li>
                <li>建议范围：0.015（1.5%）- 0.025（2.5%）</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>MIN_VOLUME_24H（最小24小时成交量）</h4>
              <p><strong>单位：</strong>USDT</p>
              <p><strong>默认值：</strong>10000000（1000万）</p>
              <p><strong>说明：</strong>过滤掉成交量过小的交易对，确保流动性</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，允许更多交易对，但可能包含流动性差的交易对</li>
                <li>建议不要低于500万USDT</li>
              </ul>
            </div>
          </div>

          <div className="config-detail">
            <h3>时间周期参数</h3>
            
            <div className="param-item">
              <h4>PRIMARY_INTERVAL（主周期）</h4>
              <p><strong>默认值：</strong>1h</p>
              <p><strong>说明：</strong>用于计算技术指标的主要时间周期</p>
              <p><strong>选项：</strong>1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 1d</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>周期越短，反应越快，但信号可能更频繁变化</li>
                <li>周期越长，信号更稳定，但反应较慢</li>
                <li>高频交易建议：15m-30m</li>
                <li>稳健交易建议：1h-4h</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>ENTRY_INTERVAL（入场周期）</h4>
              <p><strong>默认值：</strong>15m</p>
              <p><strong>说明：</strong>用于确定入场时机的K线周期</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>周期越短，入场时机更精确，但可能产生更多假信号</li>
                <li>建议：5m-15m</li>
              </ul>
            </div>
          </div>

          <div className="config-detail">
            <h3>仓位控制参数</h3>
            
            <div className="param-item">
              <h4>MAX_POSITION_PERCENT（单笔最大仓位）</h4>
              <p><strong>单位：</strong>账户余额的百分比</p>
              <p><strong>默认值：</strong>0.05（5%）</p>
              <p><strong>说明：</strong>单笔交易最多使用账户余额的百分比</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越大，单笔交易金额越大，潜在收益和风险都增加</li>
                <li>建议范围：3%-10%</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>MAX_TOTAL_POSITION_PERCENT（总仓位上限）</h4>
              <p><strong>单位：</strong>账户余额的百分比</p>
              <p><strong>默认值：</strong>0.30（30%）</p>
              <p><strong>说明：</strong>所有持仓的总价值不能超过账户余额的百分比</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越大，可以同时持有更多仓位，但风险集中度增加</li>
                <li>建议范围：20%-50%</li>
              </ul>
            </div>
          </div>

          <div className="config-detail">
            <h3>风险控制参数</h3>
            
            <div className="param-item">
              <h4>STOP_LOSS_PERCENT（止损百分比）</h4>
              <p><strong>单位：</strong>百分比</p>
              <p><strong>默认值：</strong>0.03（3%）</p>
              <p><strong>说明：</strong>当亏损达到此百分比时自动平仓止损</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越小，止损更严格，单笔损失更小但可能被正常波动触发</li>
                <li>建议范围：2%-5%</li>
              </ul>
            </div>

            <div className="param-item">
              <h4>TAKE_PROFIT_PERCENT（止盈百分比）</h4>
              <p><strong>单位：</strong>百分比</p>
              <p><strong>默认值：</strong>0.05（5%）</p>
              <p><strong>说明：</strong>当盈利达到此百分比时自动平仓止盈</p>
              <p><strong>影响：</strong></p>
              <ul>
                <li>值越大，目标利润更高，但可能错过及时止盈的机会</li>
                <li>建议范围：3%-8%</li>
              </ul>
            </div>
          </div>
        </section>

        <section className="guide-section">
          <h2>三、使用建议</h2>
          
          <div className="tips">
            <h3>时段差异化配置</h3>
            <p>建议在不同时段使用不同配置：</p>
            <ul>
              <li><strong>晚间波动时段（20:00-02:00 UTC+8）</strong>：使用激进高频配置，捕捉更多机会</li>
              <li><strong>白天平稳时段</strong>：使用保守或平衡配置，确保信号质量</li>
            </ul>
          </div>

          <div className="tips">
            <h3>渐进式调整</h3>
            <p>不要一次性大幅调整所有参数，建议：</p>
            <ol>
              <li>先调整SCAN_INTERVAL（从3600→1800→600→300）</li>
              <li>观察1-2天效果</li>
              <li>再调整MIN_CHANGE_PERCENT和MIN_SIGNAL_STRENGTH</li>
              <li>根据实际表现微调</li>
            </ol>
          </div>

          <div className="tips">
            <h3>监控指标</h3>
            <p>修改配置后，建议监控：</p>
            <ul>
              <li><strong>胜率</strong>：如果下降明显，需要提高MIN_SIGNAL_STRENGTH</li>
              <li><strong>总盈亏</strong>：确保增加的交易次数带来正收益</li>
              <li><strong>手续费</strong>：高频交易会增加手续费成本</li>
              <li><strong>系统负载</strong>：确保服务器能承受更频繁的扫描</li>
            </ul>
          </div>
        </section>

        <section className="guide-section">
          <h2>四、配置生效时间</h2>
          <p>配置修改后：</p>
          <ul>
            <li>立即保存到数据库</li>
            <li>交易系统会在<strong>下次扫描时</strong>自动重新加载配置</li>
            <li>如果SCAN_INTERVAL是3600秒，最多等待1小时</li>
            <li>如果改为300秒，最多等待5分钟</li>
            <li>无需重启交易系统</li>
          </ul>
        </section>
      </div>
    </div>
  )
}

export default ConfigGuide
