
    i+:                        d Z dZdZddddddddd	dd	d
dddd	dd	dddddddd
dddddddddddddddddddddddddddddddddddddd	Zdd	dd	dddZdZdZdZdZg d Z	g d!Z
d"Zd#Zd$ed%efd&Z ee      Zd'Zed(   Zd)Zd*Zd+Zd,Zd-Zd.Zd.Zd.Zd.Zd,Zd-Zd/ZdZd0Z ed1   Z!ed2   Z"dZ#dZ$d3Z%d+Z&d"Z'dZ(d4Z)d0Z*dZ+d5Z,d
Z-d5Z.d+Z/d,Z0d+Z1d6Z2d
Z3d,Z4d*Z5d	Z6d#Z7d	Z8d7Z9d+Z:d8Z;d,Z<d9Z=d,Z>d:Z?d+Z@dZAd,ZBd)ZCd+ZDd;ZEd,ZFd<ZGd=ZHdZId,ZJdZKd>ZLd,ZMd?ZNdZOd+ZPdZQdZRdZSd:ZTd4ZUd@ZVd
ZWdAZXej                  ee      dB   ZZdCZ[dDZ\dDZ]dEZ^dFZ_dGZ`dHZadIZbdJZcdDZddKZed)ZfdLZgd+ZhdZidMZjd,ZkdZldNZmdOZnd,Zod,ZpdPZqdQZryK)RaX  
AUTO HEDGE-MART V4.12beta SETTINGS
====================================
Ported from Auto Hedge-Mart-V4.mq4 to Python backtesting framework.

Strategy: Hedged martingale recovery grid
- Opens initial trades based on bar patterns + Fibonacci zone filters
- When trade goes against you, opens hedged BUY+SELL pairs at grid levels
- Lot sizes scale to cover previous losses + fixed profit target
- Sub-order pairs repeat after TP hits
- Thread profit exit closes everything at net profit target

Reference: V4.12beta XAUUSD test (M15, 2021.04-2021.11)
  Profit factor 1.88, 64.19% win rate, 4544 trades
BTCUSDg     @g?g{Gz?g      Y@   g     @)pip_sizemin_lotmax_lotlot_stepdecimals	ref_pricegMbP?   g     ^@g     j@g     @@g     p@g     @g     @g-C6?      ?g    .A   g      ?g     j@g     b@gh㈵>g    cA   g{Gz?)	XAUUSDr   BTCUSDTETHUSDETHUSDTBNBUSDTXRPUSDTSOLUSDTDOGEUSDTr   {   i  )   r   r   =  r   r     r   r     r   r   3  r   r   y  r   r   i  )r   >          g      >@g      .@symbolreturnc           
         t         j                  | t              }t         j                  t        t              }|d   }|d   }|d   }|d   }||z  ||z  z  }t	        |t
        z        t	        |t        z        t        D cg c]  }t	        ||z         c}t        D 	cg c]  }	|	dkD  rt	        ||	z        nd c}	dS c c}w c c}	w )a'  Scale reference (Gold) pip values to the target pair.

    Normalization logic:
      scale = (target_ref_price / gold_ref_price) / (target_pip_size / gold_pip_size)

    This keeps the PERCENTAGE distance from entry identical across pairs.
    E.g., Grid L1 = ~3.16% of price for any pair.
    r	   r   r   )entry_tp_pipsentry_sl_pips
grid_stepsrecovery_tps)	CRYPTO_PAIRSgetDEFAULT_PAIR_CONFIG	_REF_PAIRround_REF_ENTRY_TP_PIPS_REF_ENTRY_SL_PIPS_REF_GRID_STEPS_REF_RECOVERY_TPS)
r    pair_cfgref_cfgtarget_price
target_pipr	   ref_pipscalests
             */var/www/html/crpytotradingbot/settings.py_normalize_for_pairr9      s     (;<Hy*=>GK(L*%J$Ij!G I%*w*>?E u'99:u'99:1@AAuUQY'ACTUaQUuqy)9U	  BUs   C!C
g{Gz?r#   r      FT   )g        r   g33333`@g      @r%   r&      g      ?   g    g      $@g?   g?g333333?<   d   i  
   g?i  r	   gMb? 	timestampopenhighlowclosevolumeNi'  	simulatedINFOztrading_bot.logz%Y-%m-%d %H:%M:%Si )s__doc__SYMBOLINITIAL_BALANCEr'   r)   r*   
_REF_PRICEr,   r-   r.   r/   _REF_RECOVERY_PROFIT_TARGET_REF_THREAD_PROFIT_TARGETstrdictr9   _NORMLOT_SIZEENTRY_TP_PIPSENTRY_SL_PIPSMAX_INITIAL_ORDERSENABLE_REVERSAL_ENTRIESENABLE_CONTINUATION_ENTRIESFIBO_BARS_BACKFIBO_BUY_ZONEFIBO_SELL_ZONEFIBO_RANGE_ZONERECOVERY_FIBO_ZONEADAPTIVE_GRIDADAPTIVE_ATR_BARSREFERENCE_ATRADAPTIVE_MIN_SCALEADAPTIVE_MAX_SCALERECOVERY_GRID_STEPSRECOVERY_TPSTP_MULTIPLIERTP_MULT_START_LEVELTP_MULT_STOP_LEVELAUTO_CALCULATE_LOTSRECOVERY_PROFIT_TARGETRECOVERY_LOT_MULTIPLIEROUTSIDE_LOT_MULTIPLIERINSIDE_LOT_MULTIPLIEROUTSIDE_LOT_STARTOUTSIDE_LOT_STOPINSIDE_LOT_STARTINSIDE_LOT_STOPREPEAT_BOTH_SIDESREPEAT_SINGLE_SIDESBAR_REVERSAL_MODEFIRST_HEDGE_PROFIT_MINFIRST_HEDGE_BAR_COUNTTHREAD_PROFIT_ENABLEDTHREAD_PROFIT_TARGETMIN_LOT_SIZEMAX_LOT_SIZELOT_STEPMAX_LEVERAGEMARGIN_CAP_ENABLEDMARGIN_RESERVE_PCTPROGRESSIVE_RLM_ENABLEDPROGRESSIVE_RLM_STARTPROGRESSIVE_RLM_RAMPPROGRESSIVE_RLM_MAXMARGIN_RELIEF_ENABLEDMARGIN_RELIEF_LEVELMARGIN_RELIEF_CLOSE_SUBSMIN_ENTRY_SPACINGINVENTORY_BIAS_ENABLEDINVENTORY_BIAS_THRESHOLDDYNAMIC_MO_ENABLEDDYNAMIC_MO_LOW_THRESHDYNAMIC_MO_HIGH_THRESHDYNAMIC_MO_MINANTI_MART_ENABLEDANTI_MART_LOT_PCTANTI_MART_TP_PIPSANTI_MART_REOPENANTI_MART_MAX_LEVELSANTI_MART_LOT_MULTKELLY_SIZING_ENABLEDKELLY_ENTRY_MULTKELLY_L1_MULTKELLY_L2_MULTKELLY_L3_MULTKELLY_DEEP_MULTCOMMISSION_PERCENTSLIPPAGE_PIPSSAMPLE_DATA_CANDLESr(   SAMPLE_START_PRICESAMPLE_VOLATILITYDATA_FILE_CSVDATA_FILE_JSONCSV_TIMESTAMP_COLCSV_OPEN_COLCSV_HIGH_COLCSV_LOW_COLCSV_CLOSE_COLCSV_VOLUME_COLTICK_DATA_FILETICK_MAX_ROWSTICK_SKIP_ROWSTICK_REPORT_INTERVALUSE_TICK_DATATICKS_PER_CANDLEEXCHANGETESTNETPOLL_INTERVAL	LOG_LEVELLOG_FILELOG_TO_CONSOLELOG_TO_FILEDATE_FORMAT
BASE_MAGIC     r8   <module>r      s  & 

          CIX   	
    %  #   
  8 	F#
 o&    " 
  
    
 L) 
 ^$                         
 
            
                   
  
  !%%f.AB;O   
  
  
 

 	!
 
r   