erateSingleCandlestick(date, previousClose, minPrice = 120, maxPrice = 180) {
    const gapPercent = (Math.random() - 0.5) * 0.02;
    let open = previousClose * (1 + gapPercent);
    open = Math.max(minPrice, Math.min(maxPrice, open));
    open = Math.round(open * 100) / 100;
    
    const close = generatePriceChange(open, minPrice, maxPrice, 0.04);
    const { high, low } = generateHighLow(open, close, minPrice, maxPrice);
    
    return {
      date: date,
      open: open,
      high: high,
      low: