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:
|
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:
|
Args:
|
||||||
df (pd.DataFrame): DataFrame with OHLCV data
|
df (pd.DataFrame): DataFrame with OHLCV data
|
||||||
|
selected_patterns (list): List of patterns to scan for
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
list: List of tuples (signal, date, signal_data) for each signal found
|
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
|
df['close'].values
|
||||||
)
|
)
|
||||||
|
|
||||||
# Look for signals in the last candle
|
# Look for signals across all candles
|
||||||
i = len(df) - 1
|
for i in range(len(df)):
|
||||||
found_patterns = []
|
found_patterns = []
|
||||||
|
|
||||||
for pattern_name, pattern_values in pattern_signals.items():
|
for pattern_name, pattern_values in pattern_signals.items():
|
||||||
# Check if we have a bullish signal (value > 0)
|
# Check if we have a bullish signal (value > 0)
|
||||||
if pattern_values[i] > 0:
|
if pattern_values[i] > 0:
|
||||||
found_patterns.append(CANDLESTICK_PATTERNS[pattern_name]['description'])
|
found_patterns.append(CANDLESTICK_PATTERNS[pattern_name]['description'])
|
||||||
|
|
||||||
if found_patterns:
|
if found_patterns:
|
||||||
signal_data = {
|
signal_data = {
|
||||||
'price': df.iloc[i]['close'],
|
'price': df.iloc[i]['close'],
|
||||||
'patterns': ', '.join(found_patterns),
|
'patterns': ', '.join(found_patterns),
|
||||||
'pattern_count': len(found_patterns)
|
'pattern_count': len(found_patterns)
|
||||||
}
|
}
|
||||||
signals.append((True, df.iloc[i]['date'], signal_data))
|
signals.append((True, df.iloc[i]['date'], signal_data))
|
||||||
|
|
||||||
return signals
|
return signals
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user