{
  "status": {
    "ok": true,
    "app": "deriv-demo-live-bot-pat-v5-4-auto-execution-fixed",
    "mode": "live",
    "liveTrading": true,
    "demoLiveTrading": true,
    "startedAt": "2026-06-15T10:36:57.440Z",
    "now": "2026-06-15T10:39:46.413Z",
    "connection": "connected",
    "lastError": null,
    "scanCount": 8,
    "lastScanAt": "2026-06-15T10:39:41.586Z",
    "nextScanInSeconds": null
  },
  "account": {
    "authorized": true,
    "loginid": "DOT91985071",
    "currency": "USD",
    "isDemo": true,
    "balance": 9978.11,
    "blockedReason": null
  },
  "markets": [
    {
      "symbol": "cryBTCUSD",
      "displayName": "BTC/USD",
      "market": "cryptocurrency",
      "marketDisplayName": "Cryptocurrencies",
      "submarket": "non_stable_coin",
      "submarketDisplayName": "Cryptocurrencies",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "cryETHUSD",
      "displayName": "ETH/USD",
      "market": "cryptocurrency",
      "marketDisplayName": "Cryptocurrencies",
      "submarket": "non_stable_coin",
      "submarketDisplayName": "Cryptocurrencies",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "BOOM500",
      "displayName": "Boom 500 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "crash_index",
      "submarketDisplayName": "Crash/Boom Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "CRASH500",
      "displayName": "Crash 500 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "crash_index",
      "submarketDisplayName": "Crash/Boom Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "JD100",
      "displayName": "Jump 100 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "jump_index",
      "submarketDisplayName": "Jump Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "JD50",
      "displayName": "Jump 50 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "jump_index",
      "submarketDisplayName": "Jump Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "JD75",
      "displayName": "Jump 75 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "jump_index",
      "submarketDisplayName": "Jump Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "stpRNG3",
      "displayName": "Step Index 300",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "step_index",
      "submarketDisplayName": "Step Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.1
    },
    {
      "symbol": "stpRNG4",
      "displayName": "Step Index 400",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "step_index",
      "submarketDisplayName": "Step Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.1
    },
    {
      "symbol": "stpRNG5",
      "displayName": "Step Index 500",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "step_index",
      "submarketDisplayName": "Step Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.1
    },
    {
      "symbol": "1HZ100V",
      "displayName": "Volatility 100 (1s) Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "R_100",
      "displayName": "Volatility 100 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "1HZ50V",
      "displayName": "Volatility 50 (1s) Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "R_50",
      "displayName": "Volatility 50 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.0001
    },
    {
      "symbol": "1HZ75V",
      "displayName": "Volatility 75 (1s) Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.01
    },
    {
      "symbol": "R_75",
      "displayName": "Volatility 75 Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.0001
    },
    {
      "symbol": "1HZ90V",
      "displayName": "Volatility 90 (1s) Index",
      "market": "synthetic_index",
      "marketDisplayName": "Derived",
      "submarket": "random_index",
      "submarketDisplayName": "Continuous Indices",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "frxAUDJPY",
      "displayName": "AUD/JPY",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "frxAUDUSD",
      "displayName": "AUD/USD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxEURAUD",
      "displayName": "EUR/AUD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxEURCAD",
      "displayName": "EUR/CAD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxEURCHF",
      "displayName": "EUR/CHF",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxEURGBP",
      "displayName": "EUR/GBP",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxEURJPY",
      "displayName": "EUR/JPY",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "frxEURUSD",
      "displayName": "EUR/USD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxGBPAUD",
      "displayName": "GBP/AUD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxGBPJPY",
      "displayName": "GBP/JPY",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    },
    {
      "symbol": "frxGBPUSD",
      "displayName": "GBP/USD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxUSDCAD",
      "displayName": "USD/CAD",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxUSDCHF",
      "displayName": "USD/CHF",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.00001
    },
    {
      "symbol": "frxUSDJPY",
      "displayName": "USD/JPY",
      "market": "forex",
      "marketDisplayName": "Forex",
      "submarket": "major_pairs",
      "submarketDisplayName": "Major Pairs",
      "exchangeIsOpen": true,
      "isTradingSuspended": false,
      "pip": 0.001
    }
  ],
  "marketSummary": {
    "Cryptocurrencies": 2,
    "Derived": 15,
    "Forex": 14
  },
  "latestResults": [
    {
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "trendScore": 58.17,
      "noiseScore": 94.19,
      "entry": 211.53,
      "sl": 211.95979,
      "tp1": 211.06114,
      "tp2": 210.82671,
      "indicators": {
        "ema9": 211.80505,
        "ema21": 211.99629,
        "ema50": 212.05345,
        "ema100": 211.36228,
        "rsi14": 44.13,
        "atr14": 0.39071,
        "macd": -0.19961,
        "macdSignal": -0.18446,
        "macdHistogram": -0.01515,
        "bbWidth": 0.004962,
        "slope21": -0.2405,
        "momentum3": -0.052,
        "momentum10": -0.3908
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "JD100",
        "displayName": "Jump 100 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "jump_index",
        "submarketDisplayName": "Jump Indices",
        "indexType": "Jump index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1847
      }
    },
    {
      "symbol": "R_100",
      "direction": "PUT",
      "score": 94,
      "trendScore": 61.66,
      "noiseScore": 92.43,
      "entry": 338.52,
      "sl": 339.26329,
      "tp1": 337.70914,
      "tp2": 337.30371,
      "indicators": {
        "ema9": 339.1413,
        "ema21": 339.36547,
        "ema50": 339.46465,
        "ema100": 339.57965,
        "rsi14": 39.91,
        "atr14": 0.67571,
        "macd": -0.13501,
        "macdSignal": 0.03627,
        "macdHistogram": -0.17128,
        "bbWidth": 0.007946,
        "slope21": -0.3122,
        "momentum3": -0.2152,
        "momentum10": -0.6574
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "R_100",
        "displayName": "Volatility 100 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1996
      }
    },
    {
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "trendScore": 62.45,
      "noiseScore": 95.7,
      "entry": 4049,
      "sl": 4042.91071,
      "tp1": 4055.64286,
      "tp2": 4058.96429,
      "indicators": {
        "ema9": 4041.86402,
        "ema21": 4039.64715,
        "ema50": 4035.57769,
        "ema100": 4025.64201,
        "rsi14": 55.56,
        "atr14": 5.53571,
        "macd": 2.47363,
        "macdSignal": 2.44898,
        "macdHistogram": 0.02465,
        "bbWidth": 0.003675,
        "slope21": 0.2476,
        "momentum3": 0.2228,
        "momentum10": 0.1484
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "stpRNG5",
        "displayName": "Step Index 500",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "step_index",
        "submarketDisplayName": "Step Indices",
        "indexType": "Step index",
        "exchangeIsOpen": true,
        "pip": 0.1,
        "volatilityPct": 0.1367
      }
    },
    {
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.3,
      "noiseScore": 99.82,
      "entry": 0.86459,
      "sl": 0.86383,
      "tp1": 0.86542,
      "tp2": 0.86584,
      "indicators": {
        "ema9": 0.86455,
        "ema21": 0.86452,
        "ema50": 0.86447,
        "ema100": 0.8644,
        "rsi14": 53.33,
        "atr14": 0.00004,
        "macd": 0.00003,
        "macdSignal": 0.00002,
        "macdHistogram": 0.00001,
        "bbWidth": 0.000185,
        "slope21": 0.0058,
        "momentum3": 0.0058,
        "momentum10": 0.015
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURGBP",
        "displayName": "EUR/GBP",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0046
      }
    },
    {
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "trendScore": 55.95,
      "noiseScore": 98.72,
      "entry": 5409.133,
      "sl": 5413.89304,
      "tp1": 5403.94023,
      "tp2": 5401.34385,
      "indicators": {
        "ema9": 5408.8487,
        "ema21": 5409.57897,
        "ema50": 5411.22172,
        "ema100": 5411.59092,
        "rsi14": 49.31,
        "atr14": 1.13393,
        "macd": -1.2351,
        "macdSignal": -1.82631,
        "macdHistogram": 0.59121,
        "bbWidth": 0.001801,
        "slope21": -0.074,
        "momentum3": -0.0322,
        "momentum10": 0.0413
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "BOOM500",
        "displayName": "Boom 500 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "crash_index",
        "submarketDisplayName": "Crash/Boom Indices",
        "indexType": "Boom index",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.021
      }
    },
    {
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "trendScore": 56.35,
      "noiseScore": 97.97,
      "entry": 8842.8,
      "sl": 8835.01834,
      "tp1": 8851.28909,
      "tp2": 8855.53363,
      "indicators": {
        "ema9": 8838.45461,
        "ema21": 8836.16514,
        "ema50": 8834.24374,
        "ema100": 8837.58559,
        "rsi14": 68.09,
        "atr14": 4.45714,
        "macd": 1.92172,
        "macdSignal": 0.85865,
        "macdHistogram": 1.06307,
        "bbWidth": 0.002239,
        "slope21": 0.0543,
        "momentum3": 0.009,
        "momentum10": 0.1631
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "stpRNG4",
        "displayName": "Step Index 400",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "step_index",
        "submarketDisplayName": "Step Indices",
        "indexType": "Step index",
        "exchangeIsOpen": true,
        "pip": 0.1,
        "volatilityPct": 0.0504
      }
    },
    {
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 82,
      "trendScore": 56.98,
      "noiseScore": 94.51,
      "entry": 738,
      "sl": 739.31607,
      "tp1": 736.56429,
      "tp2": 735.84643,
      "indicators": {
        "ema9": 738.56792,
        "ema21": 738.89131,
        "ema50": 738.99058,
        "ema100": 738.55098,
        "rsi14": 32.77,
        "atr14": 1.19643,
        "macd": -0.20426,
        "macdSignal": 0.02161,
        "macdHistogram": -0.22587,
        "bbWidth": 0.005152,
        "slope21": -0.1218,
        "momentum3": -0.0379,
        "momentum10": -0.2069
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "1HZ100V",
        "displayName": "Volatility 100 (1s) Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1621
      }
    },
    {
      "symbol": "stpRNG3",
      "direction": "PUT",
      "score": 80,
      "trendScore": 57.03,
      "noiseScore": 98.95,
      "entry": 12018.7,
      "sl": 12029.27646,
      "tp1": 12007.16205,
      "tp2": 12001.39307,
      "indicators": {
        "ema9": 12021.52622,
        "ema21": 12024.59261,
        "ema50": 12030.69353,
        "ema100": 12036.3718,
        "rsi14": 39.47,
        "atr14": 3.32143,
        "macd": -3.64813,
        "macdSignal": -3.79327,
        "macdHistogram": 0.14514,
        "bbWidth": 0.001105,
        "slope21": -0.0848,
        "momentum3": -0.0349,
        "momentum10": -0.0449
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "stpRNG3",
        "displayName": "Step Index 300",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "step_index",
        "submarketDisplayName": "Step Indices",
        "indexType": "Step index",
        "exchangeIsOpen": true,
        "pip": 0.1,
        "volatilityPct": 0.0276
      }
    },
    {
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 68,
      "trendScore": 55.37,
      "noiseScore": 99.75,
      "entry": 185.928,
      "sl": 185.76438,
      "tp1": 186.10649,
      "tp2": 186.19574,
      "indicators": {
        "ema9": 185.93037,
        "ema21": 185.91824,
        "ema50": 185.89628,
        "ema100": 185.87398,
        "rsi14": 55.65,
        "atr14": 0.0125,
        "macd": 0.0141,
        "macdSignal": 0.01456,
        "macdHistogram": -0.00046,
        "bbWidth": 0.000257,
        "slope21": 0.0097,
        "momentum3": -0.0118,
        "momentum10": 0.0113
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURJPY",
        "displayName": "EUR/JPY",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0067
      }
    },
    {
      "symbol": "frxEURUSD",
      "direction": "CALL",
      "score": 66,
      "trendScore": 55.75,
      "noiseScore": 99.61,
      "entry": 1.16137,
      "sl": 1.16035,
      "tp1": 1.16248,
      "tp2": 1.16304,
      "indicators": {
        "ema9": 1.1613,
        "ema21": 1.16115,
        "ema50": 1.16095,
        "ema100": 1.1608,
        "rsi14": 68.97,
        "atr14": 0.00009,
        "macd": 0.00016,
        "macdSignal": 0.00014,
        "macdHistogram": 0.00002,
        "bbWidth": 0.000505,
        "slope21": 0.0345,
        "momentum3": -0.0043,
        "momentum10": 0.0284
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURUSD",
        "displayName": "EUR/USD",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0077
      }
    },
    {
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 64,
      "trendScore": 58.23,
      "noiseScore": 98.31,
      "entry": 1724.935,
      "sl": 1723.41706,
      "tp1": 1726.59094,
      "tp2": 1727.41891,
      "indicators": {
        "ema9": 1724.82421,
        "ema21": 1723.9777,
        "ema50": 1722.1872,
        "ema100": 1720.82408,
        "rsi14": 62.65,
        "atr14": 0.73957,
        "macd": 1.01514,
        "macdSignal": 1.04965,
        "macdHistogram": -0.03451,
        "bbWidth": 0.001834,
        "slope21": 0.126,
        "momentum3": -0.0325,
        "momentum10": 0.0731
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "cryETHUSD",
        "displayName": "ETH/USD",
        "market": "cryptocurrency",
        "marketDisplayName": "Cryptocurrencies",
        "submarket": "non_stable_coin",
        "submarketDisplayName": "Cryptocurrencies",
        "indexType": "Crypto",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0429
      }
    },
    {
      "symbol": "1HZ75V",
      "direction": "PUT",
      "score": 64,
      "trendScore": 37.25,
      "noiseScore": 95.59,
      "entry": 5159.87,
      "sl": 5168.83971,
      "tp1": 5150.08486,
      "tp2": 5145.19229,
      "indicators": {
        "ema9": 5161.25558,
        "ema21": 5161.98524,
        "ema50": 5161.56969,
        "ema100": 5166.61011,
        "rsi14": 49.2,
        "atr14": 8.15429,
        "macd": -0.64022,
        "macdSignal": -0.56246,
        "macdHistogram": -0.07776,
        "bbWidth": 0.00313,
        "slope21": -0.1741,
        "momentum3": -0.1604,
        "momentum10": -0.0246
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction | Trend score below filter",
      "marketInfo": {
        "symbol": "1HZ75V",
        "displayName": "Volatility 75 (1s) Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.158
      }
    }
  ],
  "signals": [
    {
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "trendScore": 62.45,
      "noiseScore": 95.7,
      "entry": 4049,
      "sl": 4042.91071,
      "tp1": 4055.64286,
      "tp2": 4058.96429,
      "indicators": {
        "ema9": 4041.86402,
        "ema21": 4039.64715,
        "ema50": 4035.57769,
        "ema100": 4025.64201,
        "rsi14": 55.56,
        "atr14": 5.53571,
        "macd": 2.47363,
        "macdSignal": 2.44898,
        "macdHistogram": 0.02465,
        "bbWidth": 0.003675,
        "slope21": 0.2476,
        "momentum3": 0.2228,
        "momentum10": 0.1484
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "stpRNG5",
        "displayName": "Step Index 500",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "step_index",
        "submarketDisplayName": "Step Indices",
        "indexType": "Step index",
        "exchangeIsOpen": true,
        "pip": 0.1,
        "volatilityPct": 0.1367
      },
      "time": "2026-06-15T10:39:41.586Z",
      "stake": 0.6,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "trendScore": 55.84,
      "noiseScore": 98.65,
      "entry": 5409.82,
      "sl": 5414.58064,
      "tp1": 5404.62657,
      "tp2": 5402.02986,
      "indicators": {
        "ema9": 5408.82703,
        "ema21": 5409.64602,
        "ema50": 5411.3167,
        "ema100": 5411.73083,
        "rsi14": 49.5,
        "atr14": 1.12986,
        "macd": -1.34361,
        "macdSignal": -1.97017,
        "macdHistogram": 0.62656,
        "bbWidth": 0.001939,
        "slope21": -0.0726,
        "momentum3": -0.0307,
        "momentum10": 0.042
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "BOOM500",
        "displayName": "Boom 500 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "crash_index",
        "submarketDisplayName": "Crash/Boom Indices",
        "indexType": "Boom index",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0209
      },
      "time": "2026-06-15T10:38:34.975Z",
      "stake": 0.5,
      "contract": {
        "type": "PUT",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "trendScore": 55.32,
      "noiseScore": 99.79,
      "entry": 160.1,
      "sl": 160.24089,
      "tp1": 159.9463,
      "tp2": 159.86946,
      "indicators": {
        "ema9": 160.1093,
        "ema21": 160.11864,
        "ema50": 160.12594,
        "ema100": 160.1264,
        "rsi14": 28.57,
        "atr14": 0.00657,
        "macd": -0.00866,
        "macdSignal": -0.00617,
        "macdHistogram": -0.00249,
        "bbWidth": 0.00028,
        "slope21": -0.0244,
        "momentum3": -0.0044,
        "momentum10": -0.0125
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "frxUSDJPY",
        "displayName": "USD/JPY",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0041
      },
      "time": "2026-06-15T10:38:12.683Z",
      "stake": 0.5,
      "contract": {
        "type": "PUT",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "trendScore": 57.84,
      "noiseScore": 93.09,
      "entry": 339.2,
      "sl": 339.91343,
      "tp1": 338.42171,
      "tp2": 338.03257,
      "indicators": {
        "ema9": 339.39463,
        "ema21": 339.49456,
        "ema50": 339.52185,
        "ema100": 339.60694,
        "rsi14": 42.14,
        "atr14": 0.64857,
        "macd": -0.03258,
        "macdSignal": 0.0869,
        "macdHistogram": -0.11948,
        "bbWidth": 0.00693,
        "slope21": -0.1178,
        "momentum3": -0.2148,
        "momentum10": -0.3496
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "R_100",
        "displayName": "Volatility 100 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1912
      },
      "time": "2026-06-15T10:38:12.478Z",
      "stake": 0.5,
      "contract": {
        "type": "PUT",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "trendScore": 58.39,
      "noiseScore": 94.54,
      "entry": 738.17,
      "sl": 739.52693,
      "tp1": 736.68971,
      "tp2": 735.94957,
      "indicators": {
        "ema9": 738.73791,
        "ema21": 738.99316,
        "ema50": 739.03688,
        "ema100": 738.55782,
        "rsi14": 34.86,
        "atr14": 1.23357,
        "macd": -0.13669,
        "macdSignal": 0.08031,
        "macdHistogram": -0.21699,
        "bbWidth": 0.004904,
        "slope21": -0.3523,
        "momentum3": -0.1137,
        "momentum10": -0.3671
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "1HZ100V",
        "displayName": "Volatility 100 (1s) Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1671
      },
      "time": "2026-06-15T10:38:12.171Z",
      "stake": 0.5,
      "contract": {
        "type": "PUT",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "trendScore": 56.93,
      "noiseScore": 98.48,
      "entry": 2956.561,
      "sl": 2953.95923,
      "tp1": 2959.3993,
      "tp2": 2960.81845,
      "indicators": {
        "ema9": 2955.86172,
        "ema21": 2955.83203,
        "ema50": 2955.14869,
        "ema100": 2951.93501,
        "rsi14": 53.9,
        "atr14": 0.5895,
        "macd": -0.02975,
        "macdSignal": -0.17923,
        "macdHistogram": 0.14948,
        "bbWidth": 0.002326,
        "slope21": -0.0228,
        "momentum3": 0.0265,
        "momentum10": 0.0827
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "CRASH500",
        "displayName": "Crash 500 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "crash_index",
        "submarketDisplayName": "Crash/Boom Indices",
        "indexType": "Boom index",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0199
      },
      "time": "2026-06-15T10:38:11.966Z",
      "stake": 0.6,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "trendScore": 59.13,
      "noiseScore": 98.28,
      "entry": 1725.699,
      "sl": 1724.18038,
      "tp1": 1727.35567,
      "tp2": 1728.18401,
      "indicators": {
        "ema9": 1724.63519,
        "ema21": 1723.72003,
        "ema50": 1721.9327,
        "ema100": 1720.57995,
        "rsi14": 64.36,
        "atr14": 0.67182,
        "macd": 1.06139,
        "macdSignal": 1.04802,
        "macdHistogram": 0.01337,
        "bbWidth": 0.002046,
        "slope21": 0.175,
        "momentum3": 0.0907,
        "momentum10": 0.0965
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "cryETHUSD",
        "displayName": "ETH/USD",
        "market": "cryptocurrency",
        "marketDisplayName": "Cryptocurrencies",
        "submarket": "non_stable_coin",
        "submarketDisplayName": "Cryptocurrencies",
        "indexType": "Crypto",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0389
      },
      "time": "2026-06-15T10:37:27.495Z",
      "stake": 0.6,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "trendScore": 55.87,
      "noiseScore": 99.23,
      "entry": 65696.216,
      "sl": 65638.40333,
      "tp1": 65759.28437,
      "tp2": 65790.81855,
      "indicators": {
        "ema9": 65686.43705,
        "ema21": 65679.61525,
        "ema50": 65654.57481,
        "ema100": 65645.19872,
        "rsi14": 52.07,
        "atr14": 13.82429,
        "macd": 10.85515,
        "macdSignal": 14.07176,
        "macdHistogram": -3.21661,
        "bbWidth": 0.000782,
        "slope21": 0.0063,
        "momentum3": 0.0219,
        "momentum10": -0.0216
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "cryBTCUSD",
        "displayName": "BTC/USD",
        "market": "cryptocurrency",
        "marketDisplayName": "Cryptocurrencies",
        "submarket": "non_stable_coin",
        "submarketDisplayName": "Cryptocurrencies",
        "indexType": "Crypto",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.021
      },
      "time": "2026-06-15T10:37:05.111Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.59,
      "noiseScore": 99.62,
      "entry": 1.34335,
      "sl": 1.34217,
      "tp1": 1.34464,
      "tp2": 1.34528,
      "indicators": {
        "ema9": 1.34323,
        "ema21": 1.34308,
        "ema50": 1.34293,
        "ema100": 1.3429,
        "rsi14": 65.31,
        "atr14": 0.00011,
        "macd": 0.00015,
        "macdSignal": 0.00012,
        "macdHistogram": 0.00003,
        "bbWidth": 0.000461,
        "slope21": 0.0402,
        "momentum3": 0.0067,
        "momentum10": 0.0179
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxGBPUSD",
        "displayName": "GBP/USD",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0082
      },
      "time": "2026-06-15T10:37:04.901Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.33,
      "noiseScore": 99.74,
      "entry": 215.078,
      "sl": 214.88873,
      "tp1": 215.28447,
      "tp2": 215.38771,
      "indicators": {
        "ema9": 215.06836,
        "ema21": 215.05512,
        "ema50": 215.04015,
        "ema100": 215.0339,
        "rsi14": 56.82,
        "atr14": 0.01607,
        "macd": 0.01358,
        "macdSignal": 0.01185,
        "macdHistogram": 0.00174,
        "bbWidth": 0.000259,
        "slope21": 0.0172,
        "momentum3": 0.0079,
        "momentum10": 0.0116
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxGBPJPY",
        "displayName": "GBP/JPY",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0075
      },
      "time": "2026-06-15T10:37:04.692Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.58,
      "noiseScore": 99.74,
      "entry": 185.948,
      "sl": 185.78437,
      "tp1": 186.12651,
      "tp2": 186.21577,
      "indicators": {
        "ema9": 185.9327,
        "ema21": 185.91675,
        "ema50": 185.89385,
        "ema100": 185.87233,
        "rsi14": 66.67,
        "atr14": 0.01229,
        "macd": 0.01673,
        "macdSignal": 0.01479,
        "macdHistogram": 0.00194,
        "bbWidth": 0.000287,
        "slope21": 0.0242,
        "momentum3": 0.0118,
        "momentum10": 0.0161
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURJPY",
        "displayName": "EUR/JPY",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.001,
        "volatilityPct": 0.0066
      },
      "time": "2026-06-15T10:37:04.478Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.38,
      "noiseScore": 99.77,
      "entry": 1.62225,
      "sl": 1.62082,
      "tp1": 1.62381,
      "tp2": 1.62459,
      "indicators": {
        "ema9": 1.62216,
        "ema21": 1.62206,
        "ema50": 1.62191,
        "ema100": 1.62178,
        "rsi14": 67.07,
        "atr14": 0.0001,
        "macd": 0.00011,
        "macdSignal": 0.0001,
        "macdHistogram": 0.00001,
        "bbWidth": 0.000241,
        "slope21": 0.016,
        "momentum3": 0.0099,
        "momentum10": 0.0055
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURCAD",
        "displayName": "EUR/CAD",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0062
      },
      "time": "2026-06-15T10:37:04.218Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "trendScore": 55.65,
      "noiseScore": 95.65,
      "entry": 5167.52,
      "sl": 5159.36821,
      "tp1": 5176.41286,
      "tp2": 5180.85929,
      "indicators": {
        "ema9": 5163.04797,
        "ema21": 5162.93217,
        "ema50": 5161.919,
        "ema100": 5166.89838,
        "rsi14": 55.03,
        "atr14": 7.41071,
        "macd": 0.00964,
        "macdSignal": -0.4029,
        "macdHistogram": 0.41254,
        "bbWidth": 0.003531,
        "slope21": -0.0201,
        "momentum3": 0.0951,
        "momentum10": 0.144
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "1HZ75V",
        "displayName": "Volatility 75 (1s) Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "random_index",
        "submarketDisplayName": "Continuous Indices",
        "indexType": "Volatility index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1434
      },
      "time": "2026-06-15T10:37:03.986Z",
      "stake": 0.5,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "trendScore": 55.24,
      "noiseScore": 99.83,
      "entry": 0.86456,
      "sl": 0.8638,
      "tp1": 0.86539,
      "tp2": 0.8658,
      "indicators": {
        "ema9": 0.86453,
        "ema21": 0.86451,
        "ema50": 0.86446,
        "ema100": 0.86439,
        "rsi14": 62.86,
        "atr14": 0.00004,
        "macd": 0.00002,
        "macdSignal": 0.00002,
        "macdHistogram": 0,
        "bbWidth": 0.000158,
        "slope21": 0.0058,
        "momentum3": 0.0035,
        "momentum10": 0.0046
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "frxEURGBP",
        "displayName": "EUR/GBP",
        "market": "forex",
        "marketDisplayName": "Forex",
        "submarket": "major_pairs",
        "submarketDisplayName": "Major Pairs",
        "indexType": "Forex",
        "exchangeIsOpen": true,
        "pip": 0.00001,
        "volatilityPct": 0.0046
      },
      "time": "2026-06-15T10:37:03.762Z",
      "stake": 0.6,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "trendScore": 56.11,
      "noiseScore": 98.02,
      "entry": 8842,
      "sl": 8834.21904,
      "tp1": 8850.48832,
      "tp2": 8854.73248,
      "indicators": {
        "ema9": 8835.16291,
        "ema21": 8834.297,
        "ema50": 8833.27399,
        "ema100": 8837.41388,
        "rsi14": 52.63,
        "atr14": 5.08571,
        "macd": 0.71901,
        "macdSignal": 0.1656,
        "macdHistogram": 0.55342,
        "bbWidth": 0.001897,
        "slope21": 0.0634,
        "momentum3": 0.1087,
        "momentum10": 0.0906
      },
      "reason": "EMA bullish alignment | MACD/RSI momentum checked | CALL/Rise direction",
      "marketInfo": {
        "symbol": "stpRNG4",
        "displayName": "Step Index 400",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "step_index",
        "submarketDisplayName": "Step Indices",
        "indexType": "Step index",
        "exchangeIsOpen": true,
        "pip": 0.1,
        "volatilityPct": 0.0575
      },
      "time": "2026-06-15T10:37:03.544Z",
      "stake": 0.6,
      "contract": {
        "type": "CALL",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    },
    {
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "trendScore": 57.16,
      "noiseScore": 94.43,
      "entry": 211.64,
      "sl": 212.05957,
      "tp1": 211.18229,
      "tp2": 210.95343,
      "indicators": {
        "ema9": 211.86407,
        "ema21": 212.07373,
        "ema50": 212.08996,
        "ema100": 211.34896,
        "rsi14": 39.47,
        "atr14": 0.38143,
        "macd": -0.20759,
        "macdSignal": -0.17838,
        "macdHistogram": -0.02921,
        "bbWidth": 0.004655,
        "slope21": -0.0472,
        "momentum3": -0.0378,
        "momentum10": -0.1839
      },
      "reason": "EMA bearish alignment | MACD/RSI momentum checked | PUT/Fall direction",
      "marketInfo": {
        "symbol": "JD100",
        "displayName": "Jump 100 Index",
        "market": "synthetic_index",
        "marketDisplayName": "Derived",
        "submarket": "jump_index",
        "submarketDisplayName": "Jump Indices",
        "indexType": "Jump index",
        "exchangeIsOpen": true,
        "pip": 0.01,
        "volatilityPct": 0.1802
      },
      "time": "2026-06-15T10:37:03.164Z",
      "stake": 0.6,
      "contract": {
        "type": "PUT",
        "duration": 5,
        "durationUnit": "m",
        "currency": "USD"
      }
    }
  ],
  "actions": [
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "SKIP",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 82,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "SKIP",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "SKIP",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_ERROR",
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "reason": "Deriv WebSocket is not open"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "TRADE_ERROR",
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "reason": "Deriv WebSocket is not open"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "reason": "Deriv WebSocket is not open"
    },
    {
      "time": "2026-06-15T10:39:41.587Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:39:41.586Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG5",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.586Z",
      "action": "SKIP",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 94,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.586Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 94,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:41.586Z",
      "action": "SKIP",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:41.586Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "SKIP",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 82,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "SKIP",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "SKIP",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "SKIP",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:39:19.324Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 90,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "SKIP",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:57.296Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:35.186Z",
      "action": "SKIP",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:35.186Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:35.186Z",
      "action": "TRADE_ERROR",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:35.186Z",
      "action": "TRADE_ERROR",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:35.186Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:35.092Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "BOOM500",
      "direction": "PUT",
      "score": 84,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "SKIP",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "SKIP",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "SKIP",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "SKIP",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:34.975Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.888Z",
      "action": "TRADE_ERROR",
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.888Z",
      "action": "TRADE_ERROR",
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.888Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.795Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxUSDJPY",
      "direction": "PUT",
      "score": 82,
      "reason": "Candidate #8; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "SKIP",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "SKIP",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "TRADE_ERROR",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.683Z",
      "action": "TRADE_ERROR",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.682Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.587Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:38:12.478Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "R_100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.478Z",
      "action": "TRADE_ERROR",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.478Z",
      "action": "TRADE_ERROR",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.478Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.378Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ100V",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "SKIP",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "TRADE_ERROR",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "TRADE_ERROR",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.170Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:38:12.074Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:38:11.966Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "CRASH500",
      "direction": "CALL",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "SKIP",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:49.731Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #9; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 82,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 82,
      "reason": "Candidate #8; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "SKIP",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 86,
      "reason": "Symbol cooldown active"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 86,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_ERROR",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "TRADE_ERROR",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:27.702Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:27.605Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:27.495Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryETHUSD",
      "direction": "CALL",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:05.396Z",
      "action": "TRADE_ERROR",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.396Z",
      "action": "TRADE_ERROR",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.395Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.281Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:05.111Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "cryBTCUSD",
      "direction": "CALL",
      "score": 84,
      "reason": "Candidate #9; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:05.111Z",
      "action": "TRADE_ERROR",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.111Z",
      "action": "TRADE_ERROR",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.111Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:05.015Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:04.901Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPUSD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #8; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:04.901Z",
      "action": "TRADE_ERROR",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.901Z",
      "action": "TRADE_ERROR",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.901Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.801Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:04.692Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxGBPJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #7; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:04.692Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.692Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.691Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.587Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:04.478Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURJPY",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #6; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:04.478Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.478Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.478Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.380Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:04.218Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURCAD",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #5; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:04.218Z",
      "action": "TRADE_ERROR",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.218Z",
      "action": "TRADE_ERROR",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.218Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:04.109Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "0.5 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:03.986Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "1HZ75V",
      "direction": "CALL",
      "score": 86,
      "reason": "Candidate #4; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:03.986Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.986Z",
      "action": "TRADE_ERROR",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.986Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.877Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:03.762Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "frxEURGBP",
      "direction": "CALL",
      "score": 90,
      "reason": "Candidate #3; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:03.762Z",
      "action": "TRADE_ERROR",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.762Z",
      "action": "TRADE_ERROR",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.762Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.667Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:03.544Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "stpRNG4",
      "direction": "CALL",
      "score": 94,
      "reason": "Candidate #2; attempting execution"
    },
    {
      "time": "2026-06-15T10:37:03.544Z",
      "action": "TRADE_ERROR",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.544Z",
      "action": "TRADE_ERROR",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.543Z",
      "action": "PROPOSAL_FAILED",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "InputValidationFailed: Input validation failed: subscribe"
    },
    {
      "time": "2026-06-15T10:37:03.346Z",
      "action": "PROPOSAL_REQUEST",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "0.6 USD, 5m"
    },
    {
      "time": "2026-06-15T10:37:03.164Z",
      "action": "TRADE_CANDIDATE",
      "symbol": "JD100",
      "direction": "PUT",
      "score": 94,
      "reason": "Candidate #1; attempting execution"
    },
    {
      "time": "2026-06-15T10:36:59.461Z",
      "action": "MARKETS_LOADED",
      "reason": "31 markets loaded from public Deriv feed"
    },
    {
      "time": "2026-06-15T10:36:59.123Z",
      "action": "MARKET_DATA_CONNECTED",
      "reason": "Public Deriv market feed connected for scanner/charts"
    }
  ],
  "news": {
    "score": 0,
    "headlines": [],
    "note": "News disabled; neutral score."
  },
  "risk": {
    "day": "2026-06-15",
    "tradesToday": 0,
    "realizedPnl": 0,
    "dailyLossLimitUsd": 3,
    "consecutiveLosses": 0
  },
  "config": {
    "mode": "live",
    "autoSymbols": true,
    "marketFilter": "all",
    "maxSymbolsToScan": 80,
    "granularity": 60,
    "candleCount": 160,
    "scanIntervalSeconds": 20,
    "minSignalScore": 82,
    "contract": {
      "duration": 5,
      "durationUnit": "m",
      "currency": "USD"
    },
    "risk": {
      "accountBalance": 100,
      "riskPercent": 0.5,
      "maxStake": 1,
      "minStake": 0.35,
      "dailyMaxLossPercent": 3,
      "maxTradesPerDay": 5,
      "maxConsecutiveLosses": 2,
      "noMartingale": true
    },
    "liveEnabled": true,
    "demoLiveTrading": true,
    "strictDemoOnly": true,
    "maxOpenContracts": 1,
    "liveAcknowledgement": "ACK_SET",
    "derivAuthMode": "pat",
    "derivAppId": "33yuS000YEmJO9v5TZbWx",
    "derivAccountIdSet": false,
    "derivTokenLoaded": true,
    "tryNextOnTradeError": true,
    "tradeOneAtATime": true,
    "forceTradeFirstSignal": false
  },
  "paper": {
    "open": [],
    "history": []
  },
  "live": {
    "open": [],
    "history": []
  }
}