fix: Store EMA value in entry_data to prevent KeyError
This commit is contained in:
parent
9d8a4167d0
commit
bf0adcb163
@ -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)
|
signal, signal_date, signal_data = check_entry_signal(df)
|
||||||
if signal:
|
if signal:
|
||||||
signal_data = {
|
entry_data = {
|
||||||
'ticker': ticker,
|
'ticker': ticker,
|
||||||
'price': signal_data['price'],
|
'price': signal_data['price'],
|
||||||
'volume': current_volume,
|
'volume': current_volume,
|
||||||
'signal_date': signal_date,
|
'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:
|
if calculator:
|
||||||
position = calculator.calculate_position_size(signal_data['price'])
|
position = calculator.calculate_position_size(entry_data['price'])
|
||||||
signal_data.update({
|
entry_data.update({
|
||||||
'shares': position['shares'],
|
'shares': position['shares'],
|
||||||
'position_size': position['position_value'],
|
'position_size': position['position_value'],
|
||||||
'stop_loss': position['stop_loss'],
|
'stop_loss': position['stop_loss'],
|
||||||
'risk': position['potential_loss']
|
'risk': position['potential_loss']
|
||||||
})
|
})
|
||||||
|
|
||||||
entry_signals.append(signal_data)
|
entry_signals.append(entry_data)
|
||||||
|
|
||||||
# Print signal information with date
|
# 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:
|
if calculator:
|
||||||
print(f" Size: {signal_data['shares']} shares (${signal_data['position_size']:.2f})")
|
print(f" Size: {entry_data['shares']} shares (${entry_data['position_size']:.2f})")
|
||||||
print(f" Stop: ${signal_data['stop_loss']:.2f} (7%)")
|
print(f" Stop: ${entry_data['stop_loss']:.2f} (7%)")
|
||||||
print(f" Risk: ${abs(signal_data['risk']):.2f}")
|
print(f" Risk: ${abs(entry_data['risk']):.2f}")
|
||||||
# Add potential profit calculation and display
|
# Add potential profit calculation and display
|
||||||
target_price = signal_data['ema'] # Using EMA as target
|
target_price = entry_data['ema'] # Use stored EMA as target
|
||||||
potential_profit = (target_price - signal_data['price']) * signal_data['shares']
|
potential_profit = (target_price - entry_data['price']) * entry_data['shares']
|
||||||
print(f" Target: ${target_price:.2f} | Profit: ${potential_profit:.2f}")
|
print(f" Target: ${target_price:.2f} | Profit: ${potential_profit:.2f}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user