
    ق%ja#                     
   d dl Z d dlZd dlZd dlZd dlmZ dZ ej        dd                                          dk    r ee            e	d          d dl
mZ d dlZd d	lmZ d d
lmZ dZdZdZdZdZdZdZdZdZdZg dZdZ e              ej        d          Zes ed            e             ej                             e          Z! ee!ej"                  Z#d Z$d Z%d Z&d Z'd Z(e)dk    r e(             dS dS )    N)datetimezHLegacy AutoTrader disabled; use src/tools/preflight.py and v76 executorsCTB_ALLOW_LEGACY_AUTOTRADER true   )load_dotenv)	constants)Exchangezportfolio_state.jsonzcooldowns.jsonztrading_log.txt   g      >@g{Gz?
   i,  gQ?i )FTTHEMILUNAUSTC   HL_API_PRIVATE_KEYz*FEHLER: HL_API_PRIVATE_KEY nicht gefunden.c                    t          j                                        d          }d| d|  }t          |           t	          t
          dd          5 }|                    |dz              d d d            d S # 1 swxY w Y   d S )Nz%Y-%m-%d %H:%M:%S[z] azutf-8)encoding
)r   nowstrftimeprintopenLOG_FILEwrite)msgtslinefs       %AutoTrader_backup_2026-03-29_17-30.py
log_actionr#   .   s    		 	 !4	5	5Br??S??D	$KKK	hg	.	.	. !	t                 s   A;;A?A?c                     t           j                            |           rP	 t          | d          5 }t	          j        |          cd d d            S # 1 swxY w Y   n# t          $ r i cY S w xY wi S )Nr)ospathexistsr   jsonload	Exception)	file_pathr!   s     r"   	load_jsonr-   5   s    	w~~i   $	$i%%?49Q<<?????????????????###)))#Is4   A AA AA AA A-,A-c                     t          | d          5 }t          j        ||d           d d d            d S # 1 swxY w Y   d S )Nw   )indent)r   r)   dump)r,   datar!   s      r"   	save_jsonr4   <   sc    	i		@DIdAa$@$@$@$@@@@@@@@@@@@@@@@@@@s   6::c                      d} 	 t          j        | ddiddi          }|                                 |                                S # t          $ r}t          d|            Y d }~d S d }~ww xY w)Nz https://api.hyperliquid.xyz/infozContent-Typezapplication/jsontypemetaAndAssetCtxs)headersr)   u   ❌ API-Fehler: )requestspostraise_for_statusr)   r+   r#   )urlr%   es      r"   get_market_datar>   ?   s    
,CM#8J'KSY[mRnooo	vvxx   )a))***ttttts   AA 
A.A))A.c                  t    t          d           i } 	 	 t          j                     t                      }|st          j        t                     ?|d         d         }|d         }i i }}i }t          |          D ]\  }}|d         }	||         }
t          |
d                   }t          |
d                   }|||	<   |||	<   |	| vrg | |	<    fd	| |	         D             | |	<   | |	                              |f           t          | |	                   dk    r-| |	         d         d         }|dk    r||z
  |z  }|||	<   d||	<   t          t                    }t          t                    }g }|                                D ]\  }}|                    |d          }|dk    r#|                    d
d          }|d         }|d         }|dk    r||d         k    r|||         d<   ||         d         dt          z
  z  }||k    r	 t                              |d|d d           ||z
  |z  dz  }t          d| d|dd|dd           |                    |            ||<   # t"          $ r }t          d| d|            Y d }~
d }~ww xY w|dk    r||d         k     r|||         d<   ||         d         dt          z   z  }||k    r	 t                              |d|d d           ||z
  |z  dz  }t          d| d|dd|dd           |                    |            ||<   # t"          $ r }t          d| d|            Y d }~d }~ww xY w|D ]}||= t%          t          |           t%          t          |           t&          t          |          z
  }|dk    r(g }|                                D ]\  }}||v s||         t(          k     s	|t*          v r$||v r ||         z
  }|t,          dz  k     rBt          | |                   dt          z  k     rd|t.          k    r(|                    ||||         ||         dd            |t.           k    r'|                    ||||         ||         dd            t1          |d! d"          }|d |         D ](}|d#         }|d$         }|d%         }t3          dt5          t6          |z                      }	 |dk    r[t                              |d|d d           t          d&| d'|dd(|d)         d*z  d+d,|d-         dz  d.d	           ||||dd/||<   nZt                              |d|d d           t          d0| d'|dd(|d)         d*z  d+d1|d-         dz  d.d	           ||||dd/||<   # t"          $ r }t          d2| d|            Y d }~"d }~ww xY wt%          t          |           n)# t"          $ r}t          d3|            Y d }~nd }~ww xY wt          j        t                     &)4NuA   🚀 Sniper V2 gestartet (Big-Player-Filter & Cooldowns aktiv)...Tr   universe   namemarkPx	dayNtlVlmc                 <    g | ]}|d          z
  t           k    |S )r   )MEMORY_SECONDS).0x
current_tss     r"   
<listcomp>zmain.<locals>.<listcomp>h   s0    &m&m&mQVWXYVZIZ^lIlIlqIlIlIl    	directionlongentry_pxsizehigh_pxFg?d   u   🛑 VERKAUF LONG: z bei $z.4fz | G/V: z+.2f%u   ❌ Fehler beim Verkauf von z: shortlow_pxu   🛑 COVER SHORT: u   ❌ Fehler beim Covern von i  <   )coinchangevolpxdirc                 ,    t          | d                   S )NrW   )abs)rH   s    r"   <lambda>zmain.<locals>.<lambda>   s    C(DTDT rK   )keyreverserV   rY   rZ   u   🎯 V2 KAUF LONG: z | Preis: $z	 | Vol: $rX   i@B z.1fu   M | Zündung: +rW   z.2f)rN   rP   rT   rO   rL   u   🎯 V2 SELL SHORT: zM | Absturz: u   ❌ API Order-Fehler bei u%   ⚠️ Warnung in der Hauptschleife: )r#   timer>   sleepLOOP_INTERVAL	enumeratefloatappendlenr-   
STATE_FILECOOLDOWN_FILEitemsgetTRAILING_STOP_PCTexchangemarket_openr+   r4   
MAX_TRADESMIN_VOLUME_24H	BLACKLISTCOOLDOWN_HOURSSNIPER_TRIGGER_PCTsortedmaxintTRADE_AMOUNT_USD)!price_historyr3   r@   
asset_ctxspricesvolumessniper_signalsi	coin_inforB   ctxcurr_pxvol_24h	oldest_px	st_changestate	cooldownsclosed_coinsrV   t_datarL   rN   rO   
stop_price
profit_pctr=   c
open_slotsopportunitiestime_passedopprY   rI   s!                                   @r"   mainr   I   s   RSSSMB"	DJ"$$D 
=)))Awz*HaJ "GFN )( 3 3 1 19 ( mH..K 011&t '},,*,M$'&m&m&m&m-2E&m&m&md#d#**J+@AAA}T*++a// -d 3A 6q 9I 1}}%,y%8I$E	/8t,,/0t,j))E!-00I L %  R  Rf **T1--a<<"JJ{F;;	!*-f~&&	!222WE$K	4J!&tY!71?P;P!QJ*,,S$00udD$OOO+2X+=*IS)PJ&'pT'p'p'p'p'p^h'p'p'p'pqqq(//555.8IdOO( S S S&'Qd'Q'Qa'Q'QRRRRRRRRS - '))!11175;x3H!&tX!6!>O:O!PJ*,,R$00tT4NNN+3g+=*IS)PJ&'oD'o'o'o'o'o]g'o'o'o'oppp(//555.8IdOO( R R R&'PT'P'PQ'P'PQQQQQQQQR "  !HHj%(((mY/// $c%jj0JA~~ "'5';';'='= L LOD)u}}(F(F$R[J[J[  y((&09T?&B&.4*?@@$=.//23EFF $666%,,diX_`dXemstxmy  CI  .J  .J  K  K  K  K"'9&999%,,diX_`dXemstxmy  CJ  .K  .K  L  L  L &}:T:T^b c c c(*5 L LCv;DTB #E
Iq#&6&;"<"<==D
L$..$00tT4NNN&  (_T  (_  (_b  (_  (_  (__bch_ijq_q  (_  (_  (_  GJ  KS  GT  UX  GX  (_  (_  (_  (_  `  `  `79bTV`dsy*z*zE$KK$00udD$OOO&  (^d  (^  (^r  (^  (^  (^`cdi`jkr`r  (^  (^  (^  FI  JR  FS  TW  FW  (^  (^  (^  (^  _  _  _79bTV`dsz*{*{E$K$ L L L"#Jt#J#Jq#J#JKKKKKKKKL j%(((( 	D 	D 	DBqBBCCCCCCCC	D 	
=!!!EB"s   <W6 F;W6 AI-,W6 -
J7JW6 JAW6 AL97W6 9
M#MW6 M##FW6 7B;V32W6 3
W=WW6 WW6 6
X XX__main__)*r9   r)   r&   r`   r   "LEGACY_AUTOTRADER_DISABLED_MESSAGEgetenvlowerr   
SystemExitdotenvr   eth_accounthyperliquid.utilsr	   hyperliquid.exchanger
   rg   rh   r   rn   rv   rk   rb   rF   rr   ro   rp   rq   
secret_keyexitAccountfrom_keyaccountMAINNET_API_URLrl   r#   r-   r4   r>   r   __name__ rK   r"   <module>r      s     				       %o "29*B//55776AA	E
,---
*Q--           ' ' ' ' ' ' ) ) ) ) ) ) $
 
     +++	 RY+,,
 	E
6777DFFF


&
&z
2
28GY677    A A A  F" F" F"P zDFFFFF rK   