HEX
Server: Apache/2.4.18 (Ubuntu)
System: Linux ubuntu 7.0.5-x86_64-linode173 #1 SMP PREEMPT_DYNAMIC Fri May 8 10:12:05 EDT 2026 x86_64
User: root (0)
PHP: 7.2.28-1+ubuntu16.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //proc/self/root/opt/trading-bot/nuke_and_reset.py
import os
import pymysql
from dotenv import load_dotenv

load_dotenv()

def nuke_and_reset():
    conn = pymysql.connect(
        host=os.getenv('MYSQL_HOST'),
        user=os.getenv('MYSQL_USER'),
        password=os.getenv('MYSQL_PASSWORD'),
        database=os.getenv('MYSQL_DATABASE'),
        port=int(os.getenv('MYSQL_PORT', 3306))
    )
    
    strategies = [
        "LegacyBasis", "MultiAssetAlpha", "TrendFollower", "VolatilityHunter", 
        "GridBot", "MeanRevScalper", "MomentumBreakout",
        "EquityMomentum", "EquityMeanReversion", "EquityBollingerBreakout",
        "EquityTrendPullback", "EquityATRBreakout", "EquityPairsTrading", "EquityTripleThreat"
    ]
    
    tables_to_truncate = [
        "positions", "pnl_history", "portfolio_state", "orders", "fills", "signals"
    ]
    
    try:
        with conn.cursor() as cur:
            # Disable foreign key checks for truncate
            cur.execute("SET FOREIGN_KEY_CHECKS = 0")
            
            for table in tables_to_truncate:
                print(f"Truncating {table}...")
                cur.execute(f"TRUNCATE TABLE {table}")
            
            cur.execute("SET FOREIGN_KEY_CHECKS = 1")
            
            print(f"Inserting fresh $10,000 states for {len(strategies)} strategies...")
            for strat in strategies:
                cur.execute("""
                    INSERT INTO portfolio_state (strategy_name, equity, cash, exposure, drawdown, ts)
                    VALUES (%s, 10000.0, 10000.0, 0.0, 0.0, NOW())
                """, (strat,))
            
            conn.commit()
            print("System successfully NUKE-AND-RESET.")
    except Exception as e:
        print(f"Error during nuke-and-reset: {e}")
        conn.rollback()
    finally:
        conn.close()

if __name__ == "__main__":
    nuke_and_reset()