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()
|
indicator = ThreeATREMAIndicator()
|
||||||
calculator = None
|
calculator = None
|
||||||
if portfolio_size and portfolio_size > 0:
|
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 = []
|
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']
|
'r_r': position['risk_reward_ratio']
|
||||||
}
|
}
|
||||||
bullish_signals.append(signal_data)
|
bullish_signals.append(signal_data)
|
||||||
print(f"\n🟢 {ticker} Entry: ${current_price:.2f} Target: ${target_price:.2f}")
|
dollar_risk = signal_data['risk'] * -1
|
||||||
print(f" Potential Profit: ${signal_data['reward']:.2f} | Potential Loss: ${abs(signal_data['risk']):.2f}")
|
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:
|
except Exception as e:
|
||||||
print(f"Error processing {ticker}: {str(e)}")
|
print(f"Error processing {ticker}: {str(e)}")
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
class PositionCalculator:
|
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
|
Initialize position calculator with account size and risk percentage
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
account_size (float): Total trading account value
|
account_size (float): Total trading account value
|
||||||
risk_percentage (float): Maximum risk per trade as percentage (default 1%)
|
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.account_size = account_size
|
||||||
self.risk_percentage = risk_percentage / 100.0 # Convert to decimal
|
self.risk_percentage = risk_percentage / 100.0 # Convert to decimal
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user