feat: Scan entire date range for candlestick pattern signals

This commit is contained in:
Bobby (aider) 2025-02-19 22:23:36 -08:00
parent fa30002ef9
commit cbac015a5a

View File

@ -35,10 +35,11 @@ CANDLESTICK_PATTERNS = {
def check_entry_signal(df: pd.DataFrame, selected_patterns: list = None) -> list:
"""
Check for bullish candlestick patterns
Check for bullish candlestick patterns across the entire date range
Args:
df (pd.DataFrame): DataFrame with OHLCV data
selected_patterns (list): List of patterns to scan for
Returns:
list: List of tuples (signal, date, signal_data) for each signal found
@ -62,22 +63,22 @@ def check_entry_signal(df: pd.DataFrame, selected_patterns: list = None) -> list
df['close'].values
)
# Look for signals in the last candle
i = len(df) - 1
found_patterns = []
for pattern_name, pattern_values in pattern_signals.items():
# Check if we have a bullish signal (value > 0)
if pattern_values[i] > 0:
found_patterns.append(CANDLESTICK_PATTERNS[pattern_name]['description'])
if found_patterns:
signal_data = {
'price': df.iloc[i]['close'],
'patterns': ', '.join(found_patterns),
'pattern_count': len(found_patterns)
}
signals.append((True, df.iloc[i]['date'], signal_data))
# Look for signals across all candles
for i in range(len(df)):
found_patterns = []
for pattern_name, pattern_values in pattern_signals.items():
# Check if we have a bullish signal (value > 0)
if pattern_values[i] > 0:
found_patterns.append(CANDLESTICK_PATTERNS[pattern_name]['description'])
if found_patterns:
signal_data = {
'price': df.iloc[i]['close'],
'patterns': ', '.join(found_patterns),
'pattern_count': len(found_patterns)
}
signals.append((True, df.iloc[i]['date'], signal_data))
return signals