diff --git a/src/screener/t_atr_ema.py b/src/screener/t_atr_ema.py index 38a74eb..7acbcf8 100644 --- a/src/screener/t_atr_ema.py +++ b/src/screener/t_atr_ema.py @@ -120,17 +120,17 @@ def run_atr_ema_scanner(min_price: float, max_price: float, min_volume: int, por if position['shares'] > 0: signal_data = { 'ticker': ticker, - 'entry': current_price, - 'target': target_price, + 'entry_price': current_price, + 'target_price': target_price, 'signal_date': signal_date, 'volume': current_volume, 'last_update': datetime.fromtimestamp(last_update/1000000000), 'shares': position['shares'], 'position_size': position['position_value'], 'stop_loss': position['stop_loss'], - 'risk': position['potential_loss'], - 'reward': position['potential_profit'], - 'r_r': position['risk_reward_ratio'] + 'risk_amount': position['potential_loss'], + 'profit_amount': position['potential_profit'], + 'risk_reward_ratio': position['risk_reward_ratio'] } bullish_signals.append(signal_data) dollar_risk = signal_data['risk'] * -1 diff --git a/src/screener/t_atr_ema_v2.py b/src/screener/t_atr_ema_v2.py index 8c6f026..f4489e1 100644 --- a/src/screener/t_atr_ema_v2.py +++ b/src/screener/t_atr_ema_v2.py @@ -126,20 +126,23 @@ def run_atr_ema_scanner_v2(min_price: float, max_price: float, min_volume: int, if signal: entry_data = { 'ticker': ticker, - 'price': signal_data['price'], + 'entry_price': signal_data['price'], + 'target_price': signal_data['ema'], 'volume': current_volume, 'signal_date': signal_date, - 'last_update': datetime.fromtimestamp(last_update/1000000000), - 'ema': signal_data['ema'] # Make sure we store the EMA value + 'last_update': datetime.fromtimestamp(last_update/1000000000) } if calculator: - position = calculator.calculate_position_size(entry_data['price']) + position = calculator.calculate_position_size(entry_data['entry_price']) + potential_profit = (entry_data['target_price'] - entry_data['entry_price']) * position['shares'] entry_data.update({ 'shares': position['shares'], 'position_size': position['position_value'], 'stop_loss': position['stop_loss'], - 'risk': position['potential_loss'] + 'risk_amount': position['potential_loss'], + 'profit_amount': potential_profit, + 'risk_reward_ratio': abs(potential_profit / position['potential_loss']) if position['potential_loss'] != 0 else 0 }) entry_signals.append(entry_data) diff --git a/src/screener/t_sunnyband.py b/src/screener/t_sunnyband.py index 5374589..aabd093 100644 --- a/src/screener/t_sunnyband.py +++ b/src/screener/t_sunnyband.py @@ -252,16 +252,17 @@ def run_sunny_scanner(min_price: float, max_price: float, min_volume: int, portf # Update signal data with proper stop loss calculation signal_data = { 'ticker': ticker, - 'entry': current_price, - 'target': target_price, + 'entry_price': current_price, + 'target_price': target_price, + 'signal_date': signal_date, 'volume': current_volume, 'last_update': datetime.fromtimestamp(last_update/1000000000), 'shares': position['shares'], 'position_size': position['position_value'], 'stop_loss': current_price * 0.93, # 7% stop loss - 'risk': position['potential_loss'], - 'reward': position['potential_profit'], - 'r_r': position['risk_reward_ratio'] + 'risk_amount': position['potential_loss'], + 'profit_amount': position['potential_profit'], + 'risk_reward_ratio': position['risk_reward_ratio'] } bullish_signals.append(signal_data) # Update print output format @@ -299,17 +300,11 @@ def run_sunny_scanner(min_price: float, max_price: float, min_volume: int, portf if bullish_signals: df_bullish = pd.DataFrame(bullish_signals) - output_file = f'{output_dir}/sunny_bullish_{output_date}.csv' + output_file = f'{output_dir}/sunny_signals_{output_date}.csv' df_bullish.to_csv(output_file, index=False) - print(f"\nSaved bullish signals to {output_file}") - - if bearish_signals: - df_bearish = pd.DataFrame(bearish_signals) - output_file = f'{output_dir}/sunny_bearish_{output_date}.csv' - df_bearish.to_csv(output_file, index=False) - print(f"\nSaved bearish signals to {output_file}") - - print(f"\nFound {len(bullish_signals)} bullish and {len(bearish_signals)} bearish signals") + print(f"\nSaved {len(bullish_signals)} signals to {output_file}") + else: + print("\nNo signals found") except Exception as e: print(f"Error during scan: {str(e)}")