mirror of
https://github.com/BrentNeale1/fx-quant.git
synced 2026-08-03 05:47:43 +00:00
Optimize strategy to SMA 50/100 with RSI 80/20 filtering
Added parameter sweep tool that tested 320 combinations across SMA periods, trade sizes, and RSI filters. Best result: SMA 50/100 on M15 with RSI 80/20 (Sharpe 5.69, 49% win rate). Updated backtester with RSI overbought/oversold signal filtering and config to match optimal parameters. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+5
-5
@@ -17,8 +17,8 @@ features:
|
||||
sma_windows:
|
||||
- 3
|
||||
- 20
|
||||
- 21
|
||||
- 50
|
||||
- 100
|
||||
ema_windows:
|
||||
- 20
|
||||
rsi_period: 14
|
||||
@@ -36,14 +36,14 @@ ai:
|
||||
- gradient_boosting
|
||||
backtest_validation_window: 50
|
||||
sanity_checks:
|
||||
rsi_overbought: 90
|
||||
rsi_oversold: 10
|
||||
rsi_overbought: 80
|
||||
rsi_oversold: 20
|
||||
volatility_multiplier: 3.0
|
||||
strategy:
|
||||
rule: sma_cross
|
||||
params:
|
||||
short: 21
|
||||
long: 50
|
||||
short: 50
|
||||
long: 100
|
||||
trade_size_pct_of_equity: 0.025
|
||||
max_drawdown_pct: 0.05
|
||||
execution:
|
||||
|
||||
@@ -1,113 +1,113 @@
|
||||
{
|
||||
"instrument": "EUR_USD",
|
||||
"granularity": "M15",
|
||||
"run_time": "2026-02-17T03:21:00.971644+00:00",
|
||||
"run_time": "2026-02-17T04:05:33.220977+00:00",
|
||||
"data_range": {
|
||||
"start": "2025-02-17 15:30:00+00:00",
|
||||
"end": "2026-02-17 03:15:00+00:00",
|
||||
"bars": 24816
|
||||
"start": "2025-02-18 04:45:00+00:00",
|
||||
"end": "2026-02-17 04:00:00+00:00",
|
||||
"bars": 24766
|
||||
},
|
||||
"metrics": {
|
||||
"starting_equity": 100000.0,
|
||||
"total_return_pct": 0.0729,
|
||||
"max_drawdown_pct": 0.138,
|
||||
"num_trades": 590,
|
||||
"round_trips": 295,
|
||||
"win_rate_pct": 33.22,
|
||||
"sharpe_ratio": 1.965,
|
||||
"final_equity": 100072.93
|
||||
"total_return_pct": 0.2026,
|
||||
"max_drawdown_pct": 0.0716,
|
||||
"num_trades": 792,
|
||||
"round_trips": 396,
|
||||
"win_rate_pct": 48.99,
|
||||
"sharpe_ratio": 5.6852,
|
||||
"final_equity": 100202.61
|
||||
},
|
||||
"monthly_pnl": [
|
||||
{
|
||||
"month": "2025-02",
|
||||
"start_equity": 100000.0,
|
||||
"end_equity": 99975.28,
|
||||
"pnl": -24.72,
|
||||
"pnl_pct": -0.0247
|
||||
"end_equity": 99991.06,
|
||||
"pnl": -8.94,
|
||||
"pnl_pct": -0.0089
|
||||
},
|
||||
{
|
||||
"month": "2025-03",
|
||||
"start_equity": 99975.28,
|
||||
"end_equity": 100010.04,
|
||||
"pnl": 34.75,
|
||||
"pnl_pct": 0.0348
|
||||
"start_equity": 99991.06,
|
||||
"end_equity": 100028.15,
|
||||
"pnl": 37.09,
|
||||
"pnl_pct": 0.0371
|
||||
},
|
||||
{
|
||||
"month": "2025-04",
|
||||
"start_equity": 100010.04,
|
||||
"end_equity": 100114.13,
|
||||
"pnl": 104.09,
|
||||
"pnl_pct": 0.1041
|
||||
"start_equity": 100028.15,
|
||||
"end_equity": 100119.79,
|
||||
"pnl": 91.65,
|
||||
"pnl_pct": 0.0916
|
||||
},
|
||||
{
|
||||
"month": "2025-05",
|
||||
"start_equity": 100114.13,
|
||||
"end_equity": 100147.54,
|
||||
"pnl": 33.41,
|
||||
"pnl_pct": 0.0334
|
||||
"start_equity": 100119.79,
|
||||
"end_equity": 100111.46,
|
||||
"pnl": -8.33,
|
||||
"pnl_pct": -0.0083
|
||||
},
|
||||
{
|
||||
"month": "2025-06",
|
||||
"start_equity": 100147.54,
|
||||
"end_equity": 100141.15,
|
||||
"pnl": -6.38,
|
||||
"pnl_pct": -0.0064
|
||||
"start_equity": 100111.46,
|
||||
"end_equity": 100172.69,
|
||||
"pnl": 61.23,
|
||||
"pnl_pct": 0.0612
|
||||
},
|
||||
{
|
||||
"month": "2025-07",
|
||||
"start_equity": 100141.15,
|
||||
"end_equity": 100108.29,
|
||||
"pnl": -32.86,
|
||||
"pnl_pct": -0.0328
|
||||
"start_equity": 100172.69,
|
||||
"end_equity": 100116.29,
|
||||
"pnl": -56.4,
|
||||
"pnl_pct": -0.0563
|
||||
},
|
||||
{
|
||||
"month": "2025-08",
|
||||
"start_equity": 100108.29,
|
||||
"end_equity": 100121.7,
|
||||
"pnl": 13.41,
|
||||
"pnl_pct": 0.0134
|
||||
"start_equity": 100116.29,
|
||||
"end_equity": 100118.32,
|
||||
"pnl": 2.03,
|
||||
"pnl_pct": 0.002
|
||||
},
|
||||
{
|
||||
"month": "2025-09",
|
||||
"start_equity": 100121.7,
|
||||
"end_equity": 100121.11,
|
||||
"pnl": -0.59,
|
||||
"pnl_pct": -0.0006
|
||||
"start_equity": 100118.32,
|
||||
"end_equity": 100143.18,
|
||||
"pnl": 24.85,
|
||||
"pnl_pct": 0.0248
|
||||
},
|
||||
{
|
||||
"month": "2025-10",
|
||||
"start_equity": 100121.11,
|
||||
"end_equity": 100077.51,
|
||||
"pnl": -43.6,
|
||||
"pnl_pct": -0.0435
|
||||
"start_equity": 100143.18,
|
||||
"end_equity": 100127.12,
|
||||
"pnl": -16.06,
|
||||
"pnl_pct": -0.016
|
||||
},
|
||||
{
|
||||
"month": "2025-11",
|
||||
"start_equity": 100077.51,
|
||||
"end_equity": 100068.99,
|
||||
"pnl": -8.52,
|
||||
"pnl_pct": -0.0085
|
||||
"start_equity": 100127.12,
|
||||
"end_equity": 100144.22,
|
||||
"pnl": 17.1,
|
||||
"pnl_pct": 0.0171
|
||||
},
|
||||
{
|
||||
"month": "2025-12",
|
||||
"start_equity": 100068.99,
|
||||
"end_equity": 100072.84,
|
||||
"pnl": 3.85,
|
||||
"pnl_pct": 0.0039
|
||||
"start_equity": 100144.22,
|
||||
"end_equity": 100163.99,
|
||||
"pnl": 19.76,
|
||||
"pnl_pct": 0.0197
|
||||
},
|
||||
{
|
||||
"month": "2026-01",
|
||||
"start_equity": 100072.84,
|
||||
"end_equity": 100084.84,
|
||||
"pnl": 12.0,
|
||||
"pnl_pct": 0.012
|
||||
"start_equity": 100163.99,
|
||||
"end_equity": 100187.04,
|
||||
"pnl": 23.05,
|
||||
"pnl_pct": 0.023
|
||||
},
|
||||
{
|
||||
"month": "2026-02",
|
||||
"start_equity": 100084.84,
|
||||
"end_equity": 100072.93,
|
||||
"pnl": -11.92,
|
||||
"pnl_pct": -0.0119
|
||||
"start_equity": 100187.04,
|
||||
"end_equity": 100202.61,
|
||||
"pnl": 15.57,
|
||||
"pnl_pct": 0.0155
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,113 +1,113 @@
|
||||
{
|
||||
"instrument": "EUR_USD",
|
||||
"granularity": "M5",
|
||||
"run_time": "2026-02-17T03:20:15.063316+00:00",
|
||||
"run_time": "2026-02-17T04:04:59.620077+00:00",
|
||||
"data_range": {
|
||||
"start": "2025-02-17 07:15:00+00:00",
|
||||
"end": "2026-02-17 03:10:00+00:00",
|
||||
"bars": 74536
|
||||
"start": "2025-02-17 12:10:00+00:00",
|
||||
"end": "2026-02-17 03:55:00+00:00",
|
||||
"bars": 74486
|
||||
},
|
||||
"metrics": {
|
||||
"starting_equity": 100000.0,
|
||||
"total_return_pct": 0.0653,
|
||||
"max_drawdown_pct": 0.1037,
|
||||
"num_trades": 1684,
|
||||
"round_trips": 842,
|
||||
"win_rate_pct": 35.99,
|
||||
"sharpe_ratio": 1.0001,
|
||||
"final_equity": 100065.29
|
||||
"total_return_pct": 0.0779,
|
||||
"max_drawdown_pct": 0.1162,
|
||||
"num_trades": 2398,
|
||||
"round_trips": 1199,
|
||||
"win_rate_pct": 46.12,
|
||||
"sharpe_ratio": 1.2429,
|
||||
"final_equity": 100077.9
|
||||
},
|
||||
"monthly_pnl": [
|
||||
{
|
||||
"month": "2025-02",
|
||||
"start_equity": 100000.0,
|
||||
"end_equity": 99990.93,
|
||||
"pnl": -9.07,
|
||||
"pnl_pct": -0.0091
|
||||
"end_equity": 99985.78,
|
||||
"pnl": -14.22,
|
||||
"pnl_pct": -0.0142
|
||||
},
|
||||
{
|
||||
"month": "2025-03",
|
||||
"start_equity": 99990.93,
|
||||
"end_equity": 100043.93,
|
||||
"pnl": 53.0,
|
||||
"pnl_pct": 0.053
|
||||
"start_equity": 99985.78,
|
||||
"end_equity": 100004.32,
|
||||
"pnl": 18.54,
|
||||
"pnl_pct": 0.0185
|
||||
},
|
||||
{
|
||||
"month": "2025-04",
|
||||
"start_equity": 100043.93,
|
||||
"end_equity": 100065.95,
|
||||
"pnl": 22.02,
|
||||
"pnl_pct": 0.022
|
||||
"start_equity": 100004.32,
|
||||
"end_equity": 100113.96,
|
||||
"pnl": 109.64,
|
||||
"pnl_pct": 0.1096
|
||||
},
|
||||
{
|
||||
"month": "2025-05",
|
||||
"start_equity": 100065.95,
|
||||
"end_equity": 100122.9,
|
||||
"pnl": 56.95,
|
||||
"pnl_pct": 0.0569
|
||||
"start_equity": 100113.96,
|
||||
"end_equity": 100119.43,
|
||||
"pnl": 5.47,
|
||||
"pnl_pct": 0.0055
|
||||
},
|
||||
{
|
||||
"month": "2025-06",
|
||||
"start_equity": 100122.9,
|
||||
"end_equity": 100129.99,
|
||||
"pnl": 7.09,
|
||||
"pnl_pct": 0.0071
|
||||
"start_equity": 100119.43,
|
||||
"end_equity": 100120.13,
|
||||
"pnl": 0.7,
|
||||
"pnl_pct": 0.0007
|
||||
},
|
||||
{
|
||||
"month": "2025-07",
|
||||
"start_equity": 100129.99,
|
||||
"end_equity": 100070.84,
|
||||
"pnl": -59.15,
|
||||
"pnl_pct": -0.0591
|
||||
"start_equity": 100120.13,
|
||||
"end_equity": 100102.3,
|
||||
"pnl": -17.83,
|
||||
"pnl_pct": -0.0178
|
||||
},
|
||||
{
|
||||
"month": "2025-08",
|
||||
"start_equity": 100070.84,
|
||||
"end_equity": 100136.88,
|
||||
"pnl": 66.04,
|
||||
"pnl_pct": 0.066
|
||||
"start_equity": 100102.3,
|
||||
"end_equity": 100108.24,
|
||||
"pnl": 5.94,
|
||||
"pnl_pct": 0.0059
|
||||
},
|
||||
{
|
||||
"month": "2025-09",
|
||||
"start_equity": 100136.88,
|
||||
"end_equity": 100128.96,
|
||||
"pnl": -7.92,
|
||||
"pnl_pct": -0.0079
|
||||
"start_equity": 100108.24,
|
||||
"end_equity": 100119.99,
|
||||
"pnl": 11.75,
|
||||
"pnl_pct": 0.0117
|
||||
},
|
||||
{
|
||||
"month": "2025-10",
|
||||
"start_equity": 100128.96,
|
||||
"end_equity": 100114.83,
|
||||
"pnl": -14.13,
|
||||
"pnl_pct": -0.0141
|
||||
"start_equity": 100119.99,
|
||||
"end_equity": 100081.04,
|
||||
"pnl": -38.95,
|
||||
"pnl_pct": -0.0389
|
||||
},
|
||||
{
|
||||
"month": "2025-11",
|
||||
"start_equity": 100114.83,
|
||||
"end_equity": 100087.25,
|
||||
"pnl": -27.58,
|
||||
"pnl_pct": -0.0275
|
||||
"start_equity": 100081.04,
|
||||
"end_equity": 100065.94,
|
||||
"pnl": -15.09,
|
||||
"pnl_pct": -0.0151
|
||||
},
|
||||
{
|
||||
"month": "2025-12",
|
||||
"start_equity": 100087.25,
|
||||
"end_equity": 100088.28,
|
||||
"pnl": 1.03,
|
||||
"pnl_pct": 0.001
|
||||
"start_equity": 100065.94,
|
||||
"end_equity": 100074.04,
|
||||
"pnl": 8.1,
|
||||
"pnl_pct": 0.0081
|
||||
},
|
||||
{
|
||||
"month": "2026-01",
|
||||
"start_equity": 100088.28,
|
||||
"end_equity": 100092.01,
|
||||
"pnl": 3.73,
|
||||
"pnl_pct": 0.0037
|
||||
"start_equity": 100074.04,
|
||||
"end_equity": 100101.75,
|
||||
"pnl": 27.71,
|
||||
"pnl_pct": 0.0277
|
||||
},
|
||||
{
|
||||
"month": "2026-02",
|
||||
"start_equity": 100092.01,
|
||||
"end_equity": 100065.29,
|
||||
"pnl": -26.72,
|
||||
"pnl_pct": -0.0267
|
||||
"start_equity": 100101.75,
|
||||
"end_equity": 100077.9,
|
||||
"pnl": -23.85,
|
||||
"pnl_pct": -0.0238
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,793 @@
|
||||
time,instrument,granularity,side,price,position_size,equity,drawdown
|
||||
2025-02-20 08:15:00+00:00,EUR_USD,M15,BUY,1.04395,2500.0,100000.0,0.0
|
||||
2025-02-21 06:45:00+00:00,EUR_USD,M15,FLAT,1.04887,0.0,100011.77,3.8e-05
|
||||
2025-02-21 07:00:00+00:00,EUR_USD,M15,BUY,1.04956,2500.29,100011.77,3.8e-05
|
||||
2025-02-21 13:45:00+00:00,EUR_USD,M15,FLAT,1.04752,0.0,100006.92,8.6e-05
|
||||
2025-02-24 04:15:00+00:00,EUR_USD,M15,BUY,1.05128,2500.17,100006.92,8.6e-05
|
||||
2025-02-24 09:15:00+00:00,EUR_USD,M15,FLAT,1.04747,0.0,99997.85,0.000177
|
||||
2025-02-24 09:30:00+00:00,EUR_USD,M15,BUY,1.04746,2499.95,99997.85,0.000177
|
||||
2025-02-24 10:15:00+00:00,EUR_USD,M15,FLAT,1.04701,0.0,99996.77,0.000188
|
||||
2025-02-24 10:45:00+00:00,EUR_USD,M15,BUY,1.04802,2499.92,99996.77,0.000188
|
||||
2025-02-24 17:00:00+00:00,EUR_USD,M15,FLAT,1.04756,0.0,99995.68,0.000198
|
||||
2025-02-25 11:30:00+00:00,EUR_USD,M15,BUY,1.04861,2499.89,99995.68,0.000198
|
||||
2025-02-25 13:30:00+00:00,EUR_USD,M15,FLAT,1.0508,0.0,100000.9,0.000146
|
||||
2025-02-25 13:45:00+00:00,EUR_USD,M15,BUY,1.05002,2500.02,100000.9,0.000146
|
||||
2025-02-26 03:15:00+00:00,EUR_USD,M15,FLAT,1.05032,0.0,100001.63,0.000139
|
||||
2025-02-26 06:30:00+00:00,EUR_USD,M15,BUY,1.04941,2500.04,100001.63,0.000139
|
||||
2025-02-26 11:45:00+00:00,EUR_USD,M15,FLAT,1.04917,0.0,100001.06,0.000145
|
||||
2025-02-28 17:00:00+00:00,EUR_USD,M15,BUY,1.04096,2500.03,100001.06,0.000145
|
||||
2025-02-28 20:30:00+00:00,EUR_USD,M15,FLAT,1.03676,0.0,99990.96,0.000246
|
||||
2025-02-28 20:45:00+00:00,EUR_USD,M15,BUY,1.0375,2499.77,99990.96,0.000246
|
||||
2025-03-02 22:15:00+00:00,EUR_USD,M15,FLAT,1.04026,0.0,99997.61,0.000179
|
||||
2025-03-03 00:45:00+00:00,EUR_USD,M15,BUY,1.04095,2499.94,99997.61,0.000179
|
||||
2025-03-03 01:15:00+00:00,EUR_USD,M15,FLAT,1.04198,0.0,100000.08,0.000154
|
||||
2025-03-03 01:30:00+00:00,EUR_USD,M15,BUY,1.04181,2500.0,100000.08,0.000154
|
||||
2025-03-03 08:15:00+00:00,EUR_USD,M15,FLAT,1.03964,0.0,99994.87,0.000207
|
||||
2025-03-03 08:45:00+00:00,EUR_USD,M15,BUY,1.04012,2499.87,99994.87,0.000207
|
||||
2025-03-03 11:45:00+00:00,EUR_USD,M15,FLAT,1.04526,0.0,100007.2,8.3e-05
|
||||
2025-03-03 13:15:00+00:00,EUR_USD,M15,BUY,1.04684,2500.18,100007.2,8.3e-05
|
||||
2025-03-03 19:45:00+00:00,EUR_USD,M15,FLAT,1.0473,0.0,100008.32,7.2e-05
|
||||
2025-03-03 20:00:00+00:00,EUR_USD,M15,BUY,1.04782,2500.21,100008.32,7.2e-05
|
||||
2025-03-04 18:15:00+00:00,EUR_USD,M15,FLAT,1.0573,0.0,100030.88,0.0
|
||||
2025-03-04 22:00:00+00:00,EUR_USD,M15,BUY,1.06259,2500.77,100030.88,0.0
|
||||
2025-03-05 02:30:00+00:00,EUR_USD,M15,FLAT,1.06078,0.0,100026.62,6.5e-05
|
||||
2025-03-05 02:45:00+00:00,EUR_USD,M15,BUY,1.0604,2500.67,100026.62,6.5e-05
|
||||
2025-03-05 07:45:00+00:00,EUR_USD,M15,FLAT,1.06745,0.0,100043.2,0.0
|
||||
2025-03-05 10:15:00+00:00,EUR_USD,M15,BUY,1.06878,2501.08,100043.2,0.0
|
||||
2025-03-05 14:45:00+00:00,EUR_USD,M15,FLAT,1.077,0.0,100062.39,0.0
|
||||
2025-03-05 15:00:00+00:00,EUR_USD,M15,BUY,1.07428,2501.56,100062.39,0.0
|
||||
2025-03-06 00:30:00+00:00,EUR_USD,M15,FLAT,1.08003,0.0,100075.75,0.0
|
||||
2025-03-06 00:45:00+00:00,EUR_USD,M15,BUY,1.07944,2501.89,100075.75,0.0
|
||||
2025-03-06 14:45:00+00:00,EUR_USD,M15,FLAT,1.08372,0.0,100085.68,0.0
|
||||
2025-03-06 15:00:00+00:00,EUR_USD,M15,BUY,1.08391,2502.14,100085.68,0.0
|
||||
2025-03-06 18:30:00+00:00,EUR_USD,M15,FLAT,1.0766,0.0,100068.76,0.000169
|
||||
2025-03-06 18:45:00+00:00,EUR_USD,M15,BUY,1.07838,2501.72,100068.76,0.000169
|
||||
2025-03-07 01:45:00+00:00,EUR_USD,M15,FLAT,1.079,0.0,100070.21,0.000155
|
||||
2025-03-07 09:30:00+00:00,EUR_USD,M15,BUY,1.08596,2501.76,100070.21,0.000155
|
||||
2025-03-10 04:30:00+00:00,EUR_USD,M15,FLAT,1.08347,0.0,100064.51,0.000212
|
||||
2025-03-11 03:45:00+00:00,EUR_USD,M15,BUY,1.08544,2501.61,100064.51,0.000212
|
||||
2025-03-11 17:45:00+00:00,EUR_USD,M15,FLAT,1.09342,0.0,100082.86,2.8e-05
|
||||
2025-03-11 18:15:00+00:00,EUR_USD,M15,BUY,1.09414,2502.07,100082.86,2.8e-05
|
||||
2025-03-11 21:30:00+00:00,EUR_USD,M15,FLAT,1.09148,0.0,100076.78,8.9e-05
|
||||
2025-03-11 22:00:00+00:00,EUR_USD,M15,BUY,1.09174,2501.92,100076.78,8.9e-05
|
||||
2025-03-12 07:15:00+00:00,EUR_USD,M15,FLAT,1.08948,0.0,100071.6,0.000141
|
||||
2025-03-14 12:30:00+00:00,EUR_USD,M15,BUY,1.08991,2501.79,100071.6,0.000141
|
||||
2025-03-14 15:45:00+00:00,EUR_USD,M15,FLAT,1.08715,0.0,100065.26,0.000204
|
||||
2025-03-14 16:00:00+00:00,EUR_USD,M15,BUY,1.08813,2501.63,100065.26,0.000204
|
||||
2025-03-17 09:30:00+00:00,EUR_USD,M15,FLAT,1.08946,0.0,100068.32,0.000173
|
||||
2025-03-17 11:30:00+00:00,EUR_USD,M15,BUY,1.09038,2501.71,100068.32,0.000173
|
||||
2025-03-18 02:15:00+00:00,EUR_USD,M15,FLAT,1.09082,0.0,100069.34,0.000163
|
||||
2025-03-18 02:30:00+00:00,EUR_USD,M15,BUY,1.09092,2501.73,100069.34,0.000163
|
||||
2025-03-18 08:00:00+00:00,EUR_USD,M15,FLAT,1.09472,0.0,100078.04,7.6e-05
|
||||
2025-03-18 09:00:00+00:00,EUR_USD,M15,BUY,1.09432,2501.95,100078.04,7.6e-05
|
||||
2025-03-18 09:45:00+00:00,EUR_USD,M15,FLAT,1.09505,0.0,100079.71,6e-05
|
||||
2025-03-18 10:00:00+00:00,EUR_USD,M15,BUY,1.09458,2501.99,100079.71,6e-05
|
||||
2025-03-18 11:45:00+00:00,EUR_USD,M15,FLAT,1.09164,0.0,100072.98,0.000127
|
||||
2025-03-18 12:00:00+00:00,EUR_USD,M15,BUY,1.09192,2501.82,100072.98,0.000127
|
||||
2025-03-18 12:15:00+00:00,EUR_USD,M15,FLAT,1.09155,0.0,100072.14,0.000135
|
||||
2025-03-18 12:45:00+00:00,EUR_USD,M15,BUY,1.09116,2501.8,100072.14,0.000135
|
||||
2025-03-19 07:00:00+00:00,EUR_USD,M15,FLAT,1.09074,0.0,100071.19,0.000145
|
||||
2025-03-19 07:45:00+00:00,EUR_USD,M15,BUY,1.08928,2501.78,100071.19,0.000145
|
||||
2025-03-19 08:15:00+00:00,EUR_USD,M15,FLAT,1.09058,0.0,100074.18,0.000115
|
||||
2025-03-20 06:00:00+00:00,EUR_USD,M15,BUY,1.08982,2501.85,100074.18,0.000115
|
||||
2025-03-20 07:00:00+00:00,EUR_USD,M15,FLAT,1.08913,0.0,100072.59,0.000131
|
||||
2025-03-20 07:45:00+00:00,EUR_USD,M15,BUY,1.08796,2501.81,100072.59,0.000131
|
||||
2025-03-20 10:15:00+00:00,EUR_USD,M15,FLAT,1.08436,0.0,100064.31,0.000214
|
||||
2025-03-24 08:30:00+00:00,EUR_USD,M15,BUY,1.08473,2501.61,100064.31,0.000214
|
||||
2025-03-24 13:45:00+00:00,EUR_USD,M15,FLAT,1.07932,0.0,100051.81,0.000338
|
||||
2025-03-24 14:15:00+00:00,EUR_USD,M15,BUY,1.08123,2501.3,100051.81,0.000338
|
||||
2025-03-24 18:00:00+00:00,EUR_USD,M15,FLAT,1.07888,0.0,100046.38,0.000393
|
||||
2025-03-25 12:45:00+00:00,EUR_USD,M15,BUY,1.08253,2501.16,100046.38,0.000393
|
||||
2025-03-25 23:00:00+00:00,EUR_USD,M15,FLAT,1.07886,0.0,100037.89,0.000478
|
||||
2025-03-25 23:15:00+00:00,EUR_USD,M15,BUY,1.07876,2500.95,100037.89,0.000478
|
||||
2025-03-26 00:45:00+00:00,EUR_USD,M15,FLAT,1.07844,0.0,100037.15,0.000485
|
||||
2025-03-27 11:30:00+00:00,EUR_USD,M15,BUY,1.078,2500.93,100037.15,0.000485
|
||||
2025-03-28 10:00:00+00:00,EUR_USD,M15,FLAT,1.07738,0.0,100035.73,0.000499
|
||||
2025-03-28 17:30:00+00:00,EUR_USD,M15,BUY,1.08278,2500.89,100035.73,0.000499
|
||||
2025-03-31 14:15:00+00:00,EUR_USD,M15,FLAT,1.07949,0.0,100028.15,0.000575
|
||||
2025-04-01 04:45:00+00:00,EUR_USD,M15,BUY,1.0825,2500.7,100028.15,0.000575
|
||||
2025-04-01 06:15:00+00:00,EUR_USD,M15,FLAT,1.0801,0.0,100022.6,0.00063
|
||||
2025-04-01 06:30:00+00:00,EUR_USD,M15,BUY,1.0806,2500.56,100022.6,0.00063
|
||||
2025-04-01 12:30:00+00:00,EUR_USD,M15,FLAT,1.07868,0.0,100018.16,0.000675
|
||||
2025-04-02 10:30:00+00:00,EUR_USD,M15,BUY,1.07937,2500.45,100018.16,0.000675
|
||||
2025-04-02 11:00:00+00:00,EUR_USD,M15,FLAT,1.07988,0.0,100019.34,0.000663
|
||||
2025-04-02 11:15:00+00:00,EUR_USD,M15,BUY,1.08001,2500.48,100019.34,0.000663
|
||||
2025-04-02 13:45:00+00:00,EUR_USD,M15,FLAT,1.08266,0.0,100025.47,0.000602
|
||||
2025-04-02 14:15:00+00:00,EUR_USD,M15,BUY,1.08224,2500.64,100025.47,0.000602
|
||||
2025-04-02 14:30:00+00:00,EUR_USD,M15,FLAT,1.08346,0.0,100028.29,0.000573
|
||||
2025-04-02 16:00:00+00:00,EUR_USD,M15,BUY,1.08596,2500.71,100028.29,0.000573
|
||||
2025-04-02 20:00:00+00:00,EUR_USD,M15,FLAT,1.0886,0.0,100034.38,0.000513
|
||||
2025-04-02 20:15:00+00:00,EUR_USD,M15,BUY,1.08537,2500.86,100034.38,0.000513
|
||||
2025-04-03 18:00:00+00:00,EUR_USD,M15,FLAT,1.10236,0.0,100073.45,0.000217
|
||||
2025-04-03 18:30:00+00:00,EUR_USD,M15,BUY,1.10363,2501.84,100073.45,0.000217
|
||||
2025-04-03 22:45:00+00:00,EUR_USD,M15,FLAT,1.10643,0.0,100079.8,0.000154
|
||||
2025-04-03 23:00:00+00:00,EUR_USD,M15,BUY,1.10524,2502.0,100079.8,0.000154
|
||||
2025-04-04 08:30:00+00:00,EUR_USD,M15,FLAT,1.10004,0.0,100068.04,0.000271
|
||||
2025-04-07 13:00:00+00:00,EUR_USD,M15,BUY,1.09712,2501.7,100068.04,0.000271
|
||||
2025-04-07 18:45:00+00:00,EUR_USD,M15,FLAT,1.09336,0.0,100059.48,0.000357
|
||||
2025-04-08 09:00:00+00:00,EUR_USD,M15,BUY,1.09277,2501.49,100059.48,0.000357
|
||||
2025-04-08 17:30:00+00:00,EUR_USD,M15,FLAT,1.09334,0.0,100060.82,0.000343
|
||||
2025-04-09 01:45:00+00:00,EUR_USD,M15,BUY,1.10202,2501.52,100060.82,0.000343
|
||||
2025-04-09 21:30:00+00:00,EUR_USD,M15,FLAT,1.09511,0.0,100045.25,0.000499
|
||||
2025-04-10 11:45:00+00:00,EUR_USD,M15,BUY,1.10702,2501.13,100045.25,0.000499
|
||||
2025-04-10 12:30:00+00:00,EUR_USD,M15,FLAT,1.11121,0.0,100054.71,0.000404
|
||||
2025-04-10 12:45:00+00:00,EUR_USD,M15,BUY,1.10973,2501.37,100054.71,0.000404
|
||||
2025-04-10 14:45:00+00:00,EUR_USD,M15,FLAT,1.11856,0.0,100074.56,0.000206
|
||||
2025-04-10 15:00:00+00:00,EUR_USD,M15,BUY,1.11566,2501.86,100074.56,0.000206
|
||||
2025-04-11 00:30:00+00:00,EUR_USD,M15,FLAT,1.13142,0.0,100109.76,0.0
|
||||
2025-04-11 01:00:00+00:00,EUR_USD,M15,BUY,1.12904,2502.74,100109.76,0.0
|
||||
2025-04-11 09:30:00+00:00,EUR_USD,M15,FLAT,1.14091,0.0,100136.03,4e-05
|
||||
2025-04-11 09:45:00+00:00,EUR_USD,M15,BUY,1.13856,2503.4,100136.03,4e-05
|
||||
2025-04-11 16:15:00+00:00,EUR_USD,M15,FLAT,1.129,0.0,100114.99,0.00025
|
||||
2025-04-11 16:45:00+00:00,EUR_USD,M15,BUY,1.1306,2502.87,100114.99,0.00025
|
||||
2025-04-14 01:15:00+00:00,EUR_USD,M15,FLAT,1.13916,0.0,100133.91,6.1e-05
|
||||
2025-04-14 01:30:00+00:00,EUR_USD,M15,BUY,1.13914,2503.35,100133.91,6.1e-05
|
||||
2025-04-14 01:45:00+00:00,EUR_USD,M15,FLAT,1.13856,0.0,100132.64,7.3e-05
|
||||
2025-04-14 04:45:00+00:00,EUR_USD,M15,BUY,1.13677,2503.32,100132.64,7.3e-05
|
||||
2025-04-14 20:00:00+00:00,EUR_USD,M15,FLAT,1.13584,0.0,100130.66,0.000128
|
||||
2025-04-16 07:15:00+00:00,EUR_USD,M15,BUY,1.13902,2503.27,100130.66,0.000128
|
||||
2025-04-16 23:30:00+00:00,EUR_USD,M15,FLAT,1.1406,0.0,100134.17,9.3e-05
|
||||
2025-04-16 23:45:00+00:00,EUR_USD,M15,BUY,1.13958,2503.35,100134.17,9.3e-05
|
||||
2025-04-17 01:00:00+00:00,EUR_USD,M15,FLAT,1.1363,0.0,100126.96,0.000165
|
||||
2025-04-17 01:45:00+00:00,EUR_USD,M15,BUY,1.13656,2503.17,100126.96,0.000165
|
||||
2025-04-17 10:15:00+00:00,EUR_USD,M15,FLAT,1.13716,0.0,100128.29,0.000152
|
||||
2025-04-18 01:30:00+00:00,EUR_USD,M15,BUY,1.13728,2503.21,100128.29,0.000152
|
||||
2025-04-18 11:45:00+00:00,EUR_USD,M15,FLAT,1.13812,0.0,100130.14,0.000133
|
||||
2025-04-18 12:30:00+00:00,EUR_USD,M15,BUY,1.13824,2503.25,100130.14,0.000133
|
||||
2025-04-20 21:15:00+00:00,EUR_USD,M15,FLAT,1.1411,0.0,100136.43,7e-05
|
||||
2025-04-21 01:30:00+00:00,EUR_USD,M15,BUY,1.14683,2503.41,100136.43,7e-05
|
||||
2025-04-21 02:15:00+00:00,EUR_USD,M15,FLAT,1.15127,0.0,100146.11,0.0
|
||||
2025-04-21 02:30:00+00:00,EUR_USD,M15,BUY,1.15095,2503.65,100146.11,0.0
|
||||
2025-04-22 00:15:00+00:00,EUR_USD,M15,FLAT,1.14964,0.0,100143.31,0.000154
|
||||
2025-04-24 11:15:00+00:00,EUR_USD,M15,BUY,1.13883,2503.58,100143.31,0.000154
|
||||
2025-04-25 00:00:00+00:00,EUR_USD,M15,FLAT,1.13627,0.0,100137.69,0.000211
|
||||
2025-04-25 02:45:00+00:00,EUR_USD,M15,BUY,1.13482,2503.44,100137.69,0.000211
|
||||
2025-04-25 04:45:00+00:00,EUR_USD,M15,FLAT,1.13352,0.0,100134.83,0.000239
|
||||
2025-04-25 19:15:00+00:00,EUR_USD,M15,BUY,1.13786,2503.37,100134.83,0.000239
|
||||
2025-04-28 05:30:00+00:00,EUR_USD,M15,FLAT,1.13754,0.0,100134.13,0.000246
|
||||
2025-04-28 06:00:00+00:00,EUR_USD,M15,BUY,1.13685,2503.35,100134.13,0.000246
|
||||
2025-04-28 07:00:00+00:00,EUR_USD,M15,FLAT,1.13428,0.0,100128.47,0.000303
|
||||
2025-04-28 16:45:00+00:00,EUR_USD,M15,BUY,1.14115,2503.21,100128.47,0.000303
|
||||
2025-04-28 21:15:00+00:00,EUR_USD,M15,FLAT,1.14214,0.0,100130.65,0.000281
|
||||
2025-04-28 21:30:00+00:00,EUR_USD,M15,BUY,1.142,2503.27,100130.65,0.000281
|
||||
2025-04-29 11:45:00+00:00,EUR_USD,M15,FLAT,1.13746,0.0,100120.7,0.00038
|
||||
2025-04-30 00:30:00+00:00,EUR_USD,M15,BUY,1.13865,2503.02,100120.7,0.00038
|
||||
2025-04-30 01:15:00+00:00,EUR_USD,M15,FLAT,1.13824,0.0,100119.79,0.000389
|
||||
2025-05-02 08:45:00+00:00,EUR_USD,M15,BUY,1.13328,2502.99,100119.79,0.000389
|
||||
2025-05-02 17:00:00+00:00,EUR_USD,M15,FLAT,1.1306,0.0,100113.9,0.000448
|
||||
2025-05-02 17:15:00+00:00,EUR_USD,M15,BUY,1.13132,2502.85,100113.9,0.000448
|
||||
2025-05-02 17:30:00+00:00,EUR_USD,M15,FLAT,1.1305,0.0,100112.09,0.000466
|
||||
2025-05-02 17:45:00+00:00,EUR_USD,M15,BUY,1.13042,2502.8,100112.09,0.000466
|
||||
2025-05-02 18:15:00+00:00,EUR_USD,M15,FLAT,1.13052,0.0,100112.31,0.000464
|
||||
2025-05-02 18:45:00+00:00,EUR_USD,M15,BUY,1.12998,2502.81,100112.31,0.000464
|
||||
2025-05-05 02:00:00+00:00,EUR_USD,M15,FLAT,1.1334,0.0,100119.88,0.000388
|
||||
2025-05-05 10:00:00+00:00,EUR_USD,M15,BUY,1.13338,2503.0,100119.88,0.000388
|
||||
2025-05-05 15:45:00+00:00,EUR_USD,M15,FLAT,1.13144,0.0,100115.6,0.000431
|
||||
2025-05-05 18:00:00+00:00,EUR_USD,M15,BUY,1.13018,2502.89,100115.6,0.000431
|
||||
2025-05-05 22:15:00+00:00,EUR_USD,M15,FLAT,1.1318,0.0,100119.19,0.000395
|
||||
2025-05-06 13:00:00+00:00,EUR_USD,M15,BUY,1.13298,2502.98,100119.19,0.000395
|
||||
2025-05-06 19:30:00+00:00,EUR_USD,M15,FLAT,1.138,0.0,100130.27,0.000285
|
||||
2025-05-06 19:45:00+00:00,EUR_USD,M15,BUY,1.13728,2503.26,100130.27,0.000285
|
||||
2025-05-07 06:45:00+00:00,EUR_USD,M15,FLAT,1.1374,0.0,100130.56,0.000282
|
||||
2025-05-07 07:00:00+00:00,EUR_USD,M15,BUY,1.13676,2503.26,100130.56,0.000282
|
||||
2025-05-07 19:30:00+00:00,EUR_USD,M15,FLAT,1.13076,0.0,100117.34,0.000414
|
||||
2025-05-09 14:00:00+00:00,EUR_USD,M15,BUY,1.12714,2502.93,100117.34,0.000414
|
||||
2025-05-11 21:00:00+00:00,EUR_USD,M15,FLAT,1.12068,0.0,100102.98,0.000557
|
||||
2025-05-11 21:15:00+00:00,EUR_USD,M15,BUY,1.12136,2502.57,100102.98,0.000557
|
||||
2025-05-12 03:00:00+00:00,EUR_USD,M15,FLAT,1.12308,0.0,100106.82,0.000519
|
||||
2025-05-13 08:30:00+00:00,EUR_USD,M15,BUY,1.11054,2502.67,100106.82,0.000519
|
||||
2025-05-13 13:30:00+00:00,EUR_USD,M15,FLAT,1.1146,0.0,100115.96,0.000428
|
||||
2025-05-13 13:45:00+00:00,EUR_USD,M15,BUY,1.11356,2502.9,100115.96,0.000428
|
||||
2025-05-13 14:45:00+00:00,EUR_USD,M15,FLAT,1.11614,0.0,100121.76,0.00037
|
||||
2025-05-13 16:00:00+00:00,EUR_USD,M15,BUY,1.11696,2503.04,100121.76,0.00037
|
||||
2025-05-14 09:15:00+00:00,EUR_USD,M15,FLAT,1.12545,0.0,100140.73,0.00018
|
||||
2025-05-14 09:45:00+00:00,EUR_USD,M15,BUY,1.12524,2503.52,100140.73,0.00018
|
||||
2025-05-14 17:00:00+00:00,EUR_USD,M15,FLAT,1.1191,0.0,100127.04,0.000317
|
||||
2025-05-14 17:15:00+00:00,EUR_USD,M15,BUY,1.11942,2503.18,100127.04,0.000317
|
||||
2025-05-14 22:30:00+00:00,EUR_USD,M15,FLAT,1.11834,0.0,100124.63,0.000341
|
||||
2025-05-15 11:15:00+00:00,EUR_USD,M15,BUY,1.11946,2503.12,100124.63,0.000341
|
||||
2025-05-15 20:30:00+00:00,EUR_USD,M15,FLAT,1.11843,0.0,100122.35,0.000364
|
||||
2025-05-16 06:30:00+00:00,EUR_USD,M15,BUY,1.12152,2503.06,100122.35,0.000364
|
||||
2025-05-16 15:45:00+00:00,EUR_USD,M15,FLAT,1.11402,0.0,100105.57,0.000531
|
||||
2025-05-16 16:30:00+00:00,EUR_USD,M15,BUY,1.11427,2502.64,100105.57,0.000531
|
||||
2025-05-16 17:00:00+00:00,EUR_USD,M15,FLAT,1.11447,0.0,100106.02,0.000527
|
||||
2025-05-19 11:00:00+00:00,EUR_USD,M15,BUY,1.12768,2502.65,100106.02,0.000527
|
||||
2025-05-19 14:15:00+00:00,EUR_USD,M15,FLAT,1.1244,0.0,100098.73,0.0006
|
||||
2025-05-19 14:30:00+00:00,EUR_USD,M15,BUY,1.12524,2502.47,100098.73,0.0006
|
||||
2025-05-19 18:00:00+00:00,EUR_USD,M15,FLAT,1.12251,0.0,100092.65,0.00066
|
||||
2025-05-19 18:45:00+00:00,EUR_USD,M15,BUY,1.12349,2502.32,100092.65,0.00066
|
||||
2025-05-20 00:00:00+00:00,EUR_USD,M15,FLAT,1.12276,0.0,100091.03,0.000676
|
||||
2025-05-20 00:45:00+00:00,EUR_USD,M15,BUY,1.1228,2502.28,100091.03,0.000676
|
||||
2025-05-20 04:00:00+00:00,EUR_USD,M15,FLAT,1.12427,0.0,100094.31,0.000644
|
||||
2025-05-20 11:00:00+00:00,EUR_USD,M15,BUY,1.12497,2502.36,100094.31,0.000644
|
||||
2025-05-20 19:45:00+00:00,EUR_USD,M15,FLAT,1.12805,0.0,100101.16,0.000575
|
||||
2025-05-20 20:45:00+00:00,EUR_USD,M15,BUY,1.12836,2502.53,100101.16,0.000575
|
||||
2025-05-21 02:00:00+00:00,EUR_USD,M15,FLAT,1.13178,0.0,100108.74,0.0005
|
||||
2025-05-21 04:00:00+00:00,EUR_USD,M15,BUY,1.13282,2502.72,100108.74,0.0005
|
||||
2025-05-21 04:30:00+00:00,EUR_USD,M15,FLAT,1.13346,0.0,100110.16,0.000485
|
||||
2025-05-21 05:30:00+00:00,EUR_USD,M15,BUY,1.13334,2502.75,100110.16,0.000485
|
||||
2025-05-22 04:30:00+00:00,EUR_USD,M15,FLAT,1.13305,0.0,100109.55,0.000492
|
||||
2025-05-23 06:45:00+00:00,EUR_USD,M15,BUY,1.13122,2502.74,100109.55,0.000492
|
||||
2025-05-23 09:45:00+00:00,EUR_USD,M15,FLAT,1.13492,0.0,100117.73,0.00041
|
||||
2025-05-23 10:15:00+00:00,EUR_USD,M15,BUY,1.13475,2502.94,100117.73,0.00041
|
||||
2025-05-26 09:15:00+00:00,EUR_USD,M15,FLAT,1.13807,0.0,100125.08,0.000336
|
||||
2025-05-26 10:00:00+00:00,EUR_USD,M15,BUY,1.1383,2503.13,100125.08,0.000336
|
||||
2025-05-26 18:15:00+00:00,EUR_USD,M15,FLAT,1.13828,0.0,100125.04,0.000337
|
||||
2025-05-27 04:30:00+00:00,EUR_USD,M15,BUY,1.13828,2503.13,100125.04,0.000337
|
||||
2025-05-27 09:45:00+00:00,EUR_USD,M15,FLAT,1.13486,0.0,100117.52,0.000412
|
||||
2025-05-29 14:45:00+00:00,EUR_USD,M15,BUY,1.135,2502.94,100117.52,0.000412
|
||||
2025-05-29 15:15:00+00:00,EUR_USD,M15,FLAT,1.13624,0.0,100120.26,0.000385
|
||||
2025-05-29 16:00:00+00:00,EUR_USD,M15,BUY,1.13738,2503.01,100120.26,0.000385
|
||||
2025-05-30 04:30:00+00:00,EUR_USD,M15,FLAT,1.13502,0.0,100115.07,0.000436
|
||||
2025-05-30 05:00:00+00:00,EUR_USD,M15,BUY,1.13456,2502.88,100115.07,0.000436
|
||||
2025-05-30 11:00:00+00:00,EUR_USD,M15,FLAT,1.13292,0.0,100111.46,0.000472
|
||||
2025-06-01 23:45:00+00:00,EUR_USD,M15,BUY,1.1353,2502.79,100111.46,0.000472
|
||||
2025-06-02 06:15:00+00:00,EUR_USD,M15,FLAT,1.13908,0.0,100119.79,0.000389
|
||||
2025-06-02 09:45:00+00:00,EUR_USD,M15,BUY,1.14234,2502.99,100119.79,0.000389
|
||||
2025-06-03 02:30:00+00:00,EUR_USD,M15,FLAT,1.14232,0.0,100119.76,0.00039
|
||||
2025-06-03 02:45:00+00:00,EUR_USD,M15,BUY,1.14256,2502.99,100119.76,0.00039
|
||||
2025-06-03 03:00:00+00:00,EUR_USD,M15,FLAT,1.14257,0.0,100119.78,0.000389
|
||||
2025-06-03 03:45:00+00:00,EUR_USD,M15,BUY,1.14199,2502.99,100119.78,0.000389
|
||||
2025-06-03 09:45:00+00:00,EUR_USD,M15,FLAT,1.1412,0.0,100118.05,0.000407
|
||||
2025-06-04 11:15:00+00:00,EUR_USD,M15,BUY,1.13832,2502.95,100118.05,0.000407
|
||||
2025-06-04 23:15:00+00:00,EUR_USD,M15,FLAT,1.14269,0.0,100127.66,0.000311
|
||||
2025-06-04 23:30:00+00:00,EUR_USD,M15,BUY,1.14206,2503.19,100127.66,0.000311
|
||||
2025-06-05 13:00:00+00:00,EUR_USD,M15,FLAT,1.14606,0.0,100136.43,0.000223
|
||||
2025-06-05 13:15:00+00:00,EUR_USD,M15,BUY,1.1491,2503.41,100136.43,0.000223
|
||||
2025-06-05 16:45:00+00:00,EUR_USD,M15,FLAT,1.1448,0.0,100127.05,0.000317
|
||||
2025-06-05 17:15:00+00:00,EUR_USD,M15,BUY,1.14397,2503.18,100127.05,0.000317
|
||||
2025-06-06 09:00:00+00:00,EUR_USD,M15,FLAT,1.14122,0.0,100121.04,0.000377
|
||||
2025-06-09 07:00:00+00:00,EUR_USD,M15,BUY,1.1422,2503.03,100121.04,0.000377
|
||||
2025-06-09 23:15:00+00:00,EUR_USD,M15,FLAT,1.14254,0.0,100121.79,0.000369
|
||||
2025-06-10 00:00:00+00:00,EUR_USD,M15,BUY,1.14324,2503.04,100121.79,0.000369
|
||||
2025-06-10 04:30:00+00:00,EUR_USD,M15,FLAT,1.13938,0.0,100113.33,0.000454
|
||||
2025-06-10 17:15:00+00:00,EUR_USD,M15,BUY,1.14198,2502.83,100113.33,0.000454
|
||||
2025-06-11 08:00:00+00:00,EUR_USD,M15,FLAT,1.14224,0.0,100113.91,0.000448
|
||||
2025-06-11 13:45:00+00:00,EUR_USD,M15,BUY,1.14704,2502.85,100113.91,0.000448
|
||||
2025-06-11 22:45:00+00:00,EUR_USD,M15,FLAT,1.15058,0.0,100121.63,0.000371
|
||||
2025-06-12 00:00:00+00:00,EUR_USD,M15,BUY,1.15038,2503.04,100121.63,0.000371
|
||||
2025-06-12 00:45:00+00:00,EUR_USD,M15,FLAT,1.15214,0.0,100125.45,0.000333
|
||||
2025-06-12 01:30:00+00:00,EUR_USD,M15,BUY,1.15212,2503.14,100125.45,0.000333
|
||||
2025-06-12 10:00:00+00:00,EUR_USD,M15,FLAT,1.15772,0.0,100137.61,0.000211
|
||||
2025-06-12 11:30:00+00:00,EUR_USD,M15,BUY,1.1586,2503.44,100137.61,0.000211
|
||||
2025-06-12 12:30:00+00:00,EUR_USD,M15,FLAT,1.16276,0.0,100146.59,0.000122
|
||||
2025-06-12 12:45:00+00:00,EUR_USD,M15,BUY,1.16098,2503.66,100146.59,0.000122
|
||||
2025-06-12 23:45:00+00:00,EUR_USD,M15,FLAT,1.16088,0.0,100146.38,0.000124
|
||||
2025-06-13 00:00:00+00:00,EUR_USD,M15,BUY,1.15648,2503.66,100146.38,0.000124
|
||||
2025-06-13 05:45:00+00:00,EUR_USD,M15,FLAT,1.15294,0.0,100138.74,0.0002
|
||||
2025-06-16 00:00:00+00:00,EUR_USD,M15,BUY,1.1541,2503.47,100138.74,0.0002
|
||||
2025-06-16 05:15:00+00:00,EUR_USD,M15,FLAT,1.15557,0.0,100141.92,0.000168
|
||||
2025-06-16 06:00:00+00:00,EUR_USD,M15,BUY,1.15526,2503.55,100141.92,0.000168
|
||||
2025-06-16 17:30:00+00:00,EUR_USD,M15,FLAT,1.15754,0.0,100146.88,0.000119
|
||||
2025-06-16 17:45:00+00:00,EUR_USD,M15,BUY,1.15779,2503.67,100146.88,0.000119
|
||||
2025-06-17 00:30:00+00:00,EUR_USD,M15,FLAT,1.15466,0.0,100140.1,0.000186
|
||||
2025-06-17 00:45:00+00:00,EUR_USD,M15,BUY,1.155,2503.5,100140.1,0.000186
|
||||
2025-06-17 03:00:00+00:00,EUR_USD,M15,FLAT,1.15593,0.0,100142.12,0.000166
|
||||
2025-06-18 13:15:00+00:00,EUR_USD,M15,BUY,1.15012,2503.55,100142.12,0.000166
|
||||
2025-06-18 22:15:00+00:00,EUR_USD,M15,FLAT,1.1487,0.0,100139.05,0.000197
|
||||
2025-06-19 19:00:00+00:00,EUR_USD,M15,BUY,1.14894,2503.48,100139.05,0.000197
|
||||
2025-06-19 19:15:00+00:00,EUR_USD,M15,FLAT,1.14973,0.0,100140.78,0.00018
|
||||
2025-06-19 20:00:00+00:00,EUR_USD,M15,BUY,1.14927,2503.52,100140.78,0.00018
|
||||
2025-06-19 20:15:00+00:00,EUR_USD,M15,FLAT,1.14968,0.0,100141.67,0.000171
|
||||
2025-06-19 21:00:00+00:00,EUR_USD,M15,BUY,1.14946,2503.54,100141.67,0.000171
|
||||
2025-06-20 00:45:00+00:00,EUR_USD,M15,FLAT,1.15228,0.0,100147.81,0.00011
|
||||
2025-06-20 01:00:00+00:00,EUR_USD,M15,BUY,1.1515,2503.7,100147.81,0.00011
|
||||
2025-06-22 21:00:00+00:00,EUR_USD,M15,FLAT,1.14726,0.0,100138.61,0.000201
|
||||
2025-06-22 22:00:00+00:00,EUR_USD,M15,BUY,1.14869,2503.47,100138.61,0.000201
|
||||
2025-06-22 22:30:00+00:00,EUR_USD,M15,FLAT,1.14924,0.0,100139.8,0.000189
|
||||
2025-06-23 18:00:00+00:00,EUR_USD,M15,BUY,1.1571,2503.5,100139.8,0.000189
|
||||
2025-06-23 19:15:00+00:00,EUR_USD,M15,FLAT,1.15723,0.0,100140.09,0.000187
|
||||
2025-06-23 21:00:00+00:00,EUR_USD,M15,BUY,1.15786,2503.5,100140.09,0.000187
|
||||
2025-06-23 22:15:00+00:00,EUR_USD,M15,FLAT,1.16005,0.0,100144.82,0.000139
|
||||
2025-06-23 22:30:00+00:00,EUR_USD,M15,BUY,1.15888,2503.62,100144.82,0.000139
|
||||
2025-06-25 12:00:00+00:00,EUR_USD,M15,FLAT,1.16014,0.0,100147.58,0.000112
|
||||
2025-06-25 19:45:00+00:00,EUR_USD,M15,BUY,1.16583,2503.69,100147.58,0.000112
|
||||
2025-06-25 23:45:00+00:00,EUR_USD,M15,FLAT,1.16834,0.0,100152.97,5.8e-05
|
||||
2025-06-26 00:30:00+00:00,EUR_USD,M15,BUY,1.16846,2503.82,100152.97,5.8e-05
|
||||
2025-06-26 08:30:00+00:00,EUR_USD,M15,FLAT,1.17387,0.0,100164.55,0.0
|
||||
2025-06-26 08:45:00+00:00,EUR_USD,M15,BUY,1.17277,2504.11,100164.55,0.0
|
||||
2025-06-26 20:00:00+00:00,EUR_USD,M15,FLAT,1.17018,0.0,100159.03,7.6e-05
|
||||
2025-06-26 20:30:00+00:00,EUR_USD,M15,BUY,1.17009,2503.98,100159.03,7.6e-05
|
||||
2025-06-27 04:00:00+00:00,EUR_USD,M15,FLAT,1.1695,0.0,100157.77,8.9e-05
|
||||
2025-06-27 13:30:00+00:00,EUR_USD,M15,BUY,1.17278,2503.94,100157.77,8.9e-05
|
||||
2025-06-29 21:30:00+00:00,EUR_USD,M15,FLAT,1.17296,0.0,100158.16,8.5e-05
|
||||
2025-06-29 22:15:00+00:00,EUR_USD,M15,BUY,1.17219,2503.95,100158.16,8.5e-05
|
||||
2025-06-30 15:45:00+00:00,EUR_USD,M15,FLAT,1.17699,0.0,100168.42,0.0
|
||||
2025-06-30 16:00:00+00:00,EUR_USD,M15,BUY,1.17613,2504.21,100168.42,0.0
|
||||
2025-06-30 19:45:00+00:00,EUR_USD,M15,FLAT,1.17798,0.0,100172.35,0.0
|
||||
2025-06-30 20:15:00+00:00,EUR_USD,M15,BUY,1.17848,2504.31,100172.35,0.0
|
||||
2025-07-01 15:00:00+00:00,EUR_USD,M15,FLAT,1.17746,0.0,100170.2,9.9e-05
|
||||
2025-07-01 16:45:00+00:00,EUR_USD,M15,BUY,1.17655,2504.26,100170.2,9.9e-05
|
||||
2025-07-01 22:00:00+00:00,EUR_USD,M15,FLAT,1.18062,0.0,100178.85,1.3e-05
|
||||
2025-07-01 22:15:00+00:00,EUR_USD,M15,BUY,1.18046,2504.47,100178.85,1.3e-05
|
||||
2025-07-01 23:30:00+00:00,EUR_USD,M15,FLAT,1.18051,0.0,100178.96,1.2e-05
|
||||
2025-07-02 04:30:00+00:00,EUR_USD,M15,BUY,1.17972,2504.47,100178.96,1.2e-05
|
||||
2025-07-02 07:45:00+00:00,EUR_USD,M15,FLAT,1.17742,0.0,100174.07,6e-05
|
||||
2025-07-02 08:00:00+00:00,EUR_USD,M15,BUY,1.17766,2504.35,100174.07,6e-05
|
||||
2025-07-02 09:45:00+00:00,EUR_USD,M15,FLAT,1.17704,0.0,100172.75,7.4e-05
|
||||
2025-07-03 00:15:00+00:00,EUR_USD,M15,BUY,1.18036,2504.32,100172.75,7.4e-05
|
||||
2025-07-03 01:00:00+00:00,EUR_USD,M15,FLAT,1.1809,0.0,100173.9,6.2e-05
|
||||
2025-07-03 01:30:00+00:00,EUR_USD,M15,BUY,1.18073,2504.35,100173.9,6.2e-05
|
||||
2025-07-03 04:30:00+00:00,EUR_USD,M15,FLAT,1.17891,0.0,100170.04,0.000101
|
||||
2025-07-03 05:30:00+00:00,EUR_USD,M15,BUY,1.1791,2504.25,100170.04,0.000101
|
||||
2025-07-03 12:30:00+00:00,EUR_USD,M15,FLAT,1.17349,0.0,100158.12,0.00022
|
||||
2025-07-03 12:45:00+00:00,EUR_USD,M15,BUY,1.17384,2503.95,100158.12,0.00022
|
||||
2025-07-03 13:45:00+00:00,EUR_USD,M15,FLAT,1.17745,0.0,100165.82,0.000143
|
||||
2025-07-04 08:45:00+00:00,EUR_USD,M15,BUY,1.17746,2504.15,100165.82,0.000143
|
||||
2025-07-04 15:30:00+00:00,EUR_USD,M15,FLAT,1.17835,0.0,100167.71,0.000124
|
||||
2025-07-04 15:45:00+00:00,EUR_USD,M15,BUY,1.17788,2504.19,100167.71,0.000124
|
||||
2025-07-07 04:30:00+00:00,EUR_USD,M15,FLAT,1.17664,0.0,100165.08,0.00015
|
||||
2025-07-08 06:45:00+00:00,EUR_USD,M15,BUY,1.1742,2504.13,100165.08,0.00015
|
||||
2025-07-08 10:30:00+00:00,EUR_USD,M15,FLAT,1.17268,0.0,100161.84,0.000183
|
||||
2025-07-08 12:45:00+00:00,EUR_USD,M15,BUY,1.1721,2504.05,100161.84,0.000183
|
||||
2025-07-08 13:15:00+00:00,EUR_USD,M15,FLAT,1.17008,0.0,100157.52,0.000226
|
||||
2025-07-08 13:30:00+00:00,EUR_USD,M15,BUY,1.1703,2503.94,100157.52,0.000226
|
||||
2025-07-08 17:15:00+00:00,EUR_USD,M15,FLAT,1.17172,0.0,100160.56,0.000195
|
||||
2025-07-10 01:00:00+00:00,EUR_USD,M15,BUY,1.17392,2504.01,100160.56,0.000195
|
||||
2025-07-10 12:30:00+00:00,EUR_USD,M15,FLAT,1.17041,0.0,100153.07,0.00027
|
||||
2025-07-10 13:00:00+00:00,EUR_USD,M15,BUY,1.171,2503.83,100153.07,0.00027
|
||||
2025-07-10 13:30:00+00:00,EUR_USD,M15,FLAT,1.16991,0.0,100150.74,0.000293
|
||||
2025-07-10 14:45:00+00:00,EUR_USD,M15,BUY,1.168,2503.77,100150.74,0.000293
|
||||
2025-07-10 15:00:00+00:00,EUR_USD,M15,FLAT,1.16825,0.0,100151.27,0.000288
|
||||
2025-07-11 17:15:00+00:00,EUR_USD,M15,BUY,1.16912,2503.78,100151.27,0.000288
|
||||
2025-07-14 03:15:00+00:00,EUR_USD,M15,FLAT,1.16792,0.0,100148.71,0.000314
|
||||
2025-07-14 19:00:00+00:00,EUR_USD,M15,BUY,1.16698,2503.72,100148.71,0.000314
|
||||
2025-07-14 21:00:00+00:00,EUR_USD,M15,FLAT,1.1663,0.0,100147.25,0.000328
|
||||
2025-07-15 10:15:00+00:00,EUR_USD,M15,BUY,1.16797,2503.68,100147.25,0.000328
|
||||
2025-07-15 14:15:00+00:00,EUR_USD,M15,FLAT,1.1622,0.0,100134.86,0.000452
|
||||
2025-07-16 12:45:00+00:00,EUR_USD,M15,BUY,1.15986,2503.37,100134.86,0.000452
|
||||
2025-07-17 08:45:00+00:00,EUR_USD,M15,FLAT,1.16016,0.0,100135.62,0.000444
|
||||
2025-07-18 02:15:00+00:00,EUR_USD,M15,BUY,1.16287,2503.39,100135.62,0.000444
|
||||
2025-07-18 05:15:00+00:00,EUR_USD,M15,FLAT,1.16152,0.0,100132.71,0.000473
|
||||
2025-07-18 05:30:00+00:00,EUR_USD,M15,BUY,1.16174,2503.32,100132.71,0.000473
|
||||
2025-07-18 06:15:00+00:00,EUR_USD,M15,FLAT,1.16148,0.0,100132.15,0.000479
|
||||
2025-07-18 06:30:00+00:00,EUR_USD,M15,BUY,1.16192,2503.3,100132.15,0.000479
|
||||
2025-07-18 08:30:00+00:00,EUR_USD,M15,FLAT,1.16412,0.0,100136.88,0.000432
|
||||
2025-07-18 08:45:00+00:00,EUR_USD,M15,BUY,1.16355,2503.42,100136.88,0.000432
|
||||
2025-07-18 17:15:00+00:00,EUR_USD,M15,FLAT,1.16236,0.0,100134.33,0.000457
|
||||
2025-07-18 17:45:00+00:00,EUR_USD,M15,BUY,1.1627,2503.36,100134.33,0.000457
|
||||
2025-07-18 18:45:00+00:00,EUR_USD,M15,FLAT,1.16217,0.0,100133.19,0.000469
|
||||
2025-07-18 19:30:00+00:00,EUR_USD,M15,BUY,1.1619,2503.33,100133.19,0.000469
|
||||
2025-07-21 01:45:00+00:00,EUR_USD,M15,FLAT,1.16174,0.0,100132.85,0.000472
|
||||
2025-07-21 12:15:00+00:00,EUR_USD,M15,BUY,1.16666,2503.32,100132.85,0.000472
|
||||
2025-07-21 13:30:00+00:00,EUR_USD,M15,FLAT,1.16638,0.0,100132.25,0.000478
|
||||
2025-07-21 15:30:00+00:00,EUR_USD,M15,BUY,1.17075,2503.31,100132.25,0.000478
|
||||
2025-07-22 15:45:00+00:00,EUR_USD,M15,FLAT,1.1748,0.0,100140.91,0.000391
|
||||
2025-07-22 17:15:00+00:00,EUR_USD,M15,BUY,1.1747,2503.52,100140.91,0.000391
|
||||
2025-07-22 17:30:00+00:00,EUR_USD,M15,FLAT,1.17454,0.0,100140.57,0.000395
|
||||
2025-07-22 18:00:00+00:00,EUR_USD,M15,BUY,1.17434,2503.51,100140.57,0.000395
|
||||
2025-07-23 12:45:00+00:00,EUR_USD,M15,FLAT,1.1725,0.0,100136.65,0.000434
|
||||
2025-07-23 20:30:00+00:00,EUR_USD,M15,BUY,1.17715,2503.42,100136.65,0.000434
|
||||
2025-07-24 15:00:00+00:00,EUR_USD,M15,FLAT,1.17584,0.0,100133.89,0.000462
|
||||
2025-07-28 01:00:00+00:00,EUR_USD,M15,BUY,1.17653,2503.35,100133.89,0.000462
|
||||
2025-07-28 06:15:00+00:00,EUR_USD,M15,FLAT,1.17181,0.0,100123.83,0.000562
|
||||
2025-07-30 05:30:00+00:00,EUR_USD,M15,BUY,1.15566,2503.1,100123.83,0.000562
|
||||
2025-07-30 10:30:00+00:00,EUR_USD,M15,FLAT,1.15394,0.0,100120.1,0.000599
|
||||
2025-07-30 11:45:00+00:00,EUR_USD,M15,BUY,1.15312,2503.0,100120.1,0.000599
|
||||
2025-07-30 12:00:00+00:00,EUR_USD,M15,FLAT,1.15212,0.0,100117.93,0.000621
|
||||
2025-07-31 16:15:00+00:00,EUR_USD,M15,BUY,1.14252,2502.95,100117.93,0.000621
|
||||
2025-07-31 21:00:00+00:00,EUR_USD,M15,FLAT,1.14177,0.0,100116.29,0.000637
|
||||
2025-08-01 15:15:00+00:00,EUR_USD,M15,BUY,1.15372,2502.91,100116.29,0.000637
|
||||
2025-08-01 15:45:00+00:00,EUR_USD,M15,FLAT,1.15544,0.0,100120.03,0.0006
|
||||
2025-08-01 16:00:00+00:00,EUR_USD,M15,BUY,1.15574,2503.0,100120.03,0.0006
|
||||
2025-08-04 00:30:00+00:00,EUR_USD,M15,FLAT,1.15616,0.0,100120.97,0.000591
|
||||
2025-08-04 01:30:00+00:00,EUR_USD,M15,BUY,1.15626,2503.02,100120.97,0.000591
|
||||
2025-08-04 18:15:00+00:00,EUR_USD,M15,FLAT,1.15722,0.0,100123.07,0.00057
|
||||
2025-08-04 22:30:00+00:00,EUR_USD,M15,BUY,1.1579,2503.08,100123.07,0.00057
|
||||
2025-08-05 02:15:00+00:00,EUR_USD,M15,FLAT,1.15597,0.0,100118.9,0.000611
|
||||
2025-08-05 21:45:00+00:00,EUR_USD,M15,BUY,1.15742,2502.97,100118.9,0.000611
|
||||
2025-08-07 05:45:00+00:00,EUR_USD,M15,FLAT,1.16752,0.0,100140.67,0.000394
|
||||
2025-08-07 06:00:00+00:00,EUR_USD,M15,BUY,1.16684,2503.52,100140.67,0.000394
|
||||
2025-08-07 11:30:00+00:00,EUR_USD,M15,FLAT,1.16406,0.0,100134.7,0.000453
|
||||
2025-08-07 11:45:00+00:00,EUR_USD,M15,BUY,1.16446,2503.37,100134.7,0.000453
|
||||
2025-08-07 12:00:00+00:00,EUR_USD,M15,FLAT,1.16398,0.0,100133.67,0.000464
|
||||
2025-08-07 12:15:00+00:00,EUR_USD,M15,BUY,1.16476,2503.34,100133.67,0.000464
|
||||
2025-08-07 17:15:00+00:00,EUR_USD,M15,FLAT,1.16367,0.0,100131.33,0.000487
|
||||
2025-08-08 06:00:00+00:00,EUR_USD,M15,BUY,1.16466,2503.28,100131.33,0.000487
|
||||
2025-08-08 13:30:00+00:00,EUR_USD,M15,FLAT,1.16488,0.0,100131.81,0.000482
|
||||
2025-08-11 01:15:00+00:00,EUR_USD,M15,BUY,1.1651,2503.3,100131.81,0.000482
|
||||
2025-08-11 02:00:00+00:00,EUR_USD,M15,FLAT,1.16654,0.0,100134.91,0.000451
|
||||
2025-08-11 02:30:00+00:00,EUR_USD,M15,BUY,1.16661,2503.37,100134.91,0.000451
|
||||
2025-08-11 03:15:00+00:00,EUR_USD,M15,FLAT,1.16718,0.0,100136.13,0.000439
|
||||
2025-08-11 05:15:00+00:00,EUR_USD,M15,BUY,1.167,2503.4,100136.13,0.000439
|
||||
2025-08-11 07:00:00+00:00,EUR_USD,M15,FLAT,1.16588,0.0,100133.73,0.000463
|
||||
2025-08-11 08:15:00+00:00,EUR_USD,M15,BUY,1.16552,2503.34,100133.73,0.000463
|
||||
2025-08-11 11:45:00+00:00,EUR_USD,M15,FLAT,1.16287,0.0,100128.03,0.00052
|
||||
2025-08-11 12:30:00+00:00,EUR_USD,M15,BUY,1.16188,2503.2,100128.03,0.00052
|
||||
2025-08-11 14:00:00+00:00,EUR_USD,M15,FLAT,1.16066,0.0,100125.4,0.000546
|
||||
2025-08-12 10:15:00+00:00,EUR_USD,M15,BUY,1.16092,2503.14,100125.4,0.000546
|
||||
2025-08-13 08:00:00+00:00,EUR_USD,M15,FLAT,1.17128,0.0,100147.69,0.000324
|
||||
2025-08-13 10:15:00+00:00,EUR_USD,M15,BUY,1.17218,2503.69,100147.69,0.000324
|
||||
2025-08-14 01:00:00+00:00,EUR_USD,M15,FLAT,1.17137,0.0,100145.97,0.000341
|
||||
2025-08-14 01:30:00+00:00,EUR_USD,M15,BUY,1.17112,2503.65,100145.97,0.000341
|
||||
2025-08-14 04:45:00+00:00,EUR_USD,M15,FLAT,1.17039,0.0,100144.41,0.000357
|
||||
2025-08-15 09:00:00+00:00,EUR_USD,M15,BUY,1.16866,2503.61,100144.41,0.000357
|
||||
2025-08-15 09:45:00+00:00,EUR_USD,M15,FLAT,1.16877,0.0,100144.64,0.000354
|
||||
2025-08-15 10:00:00+00:00,EUR_USD,M15,BUY,1.16884,2503.62,100144.64,0.000354
|
||||
2025-08-18 08:00:00+00:00,EUR_USD,M15,FLAT,1.16726,0.0,100141.27,0.000388
|
||||
2025-08-18 08:15:00+00:00,EUR_USD,M15,BUY,1.16851,2503.53,100141.27,0.000388
|
||||
2025-08-18 10:00:00+00:00,EUR_USD,M15,FLAT,1.16801,0.0,100140.2,0.000399
|
||||
2025-08-19 12:15:00+00:00,EUR_USD,M15,BUY,1.16814,2503.5,100140.2,0.000399
|
||||
2025-08-19 18:30:00+00:00,EUR_USD,M15,FLAT,1.16427,0.0,100131.89,0.000481
|
||||
2025-08-19 18:45:00+00:00,EUR_USD,M15,BUY,1.16473,2503.3,100131.89,0.000481
|
||||
2025-08-19 22:00:00+00:00,EUR_USD,M15,FLAT,1.16486,0.0,100132.17,0.000479
|
||||
2025-08-20 15:45:00+00:00,EUR_USD,M15,BUY,1.16481,2503.3,100132.17,0.000479
|
||||
2025-08-21 06:15:00+00:00,EUR_USD,M15,FLAT,1.16345,0.0,100129.26,0.000508
|
||||
2025-08-22 17:45:00+00:00,EUR_USD,M15,BUY,1.17369,2503.23,100129.26,0.000508
|
||||
2025-08-25 00:00:00+00:00,EUR_USD,M15,FLAT,1.17022,0.0,100121.85,0.000582
|
||||
2025-08-25 02:45:00+00:00,EUR_USD,M15,BUY,1.1697,2503.05,100121.85,0.000582
|
||||
2025-08-25 09:45:00+00:00,EUR_USD,M15,FLAT,1.16932,0.0,100121.04,0.00059
|
||||
2025-08-25 10:45:00+00:00,EUR_USD,M15,BUY,1.16878,2503.03,100121.04,0.00059
|
||||
2025-08-25 13:00:00+00:00,EUR_USD,M15,FLAT,1.16988,0.0,100123.39,0.000566
|
||||
2025-08-26 15:30:00+00:00,EUR_USD,M15,BUY,1.16544,2503.08,100123.39,0.000566
|
||||
2025-08-27 02:00:00+00:00,EUR_USD,M15,FLAT,1.16264,0.0,100117.38,0.000626
|
||||
2025-08-27 02:30:00+00:00,EUR_USD,M15,BUY,1.16284,2502.93,100117.38,0.000626
|
||||
2025-08-27 04:15:00+00:00,EUR_USD,M15,FLAT,1.16176,0.0,100115.05,0.00065
|
||||
2025-08-28 00:00:00+00:00,EUR_USD,M15,BUY,1.16428,2502.88,100115.05,0.00065
|
||||
2025-08-28 05:30:00+00:00,EUR_USD,M15,FLAT,1.16367,0.0,100113.74,0.000663
|
||||
2025-08-28 06:00:00+00:00,EUR_USD,M15,BUY,1.16421,2502.84,100113.74,0.000663
|
||||
2025-08-28 20:30:00+00:00,EUR_USD,M15,FLAT,1.16796,0.0,100121.81,0.000582
|
||||
2025-08-28 20:45:00+00:00,EUR_USD,M15,BUY,1.16825,2503.05,100121.81,0.000582
|
||||
2025-08-29 03:00:00+00:00,EUR_USD,M15,FLAT,1.16606,0.0,100117.11,0.000629
|
||||
2025-08-29 03:15:00+00:00,EUR_USD,M15,BUY,1.16618,2502.93,100117.11,0.000629
|
||||
2025-08-29 08:45:00+00:00,EUR_USD,M15,FLAT,1.16758,0.0,100120.12,0.000599
|
||||
2025-08-29 17:15:00+00:00,EUR_USD,M15,BUY,1.16986,2503.0,100120.12,0.000599
|
||||
2025-09-01 02:45:00+00:00,EUR_USD,M15,FLAT,1.17119,0.0,100122.97,0.000571
|
||||
2025-09-01 03:15:00+00:00,EUR_USD,M15,BUY,1.17087,2503.07,100122.97,0.000571
|
||||
2025-09-01 19:15:00+00:00,EUR_USD,M15,FLAT,1.17106,0.0,100123.38,0.000566
|
||||
2025-09-01 21:00:00+00:00,EUR_USD,M15,BUY,1.17092,2503.08,100123.38,0.000566
|
||||
2025-09-01 23:15:00+00:00,EUR_USD,M15,FLAT,1.17134,0.0,100124.28,0.000558
|
||||
2025-09-03 14:45:00+00:00,EUR_USD,M15,BUY,1.16637,2503.11,100124.28,0.000558
|
||||
2025-09-04 08:00:00+00:00,EUR_USD,M15,FLAT,1.16518,0.0,100121.73,0.000583
|
||||
2025-09-05 03:00:00+00:00,EUR_USD,M15,BUY,1.16688,2503.04,100121.73,0.000583
|
||||
2025-09-05 13:00:00+00:00,EUR_USD,M15,FLAT,1.17327,0.0,100135.42,0.000446
|
||||
2025-09-05 13:15:00+00:00,EUR_USD,M15,BUY,1.17208,2503.39,100135.42,0.000446
|
||||
2025-09-05 19:15:00+00:00,EUR_USD,M15,FLAT,1.1719,0.0,100135.04,0.00045
|
||||
2025-09-05 20:00:00+00:00,EUR_USD,M15,BUY,1.17185,2503.38,100135.04,0.00045
|
||||
2025-09-08 08:45:00+00:00,EUR_USD,M15,FLAT,1.17314,0.0,100137.8,0.000423
|
||||
2025-09-08 14:00:00+00:00,EUR_USD,M15,BUY,1.17454,2503.45,100137.8,0.000423
|
||||
2025-09-09 12:30:00+00:00,EUR_USD,M15,FLAT,1.17302,0.0,100134.57,0.000455
|
||||
2025-09-09 12:45:00+00:00,EUR_USD,M15,BUY,1.17376,2503.36,100134.57,0.000455
|
||||
2025-09-09 14:45:00+00:00,EUR_USD,M15,FLAT,1.17308,0.0,100133.12,0.000469
|
||||
2025-09-10 16:00:00+00:00,EUR_USD,M15,BUY,1.171,2503.33,100133.12,0.000469
|
||||
2025-09-11 02:00:00+00:00,EUR_USD,M15,FLAT,1.16986,0.0,100130.69,0.000494
|
||||
2025-09-11 16:00:00+00:00,EUR_USD,M15,BUY,1.17387,2503.27,100130.69,0.000494
|
||||
2025-09-12 12:00:00+00:00,EUR_USD,M15,FLAT,1.17162,0.0,100125.89,0.000541
|
||||
2025-09-15 01:00:00+00:00,EUR_USD,M15,BUY,1.17256,2503.15,100125.89,0.000541
|
||||
2025-09-15 10:15:00+00:00,EUR_USD,M15,FLAT,1.17595,0.0,100133.12,0.000469
|
||||
2025-09-15 10:30:00+00:00,EUR_USD,M15,BUY,1.17552,2503.33,100133.12,0.000469
|
||||
2025-09-15 12:00:00+00:00,EUR_USD,M15,FLAT,1.17662,0.0,100135.46,0.000446
|
||||
2025-09-15 12:15:00+00:00,EUR_USD,M15,BUY,1.17636,2503.39,100135.46,0.000446
|
||||
2025-09-16 16:30:00+00:00,EUR_USD,M15,FLAT,1.18698,0.0,100157.99,0.000221
|
||||
2025-09-16 16:45:00+00:00,EUR_USD,M15,BUY,1.18645,2503.95,100157.99,0.000221
|
||||
2025-09-17 02:30:00+00:00,EUR_USD,M15,FLAT,1.18538,0.0,100155.73,0.000244
|
||||
2025-09-17 03:00:00+00:00,EUR_USD,M15,BUY,1.18565,2503.89,100155.73,0.000244
|
||||
2025-09-17 03:15:00+00:00,EUR_USD,M15,FLAT,1.18556,0.0,100155.54,0.000245
|
||||
2025-09-17 04:00:00+00:00,EUR_USD,M15,BUY,1.18522,2503.89,100155.54,0.000245
|
||||
2025-09-17 12:15:00+00:00,EUR_USD,M15,FLAT,1.18344,0.0,100151.78,0.000283
|
||||
2025-09-22 12:00:00+00:00,EUR_USD,M15,BUY,1.17826,2503.79,100151.78,0.000283
|
||||
2025-09-22 17:45:00+00:00,EUR_USD,M15,FLAT,1.17966,0.0,100154.76,0.000253
|
||||
2025-09-22 18:00:00+00:00,EUR_USD,M15,BUY,1.17938,2503.87,100154.76,0.000253
|
||||
2025-09-22 18:30:00+00:00,EUR_USD,M15,FLAT,1.17924,0.0,100154.46,0.000256
|
||||
2025-09-22 18:45:00+00:00,EUR_USD,M15,BUY,1.17964,2503.86,100154.46,0.000256
|
||||
2025-09-22 19:15:00+00:00,EUR_USD,M15,FLAT,1.17992,0.0,100155.06,0.00025
|
||||
2025-09-22 19:30:00+00:00,EUR_USD,M15,BUY,1.17987,2503.88,100155.06,0.00025
|
||||
2025-09-23 15:45:00+00:00,EUR_USD,M15,FLAT,1.17984,0.0,100155.0,0.000251
|
||||
2025-09-23 20:00:00+00:00,EUR_USD,M15,BUY,1.18156,2503.88,100155.0,0.000251
|
||||
2025-09-24 08:15:00+00:00,EUR_USD,M15,FLAT,1.1771,0.0,100145.54,0.000345
|
||||
2025-09-25 09:30:00+00:00,EUR_USD,M15,BUY,1.17436,2503.64,100145.54,0.000345
|
||||
2025-09-25 13:30:00+00:00,EUR_USD,M15,FLAT,1.16939,0.0,100134.94,0.000451
|
||||
2025-09-26 12:30:00+00:00,EUR_USD,M15,BUY,1.16778,2503.37,100134.94,0.000451
|
||||
2025-09-29 00:00:00+00:00,EUR_USD,M15,FLAT,1.17178,0.0,100143.51,0.000366
|
||||
2025-09-29 01:00:00+00:00,EUR_USD,M15,BUY,1.1715,2503.59,100143.51,0.000366
|
||||
2025-09-29 03:15:00+00:00,EUR_USD,M15,FLAT,1.17288,0.0,100146.45,0.000336
|
||||
2025-09-29 03:30:00+00:00,EUR_USD,M15,BUY,1.17282,2503.66,100146.45,0.000336
|
||||
2025-09-29 04:30:00+00:00,EUR_USD,M15,FLAT,1.17274,0.0,100146.28,0.000338
|
||||
2025-09-29 04:45:00+00:00,EUR_USD,M15,BUY,1.17271,2503.66,100146.28,0.000338
|
||||
2025-09-30 02:45:00+00:00,EUR_USD,M15,FLAT,1.17224,0.0,100145.29,0.000348
|
||||
2025-09-30 06:30:00+00:00,EUR_USD,M15,BUY,1.17427,2503.63,100145.29,0.000348
|
||||
2025-09-30 20:15:00+00:00,EUR_USD,M15,FLAT,1.17352,0.0,100143.71,0.000364
|
||||
2025-09-30 20:30:00+00:00,EUR_USD,M15,BUY,1.17348,2503.59,100143.71,0.000364
|
||||
2025-09-30 20:45:00+00:00,EUR_USD,M15,FLAT,1.17336,0.0,100143.45,0.000366
|
||||
2025-09-30 21:00:00+00:00,EUR_USD,M15,BUY,1.17358,2503.59,100143.45,0.000366
|
||||
2025-10-01 05:15:00+00:00,EUR_USD,M15,FLAT,1.17602,0.0,100148.66,0.000314
|
||||
2025-10-01 08:00:00+00:00,EUR_USD,M15,BUY,1.17528,2503.72,100148.66,0.000314
|
||||
2025-10-01 19:00:00+00:00,EUR_USD,M15,FLAT,1.17346,0.0,100144.8,0.000353
|
||||
2025-10-02 09:00:00+00:00,EUR_USD,M15,BUY,1.17566,2503.62,100144.8,0.000353
|
||||
2025-10-02 15:00:00+00:00,EUR_USD,M15,FLAT,1.17,0.0,100132.72,0.000473
|
||||
2025-10-02 16:00:00+00:00,EUR_USD,M15,BUY,1.1703,2503.32,100132.72,0.000473
|
||||
2025-10-02 18:30:00+00:00,EUR_USD,M15,FLAT,1.17182,0.0,100135.97,0.000441
|
||||
2025-10-03 10:15:00+00:00,EUR_USD,M15,BUY,1.1736,2503.4,100135.97,0.000441
|
||||
2025-10-06 00:15:00+00:00,EUR_USD,M15,FLAT,1.17121,0.0,100130.88,0.000492
|
||||
2025-10-06 00:30:00+00:00,EUR_USD,M15,BUY,1.17111,2503.27,100130.88,0.000492
|
||||
2025-10-06 02:45:00+00:00,EUR_USD,M15,FLAT,1.17271,0.0,100134.3,0.000457
|
||||
2025-10-06 23:15:00+00:00,EUR_USD,M15,BUY,1.17094,2503.36,100134.3,0.000457
|
||||
2025-10-07 07:00:00+00:00,EUR_USD,M15,FLAT,1.16813,0.0,100128.29,0.000518
|
||||
2025-10-07 08:00:00+00:00,EUR_USD,M15,BUY,1.16812,2503.21,100128.29,0.000518
|
||||
2025-10-07 09:45:00+00:00,EUR_USD,M15,FLAT,1.16666,0.0,100125.16,0.000549
|
||||
2025-10-09 01:15:00+00:00,EUR_USD,M15,BUY,1.16449,2503.13,100125.16,0.000549
|
||||
2025-10-09 06:45:00+00:00,EUR_USD,M15,FLAT,1.16158,0.0,100118.9,0.000611
|
||||
2025-10-09 09:15:00+00:00,EUR_USD,M15,BUY,1.16216,2502.97,100118.9,0.000611
|
||||
2025-10-09 14:15:00+00:00,EUR_USD,M15,FLAT,1.15802,0.0,100109.97,0.0007
|
||||
2025-10-10 12:30:00+00:00,EUR_USD,M15,BUY,1.15734,2502.75,100109.97,0.0007
|
||||
2025-10-10 15:15:00+00:00,EUR_USD,M15,FLAT,1.16273,0.0,100121.62,0.000584
|
||||
2025-10-10 15:30:00+00:00,EUR_USD,M15,BUY,1.16148,2503.04,100121.62,0.000584
|
||||
2025-10-13 13:30:00+00:00,EUR_USD,M15,FLAT,1.15692,0.0,100111.8,0.000682
|
||||
2025-10-14 16:45:00+00:00,EUR_USD,M15,BUY,1.16095,2502.79,100111.8,0.000682
|
||||
2025-10-15 22:15:00+00:00,EUR_USD,M15,FLAT,1.16478,0.0,100120.05,0.0006
|
||||
2025-10-15 22:45:00+00:00,EUR_USD,M15,BUY,1.16466,2503.0,100120.05,0.0006
|
||||
2025-10-16 00:30:00+00:00,EUR_USD,M15,FLAT,1.16649,0.0,100123.98,0.00056
|
||||
2025-10-16 00:45:00+00:00,EUR_USD,M15,BUY,1.16632,2503.1,100123.98,0.00056
|
||||
2025-10-16 01:00:00+00:00,EUR_USD,M15,FLAT,1.16634,0.0,100124.03,0.00056
|
||||
2025-10-16 02:30:00+00:00,EUR_USD,M15,BUY,1.16645,2503.1,100124.03,0.00056
|
||||
2025-10-16 05:00:00+00:00,EUR_USD,M15,FLAT,1.16554,0.0,100122.07,0.00058
|
||||
2025-10-16 05:30:00+00:00,EUR_USD,M15,BUY,1.16578,2503.05,100122.07,0.00058
|
||||
2025-10-16 23:15:00+00:00,EUR_USD,M15,FLAT,1.16972,0.0,100130.53,0.000495
|
||||
2025-10-17 01:30:00+00:00,EUR_USD,M15,BUY,1.17023,2503.26,100130.53,0.000495
|
||||
2025-10-17 11:15:00+00:00,EUR_USD,M15,FLAT,1.16854,0.0,100126.92,0.000531
|
||||
2025-10-17 11:30:00+00:00,EUR_USD,M15,BUY,1.16862,2503.17,100126.92,0.000531
|
||||
2025-10-17 12:15:00+00:00,EUR_USD,M15,FLAT,1.16724,0.0,100123.96,0.000561
|
||||
2025-10-17 13:00:00+00:00,EUR_USD,M15,BUY,1.16774,2503.1,100123.96,0.000561
|
||||
2025-10-17 14:00:00+00:00,EUR_USD,M15,FLAT,1.16577,0.0,100119.73,0.000603
|
||||
2025-10-17 14:15:00+00:00,EUR_USD,M15,BUY,1.16664,2502.99,100119.73,0.000603
|
||||
2025-10-17 16:15:00+00:00,EUR_USD,M15,FLAT,1.1678,0.0,100122.22,0.000578
|
||||
2025-10-22 22:45:00+00:00,EUR_USD,M15,BUY,1.16123,2503.06,100122.22,0.000578
|
||||
2025-10-23 01:45:00+00:00,EUR_USD,M15,FLAT,1.15979,0.0,100119.12,0.000609
|
||||
2025-10-23 02:30:00+00:00,EUR_USD,M15,BUY,1.15957,2502.98,100119.12,0.000609
|
||||
2025-10-23 09:15:00+00:00,EUR_USD,M15,FLAT,1.15994,0.0,100119.92,0.000601
|
||||
2025-10-23 19:30:00+00:00,EUR_USD,M15,BUY,1.16177,2503.0,100119.92,0.000601
|
||||
2025-10-24 04:00:00+00:00,EUR_USD,M15,FLAT,1.16076,0.0,100117.74,0.000623
|
||||
2025-10-24 04:15:00+00:00,EUR_USD,M15,BUY,1.16063,2502.94,100117.74,0.000623
|
||||
2025-10-24 12:15:00+00:00,EUR_USD,M15,FLAT,1.16128,0.0,100119.15,0.000609
|
||||
2025-10-24 15:00:00+00:00,EUR_USD,M15,BUY,1.16307,2502.98,100119.15,0.000609
|
||||
2025-10-24 20:00:00+00:00,EUR_USD,M15,FLAT,1.1635,0.0,100120.07,0.000599
|
||||
2025-10-24 20:15:00+00:00,EUR_USD,M15,BUY,1.16328,2503.0,100120.07,0.000599
|
||||
2025-10-27 04:30:00+00:00,EUR_USD,M15,FLAT,1.1622,0.0,100117.75,0.000623
|
||||
2025-10-27 05:30:00+00:00,EUR_USD,M15,BUY,1.16244,2502.94,100117.75,0.000623
|
||||
2025-10-28 00:15:00+00:00,EUR_USD,M15,FLAT,1.16567,0.0,100124.7,0.000553
|
||||
2025-10-28 00:45:00+00:00,EUR_USD,M15,BUY,1.16558,2503.12,100124.7,0.000553
|
||||
2025-10-28 01:00:00+00:00,EUR_USD,M15,FLAT,1.16615,0.0,100125.93,0.000541
|
||||
2025-10-28 01:15:00+00:00,EUR_USD,M15,BUY,1.1656,2503.15,100125.93,0.000541
|
||||
2025-10-28 16:45:00+00:00,EUR_USD,M15,FLAT,1.16678,0.0,100128.47,0.000516
|
||||
2025-10-28 17:00:00+00:00,EUR_USD,M15,BUY,1.16618,2503.21,100128.47,0.000516
|
||||
2025-10-28 20:45:00+00:00,EUR_USD,M15,FLAT,1.16522,0.0,100126.41,0.000536
|
||||
2025-10-29 02:30:00+00:00,EUR_USD,M15,BUY,1.16432,2503.16,100126.41,0.000536
|
||||
2025-10-29 02:45:00+00:00,EUR_USD,M15,FLAT,1.16465,0.0,100127.12,0.000529
|
||||
2025-11-05 10:45:00+00:00,EUR_USD,M15,BUY,1.14834,2503.18,100127.12,0.000529
|
||||
2025-11-05 17:45:00+00:00,EUR_USD,M15,FLAT,1.14805,0.0,100126.5,0.000535
|
||||
2025-11-06 02:30:00+00:00,EUR_USD,M15,BUY,1.15042,2503.16,100126.5,0.000535
|
||||
2025-11-07 11:00:00+00:00,EUR_USD,M15,FLAT,1.15509,0.0,100136.65,0.000434
|
||||
2025-11-07 12:45:00+00:00,EUR_USD,M15,BUY,1.15559,2503.42,100136.65,0.000434
|
||||
2025-11-07 13:15:00+00:00,EUR_USD,M15,FLAT,1.15674,0.0,100139.14,0.000409
|
||||
2025-11-07 13:30:00+00:00,EUR_USD,M15,BUY,1.15679,2503.48,100139.14,0.000409
|
||||
2025-11-10 07:15:00+00:00,EUR_USD,M15,FLAT,1.15609,0.0,100137.63,0.000424
|
||||
2025-11-10 16:00:00+00:00,EUR_USD,M15,BUY,1.15521,2503.44,100137.63,0.000424
|
||||
2025-11-10 20:15:00+00:00,EUR_USD,M15,FLAT,1.15629,0.0,100139.97,0.000401
|
||||
2025-11-10 21:00:00+00:00,EUR_USD,M15,BUY,1.15625,2503.5,100139.97,0.000401
|
||||
2025-11-10 23:15:00+00:00,EUR_USD,M15,FLAT,1.15572,0.0,100138.83,0.000412
|
||||
2025-11-10 23:30:00+00:00,EUR_USD,M15,BUY,1.1559,2503.47,100138.83,0.000412
|
||||
2025-11-10 23:45:00+00:00,EUR_USD,M15,FLAT,1.15569,0.0,100138.37,0.000417
|
||||
2025-11-11 12:15:00+00:00,EUR_USD,M15,BUY,1.15724,2503.46,100138.37,0.000417
|
||||
2025-11-11 13:30:00+00:00,EUR_USD,M15,FLAT,1.16008,0.0,100144.51,0.000356
|
||||
2025-11-11 13:45:00+00:00,EUR_USD,M15,BUY,1.1601,2503.61,100144.51,0.000356
|
||||
2025-11-12 07:45:00+00:00,EUR_USD,M15,FLAT,1.15837,0.0,100140.78,0.000393
|
||||
2025-11-12 21:00:00+00:00,EUR_USD,M15,BUY,1.15861,2503.52,100140.78,0.000393
|
||||
2025-11-13 08:00:00+00:00,EUR_USD,M15,FLAT,1.1619,0.0,100147.88,0.000322
|
||||
2025-11-13 08:15:00+00:00,EUR_USD,M15,BUY,1.16136,2503.7,100147.88,0.000322
|
||||
2025-11-13 08:45:00+00:00,EUR_USD,M15,FLAT,1.16282,0.0,100151.03,0.00029
|
||||
2025-11-13 09:30:00+00:00,EUR_USD,M15,BUY,1.16135,2503.78,100151.03,0.00029
|
||||
2025-11-13 16:45:00+00:00,EUR_USD,M15,FLAT,1.16488,0.0,100158.63,0.000215
|
||||
2025-11-13 18:00:00+00:00,EUR_USD,M15,BUY,1.16481,2503.97,100158.63,0.000215
|
||||
2025-11-13 20:45:00+00:00,EUR_USD,M15,FLAT,1.1633,0.0,100155.39,0.000247
|
||||
2025-11-13 21:00:00+00:00,EUR_USD,M15,BUY,1.1633,2503.88,100155.39,0.000247
|
||||
2025-11-14 11:00:00+00:00,EUR_USD,M15,FLAT,1.16112,0.0,100150.7,0.000294
|
||||
2025-11-14 11:15:00+00:00,EUR_USD,M15,BUY,1.16108,2503.77,100150.7,0.000294
|
||||
2025-11-14 11:45:00+00:00,EUR_USD,M15,FLAT,1.16195,0.0,100152.57,0.000275
|
||||
2025-11-18 13:15:00+00:00,EUR_USD,M15,BUY,1.1598,2503.81,100152.57,0.000275
|
||||
2025-11-18 17:00:00+00:00,EUR_USD,M15,FLAT,1.15777,0.0,100148.19,0.000319
|
||||
2025-11-20 19:30:00+00:00,EUR_USD,M15,BUY,1.15366,2503.7,100148.19,0.000319
|
||||
2025-11-21 11:45:00+00:00,EUR_USD,M15,FLAT,1.1506,0.0,100141.55,0.000385
|
||||
2025-11-21 12:30:00+00:00,EUR_USD,M15,BUY,1.15178,2503.54,100141.55,0.000385
|
||||
2025-11-21 14:00:00+00:00,EUR_USD,M15,FLAT,1.15126,0.0,100140.42,0.000396
|
||||
2025-11-24 08:45:00+00:00,EUR_USD,M15,BUY,1.15278,2503.51,100140.42,0.000396
|
||||
2025-11-24 16:15:00+00:00,EUR_USD,M15,FLAT,1.15209,0.0,100138.92,0.000411
|
||||
2025-11-24 16:30:00+00:00,EUR_USD,M15,BUY,1.15244,2503.47,100138.92,0.000411
|
||||
2025-11-25 01:15:00+00:00,EUR_USD,M15,FLAT,1.1527,0.0,100139.49,0.000406
|
||||
2025-11-25 13:00:00+00:00,EUR_USD,M15,BUY,1.15494,2503.49,100139.49,0.000406
|
||||
2025-11-25 15:00:00+00:00,EUR_USD,M15,FLAT,1.15707,0.0,100144.11,0.00036
|
||||
2025-11-25 15:30:00+00:00,EUR_USD,M15,BUY,1.15726,2503.6,100144.11,0.00036
|
||||
2025-11-27 00:15:00+00:00,EUR_USD,M15,FLAT,1.16032,0.0,100150.74,0.000293
|
||||
2025-11-27 00:30:00+00:00,EUR_USD,M15,BUY,1.16023,2503.77,100150.74,0.000293
|
||||
2025-11-27 01:00:00+00:00,EUR_USD,M15,FLAT,1.16059,0.0,100151.52,0.000286
|
||||
2025-11-27 02:45:00+00:00,EUR_USD,M15,BUY,1.16038,2503.79,100151.52,0.000286
|
||||
2025-11-27 14:30:00+00:00,EUR_USD,M15,FLAT,1.15924,0.0,100149.06,0.00031
|
||||
2025-11-28 01:00:00+00:00,EUR_USD,M15,BUY,1.15972,2503.73,100149.06,0.00031
|
||||
2025-11-28 08:30:00+00:00,EUR_USD,M15,FLAT,1.15727,0.0,100143.77,0.000363
|
||||
2025-11-30 22:45:00+00:00,EUR_USD,M15,BUY,1.15991,2503.59,100143.77,0.000363
|
||||
2025-12-01 12:45:00+00:00,EUR_USD,M15,FLAT,1.16488,0.0,100154.48,0.000256
|
||||
2025-12-01 13:00:00+00:00,EUR_USD,M15,BUY,1.16444,2503.86,100154.48,0.000256
|
||||
2025-12-01 17:00:00+00:00,EUR_USD,M15,FLAT,1.16212,0.0,100149.49,0.000306
|
||||
2025-12-01 17:15:00+00:00,EUR_USD,M15,BUY,1.16267,2503.74,100149.49,0.000306
|
||||
2025-12-01 20:45:00+00:00,EUR_USD,M15,FLAT,1.16096,0.0,100145.81,0.000343
|
||||
2025-12-01 21:00:00+00:00,EUR_USD,M15,BUY,1.16108,2503.65,100145.81,0.000343
|
||||
2025-12-02 03:00:00+00:00,EUR_USD,M15,FLAT,1.161,0.0,100145.63,0.000344
|
||||
2025-12-02 18:45:00+00:00,EUR_USD,M15,BUY,1.16087,2503.64,100145.63,0.000344
|
||||
2025-12-02 20:15:00+00:00,EUR_USD,M15,FLAT,1.162,0.0,100148.07,0.00032
|
||||
2025-12-02 20:45:00+00:00,EUR_USD,M15,BUY,1.16246,2503.7,100148.07,0.00032
|
||||
2025-12-03 01:30:00+00:00,EUR_USD,M15,FLAT,1.16364,0.0,100150.61,0.000295
|
||||
2025-12-03 04:00:00+00:00,EUR_USD,M15,BUY,1.1637,2503.77,100150.61,0.000295
|
||||
2025-12-03 11:45:00+00:00,EUR_USD,M15,FLAT,1.16656,0.0,100156.76,0.000233
|
||||
2025-12-03 12:45:00+00:00,EUR_USD,M15,BUY,1.1663,2503.92,100156.76,0.000233
|
||||
2025-12-04 09:30:00+00:00,EUR_USD,M15,FLAT,1.16758,0.0,100159.51,0.000206
|
||||
2025-12-04 15:30:00+00:00,EUR_USD,M15,BUY,1.16741,2503.99,100159.51,0.000206
|
||||
2025-12-04 21:30:00+00:00,EUR_USD,M15,FLAT,1.16444,0.0,100153.14,0.000269
|
||||
2025-12-05 15:15:00+00:00,EUR_USD,M15,BUY,1.16564,2503.83,100153.14,0.000269
|
||||
2025-12-05 18:45:00+00:00,EUR_USD,M15,FLAT,1.16428,0.0,100150.22,0.000299
|
||||
2025-12-08 07:30:00+00:00,EUR_USD,M15,BUY,1.16606,2503.76,100150.22,0.000299
|
||||
2025-12-08 16:15:00+00:00,EUR_USD,M15,FLAT,1.16192,0.0,100141.32,0.000387
|
||||
2025-12-08 16:30:00+00:00,EUR_USD,M15,BUY,1.16266,2503.53,100141.32,0.000387
|
||||
2025-12-08 18:15:00+00:00,EUR_USD,M15,FLAT,1.16356,0.0,100143.26,0.000368
|
||||
2025-12-09 09:00:00+00:00,EUR_USD,M15,BUY,1.1646,2503.58,100143.26,0.000368
|
||||
2025-12-09 17:30:00+00:00,EUR_USD,M15,FLAT,1.16254,0.0,100138.83,0.000412
|
||||
2025-12-10 11:00:00+00:00,EUR_USD,M15,BUY,1.16325,2503.47,100138.83,0.000412
|
||||
2025-12-10 19:00:00+00:00,EUR_USD,M15,FLAT,1.16692,0.0,100146.72,0.000333
|
||||
2025-12-10 19:15:00+00:00,EUR_USD,M15,BUY,1.16644,2503.67,100146.72,0.000333
|
||||
2025-12-11 04:30:00+00:00,EUR_USD,M15,FLAT,1.16864,0.0,100151.46,0.000286
|
||||
2025-12-11 04:45:00+00:00,EUR_USD,M15,BUY,1.16903,2503.79,100151.46,0.000286
|
||||
2025-12-11 12:30:00+00:00,EUR_USD,M15,FLAT,1.17166,0.0,100157.09,0.00023
|
||||
2025-12-11 13:00:00+00:00,EUR_USD,M15,BUY,1.17152,2503.93,100157.09,0.00023
|
||||
2025-12-11 13:45:00+00:00,EUR_USD,M15,FLAT,1.17311,0.0,100160.48,0.000196
|
||||
2025-12-11 14:45:00+00:00,EUR_USD,M15,BUY,1.17376,2504.01,100160.48,0.000196
|
||||
2025-12-11 15:15:00+00:00,EUR_USD,M15,FLAT,1.17488,0.0,100162.87,0.000172
|
||||
2025-12-11 16:15:00+00:00,EUR_USD,M15,BUY,1.17468,2504.07,100162.87,0.000172
|
||||
2025-12-12 10:45:00+00:00,EUR_USD,M15,FLAT,1.17274,0.0,100158.74,0.000214
|
||||
2025-12-14 23:30:00+00:00,EUR_USD,M15,BUY,1.17395,2503.97,100158.74,0.000214
|
||||
2025-12-15 12:15:00+00:00,EUR_USD,M15,FLAT,1.17546,0.0,100161.96,0.000181
|
||||
2025-12-15 12:45:00+00:00,EUR_USD,M15,BUY,1.17528,2504.05,100161.96,0.000181
|
||||
2025-12-15 13:00:00+00:00,EUR_USD,M15,FLAT,1.17559,0.0,100162.62,0.000175
|
||||
2025-12-15 13:15:00+00:00,EUR_USD,M15,BUY,1.1755,2504.07,100162.62,0.000175
|
||||
2025-12-15 13:30:00+00:00,EUR_USD,M15,FLAT,1.17562,0.0,100162.88,0.000172
|
||||
2025-12-15 13:45:00+00:00,EUR_USD,M15,BUY,1.17474,2504.07,100162.88,0.000172
|
||||
2025-12-15 18:15:00+00:00,EUR_USD,M15,FLAT,1.17408,0.0,100161.47,0.000186
|
||||
2025-12-15 18:30:00+00:00,EUR_USD,M15,BUY,1.17423,2504.04,100161.47,0.000186
|
||||
2025-12-15 19:00:00+00:00,EUR_USD,M15,FLAT,1.17396,0.0,100160.9,0.000192
|
||||
2025-12-15 19:30:00+00:00,EUR_USD,M15,BUY,1.17452,2504.02,100160.9,0.000192
|
||||
2025-12-16 12:45:00+00:00,EUR_USD,M15,FLAT,1.17778,0.0,100167.84,0.000123
|
||||
2025-12-16 13:00:00+00:00,EUR_USD,M15,BUY,1.17738,2504.2,100167.84,0.000123
|
||||
2025-12-16 18:15:00+00:00,EUR_USD,M15,FLAT,1.17461,0.0,100161.95,0.000181
|
||||
2025-12-16 18:30:00+00:00,EUR_USD,M15,BUY,1.17526,2504.05,100161.95,0.000181
|
||||
2025-12-17 02:45:00+00:00,EUR_USD,M15,FLAT,1.174,0.0,100159.27,0.000208
|
||||
2025-12-17 21:45:00+00:00,EUR_USD,M15,BUY,1.17401,2503.98,100159.27,0.000208
|
||||
2025-12-18 09:15:00+00:00,EUR_USD,M15,FLAT,1.17194,0.0,100154.86,0.000252
|
||||
2025-12-18 10:30:00+00:00,EUR_USD,M15,BUY,1.17255,2503.87,100154.86,0.000252
|
||||
2025-12-18 11:15:00+00:00,EUR_USD,M15,FLAT,1.17254,0.0,100154.83,0.000252
|
||||
2025-12-22 01:00:00+00:00,EUR_USD,M15,BUY,1.17169,2503.87,100154.83,0.000252
|
||||
2025-12-22 03:30:00+00:00,EUR_USD,M15,FLAT,1.17166,0.0,100154.77,0.000253
|
||||
2025-12-22 04:00:00+00:00,EUR_USD,M15,BUY,1.1718,2503.87,100154.77,0.000253
|
||||
2025-12-22 14:30:00+00:00,EUR_USD,M15,FLAT,1.17642,0.0,100164.63,0.000155
|
||||
2025-12-22 14:45:00+00:00,EUR_USD,M15,BUY,1.17602,2504.12,100164.63,0.000155
|
||||
2025-12-23 00:15:00+00:00,EUR_USD,M15,FLAT,1.1768,0.0,100166.29,0.000138
|
||||
2025-12-23 00:30:00+00:00,EUR_USD,M15,BUY,1.17686,2504.16,100166.29,0.000138
|
||||
2025-12-23 02:00:00+00:00,EUR_USD,M15,FLAT,1.17768,0.0,100168.03,0.000121
|
||||
2025-12-23 02:15:00+00:00,EUR_USD,M15,BUY,1.17746,2504.2,100168.03,0.000121
|
||||
2025-12-23 10:15:00+00:00,EUR_USD,M15,FLAT,1.1797,0.0,100172.8,7.3e-05
|
||||
2025-12-23 11:00:00+00:00,EUR_USD,M15,BUY,1.17978,2504.32,100172.8,7.3e-05
|
||||
2025-12-23 14:15:00+00:00,EUR_USD,M15,FLAT,1.17734,0.0,100167.61,0.000125
|
||||
2025-12-23 14:30:00+00:00,EUR_USD,M15,BUY,1.17754,2504.19,100167.61,0.000125
|
||||
2025-12-23 14:45:00+00:00,EUR_USD,M15,FLAT,1.17694,0.0,100166.34,0.000138
|
||||
2025-12-23 15:00:00+00:00,EUR_USD,M15,BUY,1.17782,2504.16,100166.34,0.000138
|
||||
2025-12-23 19:00:00+00:00,EUR_USD,M15,FLAT,1.17881,0.0,100168.44,0.000117
|
||||
2025-12-23 19:15:00+00:00,EUR_USD,M15,BUY,1.17857,2504.21,100168.44,0.000117
|
||||
2025-12-23 20:30:00+00:00,EUR_USD,M15,FLAT,1.1792,0.0,100169.78,0.000103
|
||||
2025-12-23 20:45:00+00:00,EUR_USD,M15,BUY,1.17896,2504.24,100169.78,0.000103
|
||||
2025-12-23 21:15:00+00:00,EUR_USD,M15,FLAT,1.17906,0.0,100169.99,0.000101
|
||||
2025-12-23 21:45:00+00:00,EUR_USD,M15,BUY,1.17934,2504.25,100169.99,0.000101
|
||||
2025-12-24 17:15:00+00:00,EUR_USD,M15,FLAT,1.17813,0.0,100167.43,0.000127
|
||||
2025-12-30 05:30:00+00:00,EUR_USD,M15,BUY,1.17744,2504.19,100167.43,0.000127
|
||||
2025-12-30 14:00:00+00:00,EUR_USD,M15,FLAT,1.17576,0.0,100163.86,0.000162
|
||||
2025-12-30 14:15:00+00:00,EUR_USD,M15,BUY,1.17602,2504.1,100163.86,0.000162
|
||||
2025-12-30 17:00:00+00:00,EUR_USD,M15,FLAT,1.17608,0.0,100163.99,0.000161
|
||||
2025-12-31 21:45:00+00:00,EUR_USD,M15,BUY,1.17459,2504.1,100163.99,0.000161
|
||||
2026-01-02 01:15:00+00:00,EUR_USD,M15,FLAT,1.17604,0.0,100167.08,0.00013
|
||||
2026-01-02 01:30:00+00:00,EUR_USD,M15,BUY,1.17603,2504.18,100167.08,0.00013
|
||||
2026-01-02 02:00:00+00:00,EUR_USD,M15,FLAT,1.17634,0.0,100167.74,0.000124
|
||||
2026-01-02 02:15:00+00:00,EUR_USD,M15,BUY,1.17612,2504.19,100167.74,0.000124
|
||||
2026-01-02 02:30:00+00:00,EUR_USD,M15,FLAT,1.17602,0.0,100167.52,0.000126
|
||||
2026-01-02 02:45:00+00:00,EUR_USD,M15,BUY,1.17594,2504.19,100167.52,0.000126
|
||||
2026-01-02 03:45:00+00:00,EUR_USD,M15,FLAT,1.17644,0.0,100168.59,0.000115
|
||||
2026-01-02 04:00:00+00:00,EUR_USD,M15,BUY,1.17609,2504.21,100168.59,0.000115
|
||||
2026-01-02 06:30:00+00:00,EUR_USD,M15,FLAT,1.17431,0.0,100164.8,0.000153
|
||||
2026-01-02 09:15:00+00:00,EUR_USD,M15,BUY,1.1732,2504.12,100164.8,0.000153
|
||||
2026-01-02 10:00:00+00:00,EUR_USD,M15,FLAT,1.17157,0.0,100161.32,0.000188
|
||||
2026-01-02 10:30:00+00:00,EUR_USD,M15,BUY,1.17172,2504.03,100161.32,0.000188
|
||||
2026-01-02 12:30:00+00:00,EUR_USD,M15,FLAT,1.17271,0.0,100163.43,0.000167
|
||||
2026-01-05 21:00:00+00:00,EUR_USD,M15,BUY,1.17248,2504.09,100163.43,0.000167
|
||||
2026-01-05 23:30:00+00:00,EUR_USD,M15,FLAT,1.17167,0.0,100161.7,0.000184
|
||||
2026-01-06 00:45:00+00:00,EUR_USD,M15,BUY,1.17168,2504.04,100161.7,0.000184
|
||||
2026-01-06 15:45:00+00:00,EUR_USD,M15,FLAT,1.16953,0.0,100157.11,0.00023
|
||||
2026-01-12 05:15:00+00:00,EUR_USD,M15,BUY,1.16658,2503.93,100157.11,0.00023
|
||||
2026-01-12 07:15:00+00:00,EUR_USD,M15,FLAT,1.16814,0.0,100160.46,0.000196
|
||||
2026-01-12 07:30:00+00:00,EUR_USD,M15,BUY,1.16774,2504.01,100160.46,0.000196
|
||||
2026-01-13 01:30:00+00:00,EUR_USD,M15,FLAT,1.16592,0.0,100156.56,0.000235
|
||||
2026-01-14 14:30:00+00:00,EUR_USD,M15,BUY,1.16591,2503.91,100156.56,0.000235
|
||||
2026-01-14 19:15:00+00:00,EUR_USD,M15,FLAT,1.16375,0.0,100151.92,0.000282
|
||||
2026-01-14 20:00:00+00:00,EUR_USD,M15,BUY,1.16424,2503.8,100151.92,0.000282
|
||||
2026-01-15 02:00:00+00:00,EUR_USD,M15,FLAT,1.16408,0.0,100151.58,0.000285
|
||||
2026-01-16 12:30:00+00:00,EUR_USD,M15,BUY,1.16175,2503.79,100151.58,0.000285
|
||||
2026-01-16 19:15:00+00:00,EUR_USD,M15,FLAT,1.15946,0.0,100146.65,0.000334
|
||||
2026-01-19 06:00:00+00:00,EUR_USD,M15,BUY,1.16288,2503.67,100146.65,0.000334
|
||||
2026-01-20 04:00:00+00:00,EUR_USD,M15,FLAT,1.16586,0.0,100153.06,0.00027
|
||||
2026-01-20 04:30:00+00:00,EUR_USD,M15,BUY,1.16618,2503.83,100153.06,0.00027
|
||||
2026-01-20 04:45:00+00:00,EUR_USD,M15,FLAT,1.16656,0.0,100153.88,0.000262
|
||||
2026-01-20 05:15:00+00:00,EUR_USD,M15,BUY,1.16665,2503.85,100153.88,0.000262
|
||||
2026-01-20 08:45:00+00:00,EUR_USD,M15,FLAT,1.17162,0.0,100164.53,0.000156
|
||||
2026-01-20 10:15:00+00:00,EUR_USD,M15,BUY,1.17184,2504.11,100164.53,0.000156
|
||||
2026-01-20 10:30:00+00:00,EUR_USD,M15,FLAT,1.17255,0.0,100166.05,0.000141
|
||||
2026-01-20 11:00:00+00:00,EUR_USD,M15,BUY,1.17244,2504.15,100166.05,0.000141
|
||||
2026-01-21 07:30:00+00:00,EUR_USD,M15,FLAT,1.17135,0.0,100163.73,0.000164
|
||||
2026-01-22 17:00:00+00:00,EUR_USD,M15,BUY,1.1738,2504.09,100163.73,0.000164
|
||||
2026-01-22 17:15:00+00:00,EUR_USD,M15,FLAT,1.17413,0.0,100164.44,0.000157
|
||||
2026-01-22 18:00:00+00:00,EUR_USD,M15,BUY,1.17455,2504.11,100164.44,0.000157
|
||||
2026-01-22 22:45:00+00:00,EUR_USD,M15,FLAT,1.17562,0.0,100166.72,0.000134
|
||||
2026-01-22 23:15:00+00:00,EUR_USD,M15,BUY,1.17566,2504.17,100166.72,0.000134
|
||||
2026-01-23 13:30:00+00:00,EUR_USD,M15,FLAT,1.17418,0.0,100163.57,0.000165
|
||||
2026-01-23 13:45:00+00:00,EUR_USD,M15,BUY,1.17341,2504.09,100163.57,0.000165
|
||||
2026-01-23 14:00:00+00:00,EUR_USD,M15,FLAT,1.1739,0.0,100164.61,0.000155
|
||||
2026-01-23 18:45:00+00:00,EUR_USD,M15,BUY,1.17922,2504.12,100164.61,0.000155
|
||||
2026-01-23 21:30:00+00:00,EUR_USD,M15,FLAT,1.18263,0.0,100171.85,8.3e-05
|
||||
2026-01-25 23:15:00+00:00,EUR_USD,M15,BUY,1.18649,2504.3,100171.85,8.3e-05
|
||||
2026-01-26 13:00:00+00:00,EUR_USD,M15,FLAT,1.18396,0.0,100166.52,0.000136
|
||||
2026-01-26 13:15:00+00:00,EUR_USD,M15,BUY,1.18467,2504.16,100166.52,0.000136
|
||||
2026-01-26 15:45:00+00:00,EUR_USD,M15,FLAT,1.18954,0.0,100176.8,3.3e-05
|
||||
2026-01-26 16:00:00+00:00,EUR_USD,M15,BUY,1.18902,2504.42,100176.8,3.3e-05
|
||||
2026-01-27 12:00:00+00:00,EUR_USD,M15,FLAT,1.19066,0.0,100180.27,0.0
|
||||
2026-01-27 13:15:00+00:00,EUR_USD,M15,BUY,1.1923,2504.51,100180.27,0.0
|
||||
2026-01-27 13:30:00+00:00,EUR_USD,M15,FLAT,1.19309,0.0,100181.92,0.0
|
||||
2026-01-27 13:45:00+00:00,EUR_USD,M15,BUY,1.19234,2504.55,100181.92,0.0
|
||||
2026-01-27 14:30:00+00:00,EUR_USD,M15,FLAT,1.19448,0.0,100186.42,0.0
|
||||
2026-01-27 15:30:00+00:00,EUR_USD,M15,BUY,1.19508,2504.66,100186.42,0.0
|
||||
2026-01-27 20:45:00+00:00,EUR_USD,M15,FLAT,1.20295,0.0,100202.89,0.0
|
||||
2026-01-27 22:00:00+00:00,EUR_USD,M15,BUY,1.20373,2505.07,100202.89,0.0
|
||||
2026-01-27 22:45:00+00:00,EUR_USD,M15,FLAT,1.20428,0.0,100204.03,0.0
|
||||
2026-01-27 23:00:00+00:00,EUR_USD,M15,BUY,1.20304,2505.1,100204.03,0.0
|
||||
2026-01-28 01:00:00+00:00,EUR_USD,M15,FLAT,1.2009,0.0,100199.57,4.4e-05
|
||||
2026-01-28 01:15:00+00:00,EUR_USD,M15,BUY,1.20036,2504.99,100199.57,4.4e-05
|
||||
2026-01-28 01:45:00+00:00,EUR_USD,M15,FLAT,1.19929,0.0,100197.34,6.7e-05
|
||||
2026-01-28 02:30:00+00:00,EUR_USD,M15,BUY,1.19952,2504.93,100197.34,6.7e-05
|
||||
2026-01-28 14:00:00+00:00,EUR_USD,M15,FLAT,1.19639,0.0,100190.82,0.000132
|
||||
2026-01-29 07:30:00+00:00,EUR_USD,M15,BUY,1.19716,2504.77,100190.82,0.000132
|
||||
2026-01-29 11:30:00+00:00,EUR_USD,M15,FLAT,1.19486,0.0,100186.01,0.00018
|
||||
2026-01-29 11:45:00+00:00,EUR_USD,M15,BUY,1.1947,2504.65,100186.01,0.00018
|
||||
2026-01-29 18:15:00+00:00,EUR_USD,M15,FLAT,1.19518,0.0,100187.04,0.00017
|
||||
2026-02-03 12:15:00+00:00,EUR_USD,M15,BUY,1.17916,2504.68,100187.04,0.00017
|
||||
2026-02-03 20:45:00+00:00,EUR_USD,M15,FLAT,1.18212,0.0,100193.33,0.000107
|
||||
2026-02-03 22:30:00+00:00,EUR_USD,M15,BUY,1.18204,2504.83,100193.33,0.000107
|
||||
2026-02-04 11:15:00+00:00,EUR_USD,M15,FLAT,1.18085,0.0,100190.81,0.000132
|
||||
2026-02-04 11:30:00+00:00,EUR_USD,M15,BUY,1.18131,2504.77,100190.81,0.000132
|
||||
2026-02-04 17:00:00+00:00,EUR_USD,M15,FLAT,1.18108,0.0,100190.33,0.000137
|
||||
2026-02-06 13:00:00+00:00,EUR_USD,M15,BUY,1.17938,2504.76,100190.33,0.000137
|
||||
2026-02-06 14:15:00+00:00,EUR_USD,M15,FLAT,1.18126,0.0,100194.32,9.7e-05
|
||||
2026-02-06 15:00:00+00:00,EUR_USD,M15,BUY,1.1814,2504.86,100194.32,9.7e-05
|
||||
2026-02-09 06:15:00+00:00,EUR_USD,M15,FLAT,1.18479,0.0,100201.5,2.5e-05
|
||||
2026-02-09 07:45:00+00:00,EUR_USD,M15,BUY,1.18559,2505.04,100201.5,2.5e-05
|
||||
2026-02-09 13:15:00+00:00,EUR_USD,M15,FLAT,1.1896,0.0,100209.96,0.0
|
||||
2026-02-09 13:30:00+00:00,EUR_USD,M15,BUY,1.18932,2505.25,100209.96,0.0
|
||||
2026-02-09 13:45:00+00:00,EUR_USD,M15,FLAT,1.19037,0.0,100212.18,0.0
|
||||
2026-02-09 15:15:00+00:00,EUR_USD,M15,BUY,1.19099,2505.3,100212.18,0.0
|
||||
2026-02-09 19:45:00+00:00,EUR_USD,M15,FLAT,1.19204,0.0,100214.39,0.0
|
||||
2026-02-09 20:00:00+00:00,EUR_USD,M15,BUY,1.19184,2505.36,100214.39,0.0
|
||||
2026-02-10 00:00:00+00:00,EUR_USD,M15,FLAT,1.19025,0.0,100211.04,3.5e-05
|
||||
2026-02-10 00:15:00+00:00,EUR_USD,M15,BUY,1.19036,2505.28,100211.04,3.5e-05
|
||||
2026-02-10 01:15:00+00:00,EUR_USD,M15,FLAT,1.18976,0.0,100209.78,4.7e-05
|
||||
2026-02-10 01:30:00+00:00,EUR_USD,M15,BUY,1.19059,2505.24,100209.78,4.7e-05
|
||||
2026-02-10 12:45:00+00:00,EUR_USD,M15,FLAT,1.1893,0.0,100207.07,7.4e-05
|
||||
2026-02-11 08:45:00+00:00,EUR_USD,M15,BUY,1.19184,2505.18,100207.07,7.4e-05
|
||||
2026-02-11 13:30:00+00:00,EUR_USD,M15,FLAT,1.18666,0.0,100196.17,0.000183
|
||||
2026-02-11 15:00:00+00:00,EUR_USD,M15,BUY,1.18644,2504.9,100196.17,0.000183
|
||||
2026-02-11 17:30:00+00:00,EUR_USD,M15,FLAT,1.18878,0.0,100201.11,0.000134
|
||||
2026-02-12 14:00:00+00:00,EUR_USD,M15,BUY,1.18779,2505.03,100201.11,0.000134
|
||||
2026-02-12 15:15:00+00:00,EUR_USD,M15,FLAT,1.18849,0.0,100202.58,0.000119
|
||||
2026-02-12 18:00:00+00:00,EUR_USD,M15,BUY,1.18622,2505.06,100202.58,0.000119
|
||||
2026-02-12 22:45:00+00:00,EUR_USD,M15,FLAT,1.18722,0.0,100204.7,9.8e-05
|
||||
2026-02-13 20:45:00+00:00,EUR_USD,M15,BUY,1.18745,2505.12,100204.7,9.8e-05
|
||||
2026-02-16 09:30:00+00:00,EUR_USD,M15,FLAT,1.18646,0.0,100202.61,0.000119
|
||||
|
+2398
-14
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+29
-3
@@ -70,7 +70,7 @@ def fetch_candles_from_supabase(instrument, granularity, supabase_client, table)
|
||||
# Signal generation
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def generate_signals(df, strategy_cfg):
|
||||
def generate_signals(df, strategy_cfg, ai_cfg=None):
|
||||
"""
|
||||
Generate trading signals based on strategy config.
|
||||
Currently supports 'sma_cross' rule only.
|
||||
@@ -78,7 +78,9 @@ def generate_signals(df, strategy_cfg):
|
||||
Signal logic (long-only / flat):
|
||||
sma_short > sma_long → signal = 1 (long)
|
||||
sma_short < sma_long → signal = 0 (flat)
|
||||
Position changes only when signal changes.
|
||||
|
||||
If ai_cfg is provided, applies RSI overbought/oversold filtering
|
||||
to block entries at extreme levels.
|
||||
"""
|
||||
rule = strategy_cfg["rule"]
|
||||
if rule != "sma_cross":
|
||||
@@ -100,6 +102,26 @@ def generate_signals(df, strategy_cfg):
|
||||
# Signal: 1 when short SMA above long SMA, else 0
|
||||
df["signal"] = np.where(df[sma_short_col] > df[sma_long_col], 1, 0)
|
||||
|
||||
# Apply RSI filter if configured
|
||||
if ai_cfg:
|
||||
sanity = ai_cfg.get("sanity_checks", {})
|
||||
rsi_ob = sanity.get("rsi_overbought")
|
||||
rsi_os = sanity.get("rsi_oversold")
|
||||
|
||||
# Find the RSI column
|
||||
rsi_col = None
|
||||
for col in df.columns:
|
||||
if col.startswith("rsi_"):
|
||||
rsi_col = col
|
||||
break
|
||||
|
||||
if rsi_col and (rsi_ob or rsi_os):
|
||||
rsi_vals = df[rsi_col]
|
||||
if rsi_ob is not None:
|
||||
df.loc[(df["signal"] == 1) & (rsi_vals > rsi_ob), "signal"] = 0
|
||||
if rsi_os is not None:
|
||||
df.loc[(df["signal"] == 1) & (rsi_vals < rsi_os), "signal"] = 0
|
||||
|
||||
# Position changes only on crossover (detect changes)
|
||||
df["position"] = df["signal"]
|
||||
|
||||
@@ -372,10 +394,14 @@ def main():
|
||||
table = cfg.get("supabase", {}).get("table", "fx_candles")
|
||||
|
||||
strategy_cfg = cfg["strategy"]
|
||||
ai_cfg = cfg.get("ai", {})
|
||||
instruments = cfg["brokers"][0]["instruments"]
|
||||
granularities = cfg["data"]["candle_granularities"]
|
||||
|
||||
rsi_ob = ai_cfg.get("sanity_checks", {}).get("rsi_overbought", "off")
|
||||
rsi_os = ai_cfg.get("sanity_checks", {}).get("rsi_oversold", "off")
|
||||
print(f"Backtesting strategy: {strategy_cfg['rule']}")
|
||||
print(f"RSI filter: overbought={rsi_ob}, oversold={rsi_os}")
|
||||
print(f"Instruments: {instruments}")
|
||||
print(f"Granularities: {granularities}\n")
|
||||
|
||||
@@ -388,7 +414,7 @@ def main():
|
||||
print(" Skipping — no data.\n")
|
||||
continue
|
||||
|
||||
df = generate_signals(df, strategy_cfg)
|
||||
df = generate_signals(df, strategy_cfg, ai_cfg=ai_cfg)
|
||||
if df.empty:
|
||||
print(" Skipping — no valid rows after warmup.\n")
|
||||
continue
|
||||
|
||||
@@ -0,0 +1,308 @@
|
||||
# src/param_sweep.py
|
||||
"""
|
||||
Parameter sweep for fx-quant strategy optimization.
|
||||
Tests combinations of SMA periods, trade sizes, and confidence thresholds
|
||||
against historical data and ranks by Sharpe ratio.
|
||||
|
||||
Usage:
|
||||
python src/param_sweep.py
|
||||
"""
|
||||
|
||||
import os
|
||||
import json
|
||||
import math
|
||||
import itertools
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from supabase import create_client
|
||||
|
||||
from config_loader import load_config, get_project_root
|
||||
|
||||
|
||||
cfg = load_config()
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Data fetching (reuse from backtester)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def fetch_data(instrument, granularity, sb, table):
|
||||
"""Fetch all candles from Supabase for one instrument/granularity."""
|
||||
print(f" Fetching {instrument} / {granularity}...")
|
||||
all_rows = []
|
||||
page_size = 1000
|
||||
offset = 0
|
||||
while True:
|
||||
resp = (
|
||||
sb.table(table)
|
||||
.select("*")
|
||||
.eq("instrument", instrument)
|
||||
.eq("granularity", granularity)
|
||||
.order("time", desc=False)
|
||||
.range(offset, offset + page_size - 1)
|
||||
.execute()
|
||||
)
|
||||
rows = resp.data or []
|
||||
all_rows.extend(rows)
|
||||
if len(rows) < page_size:
|
||||
break
|
||||
offset += page_size
|
||||
|
||||
if not all_rows:
|
||||
return pd.DataFrame()
|
||||
|
||||
df = pd.DataFrame(all_rows)
|
||||
df["time"] = pd.to_datetime(df["time"])
|
||||
df = df.set_index("time").sort_index()
|
||||
numeric_cols = [c for c in df.columns if c not in ("instrument", "granularity")]
|
||||
for col in numeric_cols:
|
||||
df[col] = pd.to_numeric(df[col], errors="coerce")
|
||||
|
||||
print(f" Got {len(df)} rows.")
|
||||
return df
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Fast backtest (no file I/O, just returns metrics)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def fast_backtest(df, sma_short, sma_long, trade_size_pct, max_dd_pct=0.05,
|
||||
starting_equity=100_000.0, rsi_period=14,
|
||||
rsi_overbought=None, rsi_oversold=None):
|
||||
"""
|
||||
Run a quick backtest with given SMA params on raw close data.
|
||||
Computes SMAs on-the-fly so we're not limited to pre-computed columns.
|
||||
Optionally filters entries using RSI overbought/oversold thresholds.
|
||||
Returns metrics dict or None if not enough data.
|
||||
"""
|
||||
# Compute SMAs from close price
|
||||
df = df.copy()
|
||||
df["sma_s"] = df["close"].rolling(sma_short).mean()
|
||||
df["sma_l"] = df["close"].rolling(sma_long).mean()
|
||||
|
||||
if "ret" not in df.columns:
|
||||
df["ret"] = df["close"].pct_change()
|
||||
|
||||
# Compute RSI if filtering is enabled
|
||||
rsi_values = None
|
||||
if rsi_overbought is not None or rsi_oversold is not None:
|
||||
delta = df["close"].diff()
|
||||
up = delta.clip(lower=0)
|
||||
down = -1 * delta.clip(upper=0)
|
||||
ma_up = up.rolling(rsi_period).mean()
|
||||
ma_down = down.rolling(rsi_period).mean()
|
||||
rs = ma_up / (ma_down.replace(0, np.nan))
|
||||
df["_rsi"] = 100 - (100 / (1 + rs))
|
||||
|
||||
df = df.dropna(subset=["sma_s", "sma_l", "ret"])
|
||||
if len(df) < 100:
|
||||
return None
|
||||
|
||||
# Generate signals
|
||||
signals = np.where(df["sma_s"].values > df["sma_l"].values, 1, 0)
|
||||
|
||||
# Apply RSI filter: block BUY when RSI is overbought, block when oversold
|
||||
if rsi_overbought is not None or rsi_oversold is not None:
|
||||
rsi_vals = df["_rsi"].values
|
||||
for i in range(len(signals)):
|
||||
if signals[i] == 1 and not np.isnan(rsi_vals[i]):
|
||||
if rsi_overbought is not None and rsi_vals[i] > rsi_overbought:
|
||||
signals[i] = 0 # Block buy — overbought
|
||||
if rsi_oversold is not None and rsi_vals[i] < rsi_oversold:
|
||||
signals[i] = 0 # Block buy — oversold
|
||||
|
||||
closes = df["close"].values
|
||||
rets = df["ret"].values
|
||||
|
||||
equity = starting_equity
|
||||
peak_equity = equity
|
||||
position = 0
|
||||
position_size = 0.0
|
||||
stopped = False
|
||||
|
||||
equity_curve = []
|
||||
wins = 0
|
||||
losses = 0
|
||||
buy_equity = None
|
||||
num_trades = 0
|
||||
|
||||
for i in range(len(df)):
|
||||
sig = signals[i]
|
||||
|
||||
if stopped:
|
||||
equity_curve.append(equity)
|
||||
continue
|
||||
|
||||
# P&L from existing position
|
||||
if position == 1 and i > 0:
|
||||
equity += position_size * rets[i]
|
||||
|
||||
# Drawdown check
|
||||
if equity > peak_equity:
|
||||
peak_equity = equity
|
||||
dd = (peak_equity - equity) / peak_equity if peak_equity > 0 else 0.0
|
||||
|
||||
if dd >= max_dd_pct:
|
||||
stopped = True
|
||||
if position == 1:
|
||||
if equity > buy_equity:
|
||||
wins += 1
|
||||
else:
|
||||
losses += 1
|
||||
position = 0
|
||||
position_size = 0.0
|
||||
equity_curve.append(equity)
|
||||
continue
|
||||
|
||||
# Position changes
|
||||
if sig != position:
|
||||
if sig == 1 and position == 0:
|
||||
position_size = equity * trade_size_pct
|
||||
buy_equity = equity
|
||||
num_trades += 1
|
||||
elif sig == 0 and position == 1:
|
||||
num_trades += 1
|
||||
if equity > buy_equity:
|
||||
wins += 1
|
||||
else:
|
||||
losses += 1
|
||||
position_size = 0.0
|
||||
position = sig
|
||||
|
||||
equity_curve.append(equity)
|
||||
|
||||
# Metrics
|
||||
final_equity = equity_curve[-1] if equity_curve else starting_equity
|
||||
total_return_pct = ((final_equity - starting_equity) / starting_equity) * 100
|
||||
|
||||
eq_series = pd.Series(equity_curve, index=df.index)
|
||||
peak = eq_series.cummax()
|
||||
dd_series = (peak - eq_series) / peak
|
||||
max_drawdown_pct = dd_series.max() * 100
|
||||
|
||||
round_trips = wins + losses
|
||||
win_rate = (wins / round_trips * 100) if round_trips > 0 else 0.0
|
||||
|
||||
eq_returns = eq_series.pct_change().dropna()
|
||||
sharpe = 0.0
|
||||
if len(eq_returns) > 1 and eq_returns.std() > 0:
|
||||
# Annualize based on bars per year (approximate)
|
||||
sharpe = (eq_returns.mean() / eq_returns.std()) * math.sqrt(252 * 24 * 12)
|
||||
|
||||
return {
|
||||
"sma_short": sma_short,
|
||||
"sma_long": sma_long,
|
||||
"trade_size_pct": trade_size_pct,
|
||||
"rsi_overbought": rsi_overbought,
|
||||
"rsi_oversold": rsi_oversold,
|
||||
"starting_equity": starting_equity,
|
||||
"final_equity": round(final_equity, 2),
|
||||
"total_return_pct": round(total_return_pct, 4),
|
||||
"max_drawdown_pct": round(max_drawdown_pct, 4),
|
||||
"num_trades": num_trades,
|
||||
"round_trips": round_trips,
|
||||
"win_rate_pct": round(win_rate, 2),
|
||||
"sharpe_ratio": round(sharpe, 4),
|
||||
"stopped_out": stopped,
|
||||
}
|
||||
|
||||
|
||||
def main():
|
||||
# Supabase client
|
||||
supabase_url = os.getenv("SUPABASE_URL")
|
||||
supabase_key = os.getenv("SUPABASE_KEY")
|
||||
sb = create_client(supabase_url, supabase_key)
|
||||
table = cfg.get("supabase", {}).get("table", "fx_candles")
|
||||
|
||||
instruments = cfg["brokers"][0]["instruments"]
|
||||
granularities = cfg["data"]["candle_granularities"]
|
||||
|
||||
# Parameter grid
|
||||
sma_combos = [
|
||||
(5, 20), (10, 30), (10, 50), (15, 50), (20, 50),
|
||||
(21, 50), (10, 100), (20, 100), (50, 100), (50, 200),
|
||||
]
|
||||
trade_sizes = [0.01, 0.025, 0.05, 0.10]
|
||||
rsi_filters = [
|
||||
(None, None, "No RSI filter"),
|
||||
(70, 30, "RSI 70/30"),
|
||||
(75, 25, "RSI 75/25"),
|
||||
(80, 20, "RSI 80/20"),
|
||||
]
|
||||
max_dd = 0.05
|
||||
|
||||
all_results = []
|
||||
|
||||
for instrument in instruments:
|
||||
for granularity in granularities:
|
||||
print(f"\n{'='*60}")
|
||||
print(f"Sweeping {instrument} / {granularity}")
|
||||
print(f"{'='*60}")
|
||||
|
||||
df = fetch_data(instrument, granularity, sb, table)
|
||||
if df.empty:
|
||||
continue
|
||||
|
||||
combos = list(itertools.product(sma_combos, trade_sizes, rsi_filters))
|
||||
total = len(combos)
|
||||
|
||||
for idx, ((sma_s, sma_l), ts, (rsi_ob, rsi_os, rsi_label)) in enumerate(combos, 1):
|
||||
result = fast_backtest(df, sma_s, sma_l, ts, max_dd,
|
||||
rsi_overbought=rsi_ob, rsi_oversold=rsi_os)
|
||||
if result is None:
|
||||
continue
|
||||
result["instrument"] = instrument
|
||||
result["granularity"] = granularity
|
||||
result["rsi_label"] = rsi_label
|
||||
all_results.append(result)
|
||||
|
||||
print(f" Tested {total} combinations.")
|
||||
|
||||
# Sort by Sharpe ratio descending
|
||||
all_results.sort(key=lambda x: x["sharpe_ratio"], reverse=True)
|
||||
|
||||
# Save to JSON
|
||||
root = get_project_root()
|
||||
out_path = root / "logs" / "param_sweep_results.json"
|
||||
with open(out_path, "w") as f:
|
||||
json.dump(all_results, f, indent=2)
|
||||
|
||||
# Print top 20
|
||||
print(f"\n{'='*60}")
|
||||
print(f"TOP 20 RESULTS (by Sharpe ratio)")
|
||||
print(f"{'='*60}")
|
||||
print(f"{'Rank':<5} {'Inst':<8} {'Gran':<5} {'SMA':>7} {'Size':>6} {'RSI':<15} {'Return':>9} {'MaxDD':>8} {'WinR':>6} {'Sharpe':>8} {'Trades':>7} {'Final Eq':>12}")
|
||||
print("-" * 115)
|
||||
|
||||
for i, r in enumerate(all_results[:20], 1):
|
||||
sma_label = f"{r['sma_short']}/{r['sma_long']}"
|
||||
rsi_label = r.get("rsi_label", "None")
|
||||
stop_flag = " *" if r["stopped_out"] else ""
|
||||
print(f"{i:<5} {r['instrument']:<8} {r['granularity']:<5} {sma_label:>7} {r['trade_size_pct']:>6.1%} "
|
||||
f"{rsi_label:<15} {r['total_return_pct']:>+8.3f}% {r['max_drawdown_pct']:>7.3f}% {r['win_rate_pct']:>5.1f}% "
|
||||
f"{r['sharpe_ratio']:>8.2f} {r['round_trips']:>7} ${r['final_equity']:>11,.2f}{stop_flag}")
|
||||
|
||||
# Focus comparison: SMA 50/100 on M15 across RSI filters
|
||||
print(f"\n{'='*60}")
|
||||
print(f"FOCUS: SMA 50/100 on M15 — RSI filter comparison (10% size)")
|
||||
print(f"{'='*60}")
|
||||
print(f"{'RSI Filter':<20} {'Return':>9} {'MaxDD':>8} {'WinR':>6} {'Sharpe':>8} {'Trades':>7} {'Final Eq':>12}")
|
||||
print("-" * 80)
|
||||
|
||||
focus = [r for r in all_results
|
||||
if r["sma_short"] == 50 and r["sma_long"] == 100
|
||||
and r["granularity"] == "M15" and r["trade_size_pct"] == 0.10]
|
||||
focus.sort(key=lambda x: x["sharpe_ratio"], reverse=True)
|
||||
for r in focus:
|
||||
rsi_label = r.get("rsi_label", "None")
|
||||
print(f"{rsi_label:<20} {r['total_return_pct']:>+8.3f}% {r['max_drawdown_pct']:>7.3f}% {r['win_rate_pct']:>5.1f}% "
|
||||
f"{r['sharpe_ratio']:>8.2f} {r['round_trips']:>7} ${r['final_equity']:>11,.2f}")
|
||||
|
||||
print(f"\nFull results saved to: {out_path}")
|
||||
print(f"Total combinations tested: {len(all_results)}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user