o
    j                     @   sB   d Z ddlZddlZddlmZ ddlmZmZ G dd dZdS )uw   
V11 — Logger: CSV para momentum taker.

Más simple que V10: solo trades y windows (sin quotes ni fills separados).
    N)Path   )Config
write_jsonc                   @   s@   e Zd ZdefddZdd Zdd Zdd	 Zd
efddZ	dS )Loggercfgc                 C   s"   || _ |jjddd |   d S )NT)parentsexist_ok)r   log_dirmkdir_init_csv_files)selfr    r   ./var/www/html/MetaHedge/POLYBOT1/v12/logger.py__init__   s   zLogger.__init__c                 C   s   | j }|j s*t|jddd}t|g d W d    n1 s%w   Y  |j sTt|jddd}t|g d W d    d S 1 sMw   Y  d S d S )Nw newline)tsslugsidepricesizecostmove_pctoutcome	pnl_grossfeepnl_net)r   r   start_tsend_tsstrikeprice_finalr   r   entry_pricer   r   r   r   r   )r   
trades_csvexistsopencsvwriterwriterowwindows_csv)r   cfr   r   r   r      s   

"zLogger._init_csv_filesc                 C   s   t | jjddd5}t|tt ||t|dt|dt|dt|d|t|dt|	dt|
dg W d    d S 1 sAw   Y  d S Nar   r         )	r'   r   r%   r(   r)   r*   inttimeround)r   r   r   r   r   r   r   r   r   r   r   r-   r   r   r   	log_trade"   s   

"zLogger.log_tradec                 C   s   t | jjdddF}t|tt |j|j	|j
|jr#t|jdndt|d||p,dt|dt|dt|dt|dt|	dt|
dg W d    d S 1 sRw   Y  d S r.   )r'   r   r+   r(   r)   r*   r2   r3   r   r    r!   r"   r4   )r   mr#   r   r   r$   r   r   r   r   r   r-   r   r   r   
log_window,   s   
"zLogger.log_windowdatac                 C   s   t | jj| d S )N)r   r   
state_json)r   r8   r   r   r   write_state:   s   zLogger.write_stateN)
__name__
__module____qualname__r   r   r   r5   r7   dictr:   r   r   r   r   r      s    
r   )	__doc__r(   r3   pathlibr   configr   r   r   r   r   r   r   <module>   s
    