- hourly_trend_report.py: standalone cron script (XX:00:30) sends 1h bullish/bearish status - slack_notifier.py: add send_market_trend_report() — simple bullish/bearish only, no entry signals - main.py: log all 15 HOLD reasons (not just first 3) for debugging all-HOLD cycles - backtest/whale_correlation.py: blockchain.com on-chain correlation analysis (result: no signal) - memory/: update project memory with architecture split, cron layout, feedback Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
32 lines
784 B
Python
32 lines
784 B
Python
#!/usr/bin/env python3
|
|
"""Send hourly 1h market trend report to Slack."""
|
|
|
|
import sys
|
|
import os
|
|
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
|
|
import data_fetcher
|
|
import indicators
|
|
import slack_notifier
|
|
|
|
|
|
def main():
|
|
market_data = data_fetcher.fetch_all_market_data()
|
|
|
|
htf_by_symbol = {}
|
|
current_prices = {}
|
|
for sym, md in market_data.items():
|
|
ticker = md.get("ticker", {})
|
|
if ticker:
|
|
current_prices[sym] = ticker.get("last_price", 0)
|
|
candles_htf = md.get("candles_htf")
|
|
if candles_htf is not None and not candles_htf.empty:
|
|
htf_by_symbol[sym] = indicators.calculate_htf_indicators(candles_htf)
|
|
|
|
slack_notifier.send_market_trend_report(htf_by_symbol, current_prices)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|