"""
AGGRESSIVE PROFIT & RESET SETTINGS
===================================
Philosophy: Get in profit quickly, don't ride out deep drawdowns.
- Higher risk for faster gains
- Fewer averaging levels (max 5)
- Quick TPs
- Accept smaller losses instead of deep averaging

Goal: Take profits quickly, reset on losses, don't get stuck in deep drawdowns
"""

# =============================================================================
# TRADING PAIR
# =============================================================================
SYMBOL = "BTCUSD"

# =============================================================================
# ACCOUNT & RISK MANAGEMENT - AGGRESSIVE
# =============================================================================
INITIAL_BALANCE = 10000.0
RISK_PERCENT = 2.0                      # 2% risk per trade (higher for faster gains)

# =============================================================================
# STRATEGY PARAMETERS - QUICK PROFITS
# =============================================================================
BASE_MULTIPLIER = 3.0                   # Lower multiplier = tighter TP (faster profits)
AGGRESSION_LEVEL = 60                   # Higher aggression = bigger lots per level
FIRST_DISTANCE_MULTIPLIER = 0.8         # Tighter first distance for more trades

# =============================================================================
# BIDIRECTIONAL TRADING - MORE THREADS
# =============================================================================
ENABLE_LONGS = True
ENABLE_SHORTS = False

GRID_SPACING = 300.0                    # Tight grid for more opportunities
MAX_CONCURRENT_THREADS = 5              # More threads = more activity

# =============================================================================
# INDIVIDUAL TP MODE
# =============================================================================
INDIVIDUAL_TP_ENABLED = True            # Each position takes profit independently
INDIVIDUAL_TP_DISTANCE = 150.0          # Tight TP for quick profits

# =============================================================================
# DRAWDOWN HEDGE - DISABLED (take loss and reset instead)
# =============================================================================
HEDGE_ENABLED = False                   # No hedge - martingale or loss
HEDGE_TRIGGER_LEVEL = 5                 # Not used but required
HEDGE_CLOSE_PROFIT = 200.0              # Not used but required
HEDGE_LOT_PERCENT = 60                  # Not used but required

# =============================================================================
# REENTRY SETTINGS
# =============================================================================
REENTRY_ABANDON_DISTANCE = 2000.0       # Lower - abandon threads that move too far
                                        # Accept smaller loss, start fresh

# =============================================================================
# MARTINGALE LEVELS - SHALLOW (5 levels max)
# =============================================================================
# Don't go deep - accept loss after level 5 and reset
CUSTOM_LEVELS = [
    0.5, 1.0, 1.8, 3.0, 5.0,            # Only 5 levels, then stop
]
# Level 5 = $300 * 5 = $1,500 from entry max

# Aggressive multipliers - 1.6x cumulative
CUSTOM_MULTIPLIERS = [
    1.6, 1.6, 1.6, 1.6, 1.6,            # 1.6x per level (up to 10x at level 5)
]
# Level 5 lot = 1.6^5 = 10.5x base

USE_CUMULATIVE_MULTIPLIERS = True

MAX_SPREAD = 80.0                       # Tighter spread filter

# =============================================================================
# AVERAGING CONFIGURATION
# =============================================================================
MAX_AVERAGING_LEVELS = 5                # Max 5 levels then accept loss

REENTRY_ENABLED = True
TP_TOLERANCE_PIPS = 0.5

# =============================================================================
# LOT SIZE CONSTRAINTS
# =============================================================================
MIN_LOT_SIZE = 0.001
MAX_LOT_SIZE = 15.0                     # Higher max for aggressive sizing
LOT_STEP = 0.001

# =============================================================================
# EXECUTION COSTS
# =============================================================================
COMMISSION_PERCENT = 0.05
SLIPPAGE_PIPS = 1

# =============================================================================
# BACKTESTING DATA
# =============================================================================
SAMPLE_DATA_CANDLES = 5000
SAMPLE_START_PRICE = 50000.0
SAMPLE_VOLATILITY = 0.015

DATA_FILE_CSV = ""
DATA_FILE_JSON = ""

CSV_TIMESTAMP_COL = "timestamp"
CSV_OPEN_COL = "open"
CSV_HIGH_COL = "high"
CSV_LOW_COL = "low"
CSV_CLOSE_COL = "close"
CSV_VOLUME_COL = "volume"

# =============================================================================
# TICK DATA SETTINGS
# =============================================================================
TICK_DATA_FILE = "BTCUSD (2).csv"
TICK_MAX_ROWS = None
TICK_SKIP_ROWS = 0
TICK_REPORT_INTERVAL = 10000

# =============================================================================
# BACKTEST OPTIONS
# =============================================================================
USE_TICK_DATA = False
TICKS_PER_CANDLE = 4

# =============================================================================
# LIVE TRADING
# =============================================================================
EXCHANGE = "simulated"
TESTNET = True
POLL_INTERVAL = 1.0

# =============================================================================
# LOGGING
# =============================================================================
LOG_LEVEL = "INFO"
LOG_FILE = "trading_bot.log"
LOG_TO_CONSOLE = True
LOG_TO_FILE = True
DATE_FORMAT = "%Y-%m-%d %H:%M:%S"

# =============================================================================
# MAGIC NUMBER
# =============================================================================
BASE_MAGIC = 100000

# =============================================================================
# CRYPTO PAIR SPECIFICATIONS
# =============================================================================
CRYPTO_PAIRS = {
    "BTCUSD": {
        "pip_size": 0.1,
        "min_lot": 0.001,
        "max_lot": 100.0,
        "lot_step": 0.001,
        "decimals": 1
    },
    "BTCUSDT": {
        "pip_size": 0.01,
        "min_lot": 0.001,
        "max_lot": 100.0,
        "lot_step": 0.001,
        "decimals": 2
    },
    "ETHUSDT": {
        "pip_size": 0.01,
        "min_lot": 0.01,
        "max_lot": 1000.0,
        "lot_step": 0.01,
        "decimals": 2
    },
    "BNBUSDT": {
        "pip_size": 0.01,
        "min_lot": 0.01,
        "max_lot": 10000.0,
        "lot_step": 0.01,
        "decimals": 2
    },
    "XRPUSDT": {
        "pip_size": 0.0001,
        "min_lot": 1.0,
        "max_lot": 1000000.0,
        "lot_step": 1.0,
        "decimals": 4
    },
    "SOLUSDT": {
        "pip_size": 0.01,
        "min_lot": 0.1,
        "max_lot": 100000.0,
        "lot_step": 0.1,
        "decimals": 2
    },
    "DOGEUSDT": {
        "pip_size": 0.00001,
        "min_lot": 1.0,
        "max_lot": 10000000.0,
        "lot_step": 1.0,
        "decimals": 5
    }
}

DEFAULT_PAIR_CONFIG = {
    "pip_size": 0.01,
    "min_lot": 0.001,
    "max_lot": 100.0,
    "lot_step": 0.001,
    "decimals": 2
}

"""
AGGRESSIVE PROFIT & RESET STRATEGY:

Key differences from balanced:
| Parameter              | Balanced | Aggressive |
|------------------------|----------|------------|
| Risk %                 | 1.0%     | 2.0%       |
| Base Multiplier        | 5.0      | 3.0        |
| Max Avg Levels         | 10       | 5          |
| Lot Multiplier         | 1.3x     | 1.6x       |
| Grid Spacing           | 600      | 300        |
| Concurrent Threads     | 3        | 5          |
| Abandon Distance       | N/A      | $2,000     |

Philosophy:
- Trade more frequently (tighter grid, more threads)
- Take profits faster (lower multiplier = tighter TP)
- Don't get stuck in deep drawdowns (max 5 levels)
- Accept smaller losses to start fresh rather than avg forever
- Higher risk per trade for faster compounding when winning

Expected:
- More volatility in returns
- Faster profit during good times
- Smaller but more frequent losses
- Less time stuck in drawdowns
"""
