
    9j                         U d Z ddlZddlZddlZddlZddlmZmZ g dZg dZdddd	d
dZ	 e
       Ze
ed<   d Zedk(  r e        yy)un  
Batch optimizer: runs auto_optimize_loop.py on all crypto assets × all timeframes.

Usage:
    python3 run_all_crypto.py                          # use auto_optimize_loop.py default (3 iters × 50M)
    python3 run_all_crypto.py --hours 0.5              # override per-run duration
    python3 run_all_crypto.py --skip BINANCE_LINKUSD-1D  # skip known bad exports
    N)datetime	timedelta)COINBASE_BTCUSDCOINBASE_ETHUSDBINANCE_SOLUSDBINANCE_LINKUSD)4H6H8H12H1D240360480720r   DEFAULT_SKIPc                     t        j                  d      } | j                  dt        d d       | j                  ddg dd	
       | j                  ddd       | j                  dt        dddgd       | j                  dt        dg dd       | j                         }t        |j                        }|j                  s	|t        z  }g }t        D ]W  }t        D ]L  }| d| }||v rt        d| d       |j                  ||d| dt        j                  ||       df       N Y t!        |      }|j"                  |j"                   dnd}|j"                  d||j"                  z  }	t%        j&                         t)        |	       z   }
t        d!| d"| d#|	d$d%       t        d&|
j+                  d'              nt        d!| d"| d(       t        d)t%        j&                         j+                  d'       d*       t-        |d+      D ]  \  }\  }}}| d| }t        d*d,        t        d-| d.| d/| d0| d1	       t        d2t%        j&                         j+                  d3              t        d,        t.        j0                  d4d5|d|j2                  d|j4                  g}|j"                  |dt	        |j"                        gz  }t7        j6                         }t9        j:                  |      }t7        j6                         |z
  }|j<                  d6k(  rd7nd8|j<                   }t        d9| d.| d/| d:|d;z  d$d<| d=       ||z
  }|d6kD  sP|j"                  Pt%        j&                         t)        ||j"                  z         z   }
t        d>| d?|
j+                  d3              t        d>| d@        t        d*d,        t        dAt%        j&                         j+                  d'              t        dB       t9        j:                  t.        j0                  dCg      }|j<                  d6k(  rt        dD       y t        dE       y )FNz7Batch optimizer across all crypto assets and timeframes)descriptionz--hoursun   Hours per asset/timeframe combo. If omitted, uses auto_optimize_loop.py default (3 iterations × 50M samples).)typedefaulthelpz--skip*zASSET-TFz2Additional combos to skip, e.g. BINANCE_LINKUSD-1D)nargsr   metavarr   z--no-default-skip
store_truez(No-op, kept for compatibility))actionr   z--searchrandomoptunazASearch strategy: 'random' (default) or 'optuna' (biased sampling))r   r   choicesr   z--regimeall)r    bullbearsidewaysz6MVRV regime filter for IS training bars (default: all)-z[SKIP] z (in skip list)z	data/mlp/z, z.csvhr   )hourszRunning u    combinations × z	 each = ~z.1fzh totalzEstimated completion: z%Y-%m-%d %H:%M:%Sz duration eachzStarted at: 
   z<============================================================[/z] z  ()z  Started: z%H:%M:%Sztools/auto_optimize_loop.pyz--datar   OKzEXIT z
[z finished in <   zm  []z  Remaining: z combos, ETA z comboszAll done. Finished at: z:
[PRESETS] Updating Pine file with latest winner params...ztools/generate_pine_presets.pyub   [PRESETS] Pine file updated — paste strategies/strategy_activation_scores.pine into TradingView.zA[PRESETS] WARNING: generate_pine_presets.py failed. Run manually.)argparseArgumentParseradd_argumentfloatstr
parse_argssetskipno_default_skipr   CRYPTO_ASSETS
TIMEFRAMESprintappend
_TF_TO_MINgetlenr&   r   nowr   strftime	enumeratesys
executablesearchregimetime
subprocessrun
returncode)parserargsskip_setcombosassettfkeytotalhours_labelestimated_total_hoursetai	data_pathlabelcmdstartresultelapsedstatus	remainingpreset_results                        9/Users/jameslopez/projects/TradingBot25/run_all_crypto.pymainr`      sM   $$1jkF
	t N  O
RQ  S
+L>  @

hS[H\`  b

eEhU  WD499~HL FBG1RD/ChuO45MM5"	%:>>"b;Q:RRV&WXY   KE&*jj&<TZZL")Kzz %

 2llny/DEE0YG\]`Faahij&s||4G'H&IJK0^LM	L001DEFb
IJ%.vq%9!!E2y'2$6(m!AeWBugSQ78HLLN33J?@AB~~<h	4;;
DKKA::!Is4:://C		$))+%**a/uV=N=N<O5PA3awb}WRZ4DDPQRSAI	q=zz%llnyy4::7M'NNi[cll:>V=WXYi[893 &:6 
Bvh-	#HLLN$;$;<O$P#Q
RS 

GHNNCNN4T#UVM1$rsQR    __main__)__doc__rG   rB   r/   rF   r   r   r8   r9   r<   r5   r   __annotations__r`   __name__ ra   r_   <module>rg      sa     
   ( -
eEN
Ec JSZ zF ra   