feat: Scan entire date range for candlestick pattern signals
This commit is contained in:
parent
fa30002ef9
commit
cbac015a5a
@ -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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user