feat: Update default stop loss to 7% and improve position sizing output
This commit is contained in:
parent
b9d6243bbe
commit
bf71fa5fb2
@ -90,7 +90,11 @@ def run_atr_ema_scanner(min_price: float, max_price: float, min_volume: int, por
|
||||
indicator = ThreeATREMAIndicator()
|
||||
calculator = None
|
||||
if portfolio_size and portfolio_size > 0:
|
||||
calculator = PositionCalculator(account_size=portfolio_size)
|
||||
calculator = PositionCalculator(
|
||||
account_size=portfolio_size,
|
||||
risk_percentage=1.0,
|
||||
stop_loss_percentage=7.0 # Explicitly set 7% stop
|
||||
)
|
||||
|
||||
bullish_signals = []
|
||||
|
||||
@ -125,8 +129,11 @@ def run_atr_ema_scanner(min_price: float, max_price: float, min_volume: int, por
|
||||
'r_r': position['risk_reward_ratio']
|
||||
}
|
||||
bullish_signals.append(signal_data)
|
||||
print(f"\n🟢 {ticker} Entry: ${current_price:.2f} Target: ${target_price:.2f}")
|
||||
print(f" Potential Profit: ${signal_data['reward']:.2f} | Potential Loss: ${abs(signal_data['risk']):.2f}")
|
||||
dollar_risk = signal_data['risk'] * -1
|
||||
print(f"\n🟢 {ticker} @ ${current_price:.2f}")
|
||||
print(f" Size: {signal_data['shares']} shares (${signal_data['position_size']:.2f})")
|
||||
print(f" Stop: ${signal_data['stop_loss']:.2f} (7%) | Target: ${target_price:.2f}")
|
||||
print(f" Risk/Reward: 1:{signal_data['r_r']:.1f} | Risk: ${dollar_risk:.2f}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error processing {ticker}: {str(e)}")
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
class PositionCalculator:
|
||||
def __init__(self, account_size: float, risk_percentage: float = 1.0, stop_loss_percentage: float = 6.0):
|
||||
def __init__(self, account_size: float, risk_percentage: float = 1.0, stop_loss_percentage: float = 7.0):
|
||||
"""
|
||||
Initialize position calculator with account size and risk percentage
|
||||
|
||||
Args:
|
||||
account_size (float): Total trading account value
|
||||
risk_percentage (float): Maximum risk per trade as percentage (default 1%)
|
||||
stop_loss_percentage (float): Stop loss percentage (default 6%)
|
||||
stop_loss_percentage (float): Stop loss percentage (default 7%)
|
||||
"""
|
||||
self.account_size = account_size
|
||||
self.risk_percentage = risk_percentage / 100.0 # Convert to decimal
|
||||
|
||||
Loading…
Reference in New Issue
Block a user