diff --git a/src/screener/t_atr_ema_v2.py b/src/screener/t_atr_ema_v2.py index 49600b0..8c6f026 100644 --- a/src/screener/t_atr_ema_v2.py +++ b/src/screener/t_atr_ema_v2.py @@ -124,34 +124,35 @@ def run_atr_ema_scanner_v2(min_price: float, max_price: float, min_volume: int, signal, signal_date, signal_data = check_entry_signal(df) if signal: - signal_data = { + entry_data = { 'ticker': ticker, 'price': signal_data['price'], 'volume': current_volume, 'signal_date': signal_date, - 'last_update': datetime.fromtimestamp(last_update/1000000000) + 'last_update': datetime.fromtimestamp(last_update/1000000000), + 'ema': signal_data['ema'] # Make sure we store the EMA value } if calculator: - position = calculator.calculate_position_size(signal_data['price']) - signal_data.update({ + position = calculator.calculate_position_size(entry_data['price']) + entry_data.update({ 'shares': position['shares'], 'position_size': position['position_value'], 'stop_loss': position['stop_loss'], 'risk': position['potential_loss'] }) - entry_signals.append(signal_data) + entry_signals.append(entry_data) # Print signal information with date - print(f"\nšŸ” {ticker} @ ${signal_data['price']:.2f} on {signal_date.strftime('%Y-%m-%d %H:%M')}") + print(f"\nšŸ” {ticker} @ ${entry_data['price']:.2f} on {signal_date.strftime('%Y-%m-%d %H:%M')}") if calculator: - print(f" Size: {signal_data['shares']} shares (${signal_data['position_size']:.2f})") - print(f" Stop: ${signal_data['stop_loss']:.2f} (7%)") - print(f" Risk: ${abs(signal_data['risk']):.2f}") + print(f" Size: {entry_data['shares']} shares (${entry_data['position_size']:.2f})") + print(f" Stop: ${entry_data['stop_loss']:.2f} (7%)") + print(f" Risk: ${abs(entry_data['risk']):.2f}") # Add potential profit calculation and display - target_price = signal_data['ema'] # Using EMA as target - potential_profit = (target_price - signal_data['price']) * signal_data['shares'] + target_price = entry_data['ema'] # Use stored EMA as target + potential_profit = (target_price - entry_data['price']) * entry_data['shares'] print(f" Target: ${target_price:.2f} | Profit: ${potential_profit:.2f}") except Exception as e: