feat: add Hurst Bands, strategy panel, signal markers and multiple UI enhancements
This commit is contained in:
65
scripts/generate_custom_history.py
Normal file
65
scripts/generate_custom_history.py
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
import asyncio
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Add src to path
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
from src.data_collector.database import DatabaseManager
|
||||
from src.data_collector.custom_timeframe_generator import CustomTimeframeGenerator
|
||||
|
||||
# Configure logging
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||||
)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
async def main():
|
||||
logger.info("Starting custom timeframe generation...")
|
||||
|
||||
# DB connection settings from env or defaults
|
||||
db_host = os.getenv('DB_HOST', 'localhost')
|
||||
db_port = int(os.getenv('DB_PORT', 5432))
|
||||
db_name = os.getenv('DB_NAME', 'btc_data')
|
||||
db_user = os.getenv('DB_USER', 'btc_bot')
|
||||
db_password = os.getenv('DB_PASSWORD', '')
|
||||
|
||||
db = DatabaseManager(
|
||||
host=db_host,
|
||||
port=db_port,
|
||||
database=db_name,
|
||||
user=db_user,
|
||||
password=db_password
|
||||
)
|
||||
|
||||
await db.connect()
|
||||
|
||||
try:
|
||||
generator = CustomTimeframeGenerator(db)
|
||||
await generator.initialize()
|
||||
|
||||
# Generate 37m from 1m
|
||||
logger.info("Generating 37m candles from 1m data...")
|
||||
count_37m = await generator.generate_historical('37m')
|
||||
logger.info(f"Generated {count_37m} candles for 37m")
|
||||
|
||||
# Generate 148m from 37m
|
||||
# Note: 148m generation relies on 37m data existing
|
||||
logger.info("Generating 148m candles from 37m data...")
|
||||
count_148m = await generator.generate_historical('148m')
|
||||
logger.info(f"Generated {count_148m} candles for 148m")
|
||||
|
||||
logger.info("Done!")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error generating custom timeframes: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
finally:
|
||||
await db.disconnect()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user