diff --git a/lib/pt_trading/fit_method.py b/lib/pt_trading/fit_method.py
index 6b3b65a..e9c961a 100644
--- a/lib/pt_trading/fit_method.py
+++ b/lib/pt_trading/fit_method.py
@@ -18,6 +18,7 @@ class PairsTradingFitMethod(ABC):
"price",
"disequilibrium",
"scaled_disequilibrium",
+ "signed_scaled_disequilibrium",
"pair",
]
diff --git a/lib/pt_trading/rolling_window_fit.py b/lib/pt_trading/rolling_window_fit.py
index 9f0a4d9..119c585 100644
--- a/lib/pt_trading/rolling_window_fit.py
+++ b/lib/pt_trading/rolling_window_fit.py
@@ -177,6 +177,7 @@ class RollingFit(PairsTradingFitMethod):
open_tstamp = open_row["tstamp"]
open_disequilibrium = open_row["disequilibrium"]
open_scaled_disequilibrium = open_row["scaled_disequilibrium"]
+ signed_scaled_disequilibrium = open_row["signed_scaled_disequilibrium"]
open_px_a = open_row[f"{colname_a}"]
open_px_b = open_row[f"{colname_b}"]
@@ -214,6 +215,7 @@ class RollingFit(PairsTradingFitMethod):
open_px_a,
open_disequilibrium,
open_scaled_disequilibrium,
+ signed_scaled_disequilibrium,
pair,
),
(
@@ -224,6 +226,7 @@ class RollingFit(PairsTradingFitMethod):
open_px_b,
open_disequilibrium,
open_scaled_disequilibrium,
+ signed_scaled_disequilibrium,
pair,
),
]
@@ -241,6 +244,7 @@ class RollingFit(PairsTradingFitMethod):
"price": "float64",
"disequilibrium": "float64",
"scaled_disequilibrium": "float64",
+ "signed_scaled_disequilibrium": "float64",
"pair": "object",
}
)
@@ -254,6 +258,7 @@ class RollingFit(PairsTradingFitMethod):
close_tstamp = close_row["tstamp"]
close_disequilibrium = close_row["disequilibrium"]
close_scaled_disequilibrium = close_row["scaled_disequilibrium"]
+ signed_scaled_disequilibrium = close_row["signed_scaled_disequilibrium"]
close_px_a = close_row[f"{colname_a}"]
close_px_b = close_row[f"{colname_b}"]
@@ -269,6 +274,7 @@ class RollingFit(PairsTradingFitMethod):
close_px_a,
close_disequilibrium,
close_scaled_disequilibrium,
+ signed_scaled_disequilibrium,
pair,
),
(
@@ -279,6 +285,7 @@ class RollingFit(PairsTradingFitMethod):
close_px_b,
close_disequilibrium,
close_scaled_disequilibrium,
+ signed_scaled_disequilibrium,
pair,
),
]
@@ -297,6 +304,7 @@ class RollingFit(PairsTradingFitMethod):
"price": "float64",
"disequilibrium": "float64",
"scaled_disequilibrium": "float64",
+ "signed_scaled_disequilibrium": "float64",
"pair": "object",
}
)
diff --git a/lib/pt_trading/vecm_rolling_fit.py b/lib/pt_trading/vecm_rolling_fit.py
index 79d92af..1145d7e 100644
--- a/lib/pt_trading/vecm_rolling_fit.py
+++ b/lib/pt_trading/vecm_rolling_fit.py
@@ -75,9 +75,12 @@ class VECMTradingPair(TradingPair):
predicted_df[self.colnames()] @ self.vecm_fit_.beta
)
+ predicted_df["signed_scaled_disequilibrium"] = (
+ predicted_df["disequilibrium"] - self.training_mu_
+ ) / self.training_std_
+
predicted_df["scaled_disequilibrium"] = (
- abs(predicted_df["disequilibrium"] - self.training_mu_)
- / self.training_std_
+ abs(predicted_df["signed_scaled_disequilibrium"])
)
predicted_df = predicted_df.reset_index(drop=True)
diff --git a/lib/pt_trading/z-score_rolling_fit.py b/lib/pt_trading/z-score_rolling_fit.py
index 1f4726d..814ca0d 100644
--- a/lib/pt_trading/z-score_rolling_fit.py
+++ b/lib/pt_trading/z-score_rolling_fit.py
@@ -45,6 +45,7 @@ class ZScoreTradingPair(TradingPair):
predicted_df = self.testing_df_
predicted_df["disequilibrium"] = self.zscore_df_
+ predicted_df["signed_scaled_disequilibrium"] = self.zscore_df_
predicted_df["scaled_disequilibrium"] = abs(self.zscore_df_)
predicted_df = predicted_df.reset_index(drop=True)
diff --git a/research/notebooks/single_pair_test.ipynb b/research/notebooks/single_pair_test.ipynb
index 8e941f7..c780311 100644
--- a/research/notebooks/single_pair_test.ipynb
+++ b/research/notebooks/single_pair_test.ipynb
@@ -14,7 +14,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
@@ -47,7 +47,7 @@
"\n",
"# ================================ C R Y P T O ================================\n",
"CONFIG_FILE = \"/home/oleg/develop/pairs_trading/configuration/crypto_zscore.cfg\"\n",
- "CONFIG_FILE = \"/home/oleg/develop/pairs_trading/configuration/crypto_vecm.cfg\"\n",
+ "# CONFIG_FILE = \"/home/oleg/develop/pairs_trading/configuration/crypto_vecm.cfg\"\n",
"\n",
"# Date for data file selection (format: YYYYMMDD)\n",
"TRADING_DATE = \"20250602\" # Change this to your desired date\n",
@@ -81,7 +81,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 98,
"metadata": {},
"outputs": [],
"source": [
@@ -122,7 +122,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 99,
"metadata": {},
"outputs": [],
"source": [
@@ -201,7 +201,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 100,
"metadata": {},
"outputs": [],
"source": [
@@ -287,7 +287,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 101,
"metadata": {},
"outputs": [],
"source": [
@@ -348,7 +348,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 102,
"metadata": {},
"outputs": [],
"source": [
@@ -393,7 +393,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 103,
"metadata": {},
"outputs": [],
"source": [
@@ -485,7 +485,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 104,
"metadata": {},
"outputs": [],
"source": [
@@ -556,7 +556,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 105,
"metadata": {},
"outputs": [],
"source": [
@@ -597,7 +597,7 @@
" timeline_df = pd.DataFrame({'tstamp': all_timestamps})\n",
"\n",
" # Merge with predicted data to get dis-equilibrium values\n",
- " timeline_df = timeline_df.merge(PREDICTED_RESULT[['tstamp', 'disequilibrium', 'scaled_disequilibrium']], \n",
+ " timeline_df = timeline_df.merge(PREDICTED_RESULT[['tstamp', 'disequilibrium', 'scaled_disequilibrium', 'signed_scaled_disequilibrium']], \n",
" on='tstamp', how='left')\n",
"\n",
" # Get Symbol_A and Symbol_B market data\n",
@@ -616,7 +616,7 @@
" rows=4, cols=1,\n",
" row_heights=[0.25, 0.25, 0.25, 0.25],\n",
" subplot_titles=[\n",
- " f'Testing Period: Scaled Dis-equilibrium with Trading Thresholds ({TRD_DATE})',\n",
+ " f'Dis-equilibrium with Trading Thresholds ({TRD_DATE})',\n",
" f'Normalized Price Comparison with BUY/SELL Signals - {SYMBOL_A}&{SYMBOL_B} ({TRD_DATE})',\n",
" f'{SYMBOL_A} Market Data with Trading Signals ({TRD_DATE})',\n",
" f'{SYMBOL_B} Market Data with Trading Signals ({TRD_DATE})',\n",
@@ -633,13 +633,24 @@
" go.Scatter(\n",
" x=timeline_df['tstamp'],\n",
" y=timeline_df['scaled_disequilibrium'],\n",
- " name='Scaled Dis-equilibrium',\n",
+ " name='Absolute Scaled Dis-equilibrium',\n",
" line=dict(color='green', width=2),\n",
" opacity=0.8\n",
" ),\n",
" row=1, col=1\n",
" )\n",
"\n",
+ " fig.add_trace(\n",
+ " go.Scatter(\n",
+ " x=timeline_df['tstamp'],\n",
+ " y=timeline_df['signed_scaled_disequilibrium'],\n",
+ " name='Scaled Dis-equilibrium',\n",
+ " line=dict(color='darkmagenta', width=2),\n",
+ " opacity=0.8\n",
+ " ),\n",
+ " row=1, col=1\n",
+ " )\n",
+ "\n",
" # Add threshold lines to first subplot\n",
" fig.add_shape(\n",
" type=\"line\",\n",
@@ -872,7 +883,7 @@
" y=buy_close_trades['price'],\n",
" mode='markers',\n",
" name=f'{SYMBOL_A} BUY CLOSE',\n",
- " marker=dict(color='green', size=12, symbol='triangle-up'),\n",
+ " marker=dict(color='green', size=12, symbol='square'),\n",
" showlegend=True\n",
" ),\n",
" row=3, col=1\n",
@@ -900,7 +911,7 @@
" y=sell_close_trades['price'],\n",
" mode='markers',\n",
" name=f'{SYMBOL_A} SELL CLOSE',\n",
- " marker=dict(color='red', size=12, symbol='triangle-down'),\n",
+ " marker=dict(color='red', size=12, symbol='square'),\n",
" showlegend=True\n",
" ),\n",
" row=3, col=1\n",
@@ -956,7 +967,7 @@
" y=buy_close_trades['price'],\n",
" mode='markers',\n",
" name=f'{SYMBOL_B} BUY CLOSE',\n",
- " marker=dict(color='darkgreen', size=12, symbol='triangle-up'),\n",
+ " marker=dict(color='green', size=12, symbol='square'),\n",
" showlegend=True\n",
" ),\n",
" row=4, col=1\n",
@@ -970,7 +981,7 @@
" y=sell_open_trades['price'],\n",
" mode='markers',\n",
" name=f'{SYMBOL_B} SELL OPEN',\n",
- " marker=dict(color='darkred', size=12, symbol='triangle-down'),\n",
+ " marker=dict(color='red', size=12, symbol='triangle-down'),\n",
" showlegend=True\n",
" ),\n",
" row=4, col=1\n",
@@ -984,7 +995,7 @@
" y=sell_close_trades['price'],\n",
" mode='markers',\n",
" name=f'{SYMBOL_B} SELL CLOSE',\n",
- " marker=dict(color='darkred', size=12, symbol='triangle-down'),\n",
+ " marker=dict(color='red', size=12, symbol='square'),\n",
" showlegend=True\n",
" ),\n",
" row=4, col=1\n",
@@ -1049,7 +1060,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 106,
"metadata": {},
"outputs": [],
"source": [
@@ -1119,7 +1130,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 107,
"metadata": {},
"outputs": [],
"source": [
@@ -1200,7 +1211,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 108,
"metadata": {},
"outputs": [
{
@@ -1209,22 +1220,22 @@
"text": [
"Setup complete!\n",
"Trading Parameters:\n",
- " Configuration: /home/oleg/develop/pairs_trading/configuration/crypto_vecm.cfg\n",
+ " Configuration: /home/oleg/develop/pairs_trading/configuration/crypto_zscore.cfg\n",
" Symbol A: ADA-USDT\n",
" Symbol B: SOL-USDT\n",
" Trading Date: 2025-06-02\n",
"\n",
- "Loading /home/oleg/develop/pairs_trading/configuration/crypto_vecm.cfg configuration using HJSON...\n",
+ "Loading /home/oleg/develop/pairs_trading/configuration/crypto_zscore.cfg configuration using HJSON...\n",
"✓ Successfully loaded configuration\n",
" Data directory: /home/oleg/develop/pairs_trading/data/crypto\n",
" Database table: md_1min_bars\n",
" Exchange: BNBSPOT\n",
" Training window: 120 minutes\n",
" Open threshold: 2\n",
- " Close threshold: 1\n",
- "Fit Model: pt_trading.vecm_rolling_fit.VECMRollingFit\n",
+ " Close threshold: 0.5\n",
+ "Fit Model: pt_trading.z-score_rolling_fit.ZScoreRollingFit\n",
"Load configuration SUCCESS\n",
- " Fit Method: VECMRollingFit\n",
+ " Fit Method: ZScoreRollingFit\n",
"\n",
"Data Configuration:\n",
" Data File: 20250602.mktdata.ohlcv.db\n",
@@ -1406,7 +1417,7 @@
"\n",
"Strategy Configuration:\n",
" Open threshold: 2\n",
- " Close threshold: 1\n",
+ " Close threshold: 0.5\n",
" Training minutes: 120\n",
" Funding per pair: $2000\n"
]
@@ -1447,89 +1458,108 @@
"Processing first 200 iterations for demonstration...\n",
"***ADA-USDT & SOL-USDT*** STARTING....\n",
"ADA-USDT & SOL-USDT: current offset=510 * Training data length=119 < 120 * Not enough training data. Completing the job.\n",
- "OPEN_TRADES: 2025-06-02 15:48:00 open_scaled_disequilibrium=2.0818049024547634\n",
+ "OPEN_TRADES: 2025-06-02 15:31:00 open_scaled_disequilibrium=2.892080636255072\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 15:48:00 ADA-USDT SELL OPEN 0.6736 0.002199 2.081805 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 15:48:00 SOL-USDT BUY OPEN 152.8000 0.002199 2.081805 ADA-USDT & SOL-USDT OPEN\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 15:31:00 ADA-USDT BUY OPEN 0.6733 -2.892081 2.892081 -2.892081 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 15:31:00 SOL-USDT SELL OPEN 153.1600 -2.892081 2.892081 -2.892081 ADA-USDT & SOL-USDT OPEN\n",
"CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 16:04:00 ADA-USDT BUY CLOSE 0.6731 0.000948 0.798953 ADA-USDT & SOL-USDT CLOSE\n",
- "1 2025-06-02 16:04:00 SOL-USDT SELL CLOSE 152.9400 0.000948 0.798953 ADA-USDT & SOL-USDT CLOSE\n",
- "OPEN_TRADES: 2025-06-02 17:29:00 open_scaled_disequilibrium=2.1389572377792994\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 15:41:00 ADA-USDT SELL CLOSE 0.6735 0.014633 0.014633 0.014633 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 15:41:00 SOL-USDT BUY CLOSE 153.0800 0.014633 0.014633 0.014633 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 16:44:00 open_scaled_disequilibrium=2.364778510607668\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 17:29:00 ADA-USDT BUY OPEN 0.6745 -0.001016 2.138957 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 17:29:00 SOL-USDT SELL OPEN 153.4400 -0.001016 2.138957 ADA-USDT & SOL-USDT OPEN\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 16:44:00 ADA-USDT BUY OPEN 0.6708 -2.364779 2.364779 -2.364779 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 16:44:00 SOL-USDT SELL OPEN 152.4700 -2.364779 2.364779 -2.364779 ADA-USDT & SOL-USDT OPEN\n",
+ "CLOSE TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 17:01:00 ADA-USDT SELL CLOSE 0.6745 -0.45725 0.45725 -0.45725 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 17:01:00 SOL-USDT BUY CLOSE 153.2100 -0.45725 0.45725 -0.45725 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 17:06:00 open_scaled_disequilibrium=2.191024540541887\n",
+ "OPEN TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 17:06:00 ADA-USDT BUY OPEN 0.6738 -2.191025 2.191025 -2.191025 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 17:06:00 SOL-USDT SELL OPEN 152.9000 -2.191025 2.191025 -2.191025 ADA-USDT & SOL-USDT OPEN\n",
"STOP CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 17:35:00 ADA-USDT SELL CLOSE 0.6712 -0.00227 3.90593 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "1 2025-06-02 17:35:00 SOL-USDT BUY CLOSE 153.0300 -0.00227 3.90593 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "OPEN_TRADES: 2025-06-02 17:36:00 open_scaled_disequilibrium=2.9327807569100677\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 17:14:00 ADA-USDT SELL CLOSE 0.6717 -0.939467 0.939467 -0.939467 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "1 2025-06-02 17:14:00 SOL-USDT BUY CLOSE 152.5400 -0.939467 0.939467 -0.939467 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "OPEN_TRADES: 2025-06-02 17:24:00 open_scaled_disequilibrium=2.748538160528875\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 17:36:00 ADA-USDT BUY OPEN 0.6715 -0.001793 2.932781 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 17:36:00 SOL-USDT SELL OPEN 152.9900 -0.001793 2.932781 ADA-USDT & SOL-USDT OPEN\n",
- "CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 18:16:00 ADA-USDT SELL CLOSE 0.6752 0.000173 0.95951 ADA-USDT & SOL-USDT CLOSE\n",
- "1 2025-06-02 18:16:00 SOL-USDT BUY CLOSE 153.8700 0.000173 0.95951 ADA-USDT & SOL-USDT CLOSE\n",
- "OPEN_TRADES: 2025-06-02 19:03:00 open_scaled_disequilibrium=2.2278377496743373\n",
- "OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:03:00 ADA-USDT SELL OPEN 0.6775 0.002985 2.227838 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 19:03:00 SOL-USDT BUY OPEN 153.6100 0.002985 2.227838 ADA-USDT & SOL-USDT OPEN\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 17:24:00 ADA-USDT BUY OPEN 0.6755 -2.748538 2.748538 -2.748538 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 17:24:00 SOL-USDT SELL OPEN 153.5600 -2.748538 2.748538 -2.748538 ADA-USDT & SOL-USDT OPEN\n",
"STOP CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:08:00 ADA-USDT BUY CLOSE 0.6763 0.00987 2.980161 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "1 2025-06-02 19:08:00 SOL-USDT SELL CLOSE 153.0100 0.00987 2.980161 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "OPEN_TRADES: 2025-06-02 19:09:00 open_scaled_disequilibrium=2.8642081530160217\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 17:33:00 ADA-USDT SELL CLOSE 0.6722 -1.168442 1.168442 -1.168442 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "1 2025-06-02 17:33:00 SOL-USDT BUY CLOSE 153.2400 -1.168442 1.168442 -1.168442 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "OPEN_TRADES: 2025-06-02 18:02:00 open_scaled_disequilibrium=2.0472288892294728\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:09:00 ADA-USDT BUY OPEN 0.6765 -0.006175 2.864208 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 19:09:00 SOL-USDT SELL OPEN 153.0500 -0.006175 2.864208 ADA-USDT & SOL-USDT OPEN\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 18:02:00 ADA-USDT SELL OPEN 0.6741 2.047229 2.047229 2.047229 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 18:02:00 SOL-USDT BUY OPEN 153.5900 2.047229 2.047229 2.047229 ADA-USDT & SOL-USDT OPEN\n",
+ "CLOSE TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 18:06:00 ADA-USDT BUY CLOSE 0.6746 -0.089168 0.089168 -0.089168 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 18:06:00 SOL-USDT SELL CLOSE 153.7900 -0.089168 0.089168 -0.089168 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 19:35:00 open_scaled_disequilibrium=2.016877535891162\n",
+ "OPEN TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 19:35:00 ADA-USDT BUY OPEN 0.6719 -2.016878 2.016878 -2.016878 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 19:35:00 SOL-USDT SELL OPEN 151.9900 -2.016878 2.016878 -2.016878 ADA-USDT & SOL-USDT OPEN\n",
"STOP CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:11:00 ADA-USDT SELL CLOSE 0.6748 -0.009987 2.846697 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "1 2025-06-02 19:11:00 SOL-USDT BUY CLOSE 152.6200 -0.009987 2.846697 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "OPEN_TRADES: 2025-06-02 19:12:00 open_scaled_disequilibrium=3.418633634727695\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 20:09:00 ADA-USDT SELL CLOSE 0.6791 -1.119561 1.119561 -1.119561 ADA-USDT & SOL-USDT CLOSE_STOP_PROFIT\n",
+ "1 2025-06-02 20:09:00 SOL-USDT BUY CLOSE 153.7500 -1.119561 1.119561 -1.119561 ADA-USDT & SOL-USDT CLOSE_STOP_PROFIT\n",
+ "OPEN_TRADES: 2025-06-02 20:32:00 open_scaled_disequilibrium=2.1193116614341356\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:12:00 ADA-USDT SELL OPEN 0.6739 0.009692 3.418634 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 19:12:00 SOL-USDT BUY OPEN 152.1700 0.009692 3.418634 ADA-USDT & SOL-USDT OPEN\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 20:32:00 ADA-USDT BUY OPEN 0.6811 -2.119312 2.119312 -2.119312 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 20:32:00 SOL-USDT SELL OPEN 154.2200 -2.119312 2.119312 -2.119312 ADA-USDT & SOL-USDT OPEN\n",
+ "CLOSE TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 21:04:00 ADA-USDT SELL CLOSE 0.6845 -0.316305 0.316305 -0.316305 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 21:04:00 SOL-USDT BUY CLOSE 154.7200 -0.316305 0.316305 -0.316305 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 21:33:00 open_scaled_disequilibrium=2.1162146947771068\n",
+ "OPEN TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 21:33:00 ADA-USDT SELL OPEN 0.6819 2.116215 2.116215 2.116215 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 21:33:00 SOL-USDT BUY OPEN 154.5100 2.116215 2.116215 2.116215 ADA-USDT & SOL-USDT OPEN\n",
+ "CLOSE TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 21:40:00 ADA-USDT BUY CLOSE 0.6833 -0.195611 0.195611 -0.195611 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 21:40:00 SOL-USDT SELL CLOSE 154.9200 -0.195611 0.195611 -0.195611 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 21:58:00 open_scaled_disequilibrium=2.0841568077931436\n",
+ "OPEN TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 21:58:00 ADA-USDT BUY OPEN 0.6842 -2.084157 2.084157 -2.084157 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 21:58:00 SOL-USDT SELL OPEN 155.2900 -2.084157 2.084157 -2.084157 ADA-USDT & SOL-USDT OPEN\n",
+ "CLOSE TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 22:06:00 ADA-USDT SELL CLOSE 0.6887 -0.396354 0.396354 -0.396354 ADA-USDT & SOL-USDT CLOSE\n",
+ "1 2025-06-02 22:06:00 SOL-USDT BUY CLOSE 155.8300 -0.396354 0.396354 -0.396354 ADA-USDT & SOL-USDT CLOSE\n",
+ "OPEN_TRADES: 2025-06-02 22:19:00 open_scaled_disequilibrium=2.10216298924875\n",
+ "OPEN TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 22:19:00 ADA-USDT SELL OPEN 0.6905 2.102163 2.102163 2.102163 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 22:19:00 SOL-USDT BUY OPEN 156.2700 2.102163 2.102163 2.102163 ADA-USDT & SOL-USDT OPEN\n",
"STOP CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 19:34:00 ADA-USDT BUY CLOSE 0.6717 -0.00109 1.588587 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "1 2025-06-02 19:34:00 SOL-USDT SELL CLOSE 151.8300 -0.00109 1.588587 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "OPEN_TRADES: 2025-06-02 21:48:00 open_scaled_disequilibrium=2.5214214864370303\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 22:22:00 ADA-USDT BUY CLOSE 0.6882 1.931205 1.931205 1.931205 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "1 2025-06-02 22:22:00 SOL-USDT SELL CLOSE 155.9200 1.931205 1.931205 1.931205 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "OPEN_TRADES: 2025-06-02 23:55:00 open_scaled_disequilibrium=2.2438675739562233\n",
"OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 21:48:00 ADA-USDT BUY OPEN 0.6827 -0.00224 2.521421 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 21:48:00 SOL-USDT SELL OPEN 155.2000 -0.00224 2.521421 ADA-USDT & SOL-USDT OPEN\n",
- "CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 22:04:00 ADA-USDT SELL CLOSE 0.6883 -0.002265 0.428332 ADA-USDT & SOL-USDT CLOSE\n",
- "1 2025-06-02 22:04:00 SOL-USDT BUY CLOSE 156.0400 -0.002265 0.428332 ADA-USDT & SOL-USDT CLOSE\n",
- "OPEN_TRADES: 2025-06-02 22:09:00 open_scaled_disequilibrium=2.670046055313119\n",
- "OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 22:09:00 ADA-USDT SELL OPEN 0.69 0.002581 2.670046 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 22:09:00 SOL-USDT BUY OPEN 155.67 0.002581 2.670046 ADA-USDT & SOL-USDT OPEN\n",
- "CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 22:14:00 ADA-USDT BUY CLOSE 0.6891 0.000614 0.859073 ADA-USDT & SOL-USDT CLOSE\n",
- "1 2025-06-02 22:14:00 SOL-USDT SELL CLOSE 155.8800 0.000614 0.859073 ADA-USDT & SOL-USDT CLOSE\n",
- "OPEN_TRADES: 2025-06-02 23:40:00 open_scaled_disequilibrium=2.1923551272389994\n",
- "OPEN TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 23:40:00 ADA-USDT BUY OPEN 0.6896 -0.001467 2.192355 ADA-USDT & SOL-USDT OPEN\n",
- "1 2025-06-02 23:40:00 SOL-USDT SELL OPEN 157.0000 -0.001467 2.192355 ADA-USDT & SOL-USDT OPEN\n",
- "CLOSE TRADES:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 23:58:00 ADA-USDT SELL CLOSE 0.6896 -0.000184 0.896276 ADA-USDT & SOL-USDT CLOSE\n",
- "1 2025-06-02 23:58:00 SOL-USDT BUY CLOSE 156.8200 -0.000184 0.896276 ADA-USDT & SOL-USDT CLOSE\n",
- "***ADA-USDT & SOL-USDT*** FINISHED *** Num Trades:36\n",
- "Generated 36 trading signals\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 23:55:00 ADA-USDT BUY OPEN 0.6892 -2.243868 2.243868 -2.243868 ADA-USDT & SOL-USDT OPEN\n",
+ "1 2025-06-02 23:55:00 SOL-USDT SELL OPEN 156.9400 -2.243868 2.243868 -2.243868 ADA-USDT & SOL-USDT OPEN\n",
+ "ADA-USDT & SOL-USDT: *** Position is NOT CLOSED. ***\n",
+ "CLOSE_POSITION TRADES:\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 23:59:00 ADA-USDT SELL CLOSE 0.6896 -2.951683 2.951683 -2.951683 ADA-USDT & SOL-USDT CLOSE_POSITION\n",
+ "1 2025-06-02 23:59:00 SOL-USDT BUY CLOSE 156.8300 -2.951683 2.951683 -2.951683 ADA-USDT & SOL-USDT CLOSE_POSITION\n",
+ "***ADA-USDT & SOL-USDT*** FINISHED *** Num Trades:44\n",
+ "Generated 44 trading signals\n",
"\n",
"Strategy execution completed!\n",
"\n",
@@ -1558,50 +1588,58 @@
"text": [
"=== SLIDING FIT INTERACTIVE VISUALIZATION ===\n",
"Note: Rolling Fit strategy visualization with interactive plotly charts\n",
- "Using consistent timeline with 629 timestamps\n",
+ "Using consistent timeline with 749 timestamps\n",
"Timeline range: 2025-06-02 13:30:00 to 2025-06-02 23:59:00\n",
"\n",
"Symbol_A trades:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "0 2025-06-02 15:48:00 ADA-USDT SELL OPEN 0.6736 0.002199 2.081805 ADA-USDT & SOL-USDT OPEN\n",
- "2 2025-06-02 16:04:00 ADA-USDT BUY CLOSE 0.6731 0.000948 0.798953 ADA-USDT & SOL-USDT CLOSE\n",
- "4 2025-06-02 17:29:00 ADA-USDT BUY OPEN 0.6745 -0.001016 2.138957 ADA-USDT & SOL-USDT OPEN\n",
- "6 2025-06-02 17:35:00 ADA-USDT SELL CLOSE 0.6712 -0.002270 3.905930 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "8 2025-06-02 17:36:00 ADA-USDT BUY OPEN 0.6715 -0.001793 2.932781 ADA-USDT & SOL-USDT OPEN\n",
- "10 2025-06-02 18:16:00 ADA-USDT SELL CLOSE 0.6752 0.000173 0.959510 ADA-USDT & SOL-USDT CLOSE\n",
- "12 2025-06-02 19:03:00 ADA-USDT SELL OPEN 0.6775 0.002985 2.227838 ADA-USDT & SOL-USDT OPEN\n",
- "14 2025-06-02 19:08:00 ADA-USDT BUY CLOSE 0.6763 0.009870 2.980161 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "16 2025-06-02 19:09:00 ADA-USDT BUY OPEN 0.6765 -0.006175 2.864208 ADA-USDT & SOL-USDT OPEN\n",
- "18 2025-06-02 19:11:00 ADA-USDT SELL CLOSE 0.6748 -0.009987 2.846697 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "20 2025-06-02 19:12:00 ADA-USDT SELL OPEN 0.6739 0.009692 3.418634 ADA-USDT & SOL-USDT OPEN\n",
- "22 2025-06-02 19:34:00 ADA-USDT BUY CLOSE 0.6717 -0.001090 1.588587 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "24 2025-06-02 21:48:00 ADA-USDT BUY OPEN 0.6827 -0.002240 2.521421 ADA-USDT & SOL-USDT OPEN\n",
- "26 2025-06-02 22:04:00 ADA-USDT SELL CLOSE 0.6883 -0.002265 0.428332 ADA-USDT & SOL-USDT CLOSE\n",
- "28 2025-06-02 22:09:00 ADA-USDT SELL OPEN 0.6900 0.002581 2.670046 ADA-USDT & SOL-USDT OPEN\n",
- "30 2025-06-02 22:14:00 ADA-USDT BUY CLOSE 0.6891 0.000614 0.859073 ADA-USDT & SOL-USDT CLOSE\n",
- "32 2025-06-02 23:40:00 ADA-USDT BUY OPEN 0.6896 -0.001467 2.192355 ADA-USDT & SOL-USDT OPEN\n",
- "34 2025-06-02 23:58:00 ADA-USDT SELL CLOSE 0.6896 -0.000184 0.896276 ADA-USDT & SOL-USDT CLOSE\n",
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "0 2025-06-02 15:31:00 ADA-USDT BUY OPEN 0.6733 -2.892081 2.892081 -2.892081 ADA-USDT & SOL-USDT OPEN\n",
+ "2 2025-06-02 15:41:00 ADA-USDT SELL CLOSE 0.6735 0.014633 0.014633 0.014633 ADA-USDT & SOL-USDT CLOSE\n",
+ "4 2025-06-02 16:44:00 ADA-USDT BUY OPEN 0.6708 -2.364779 2.364779 -2.364779 ADA-USDT & SOL-USDT OPEN\n",
+ "6 2025-06-02 17:01:00 ADA-USDT SELL CLOSE 0.6745 -0.457250 0.457250 -0.457250 ADA-USDT & SOL-USDT CLOSE\n",
+ "8 2025-06-02 17:06:00 ADA-USDT BUY OPEN 0.6738 -2.191025 2.191025 -2.191025 ADA-USDT & SOL-USDT OPEN\n",
+ "10 2025-06-02 17:14:00 ADA-USDT SELL CLOSE 0.6717 -0.939467 0.939467 -0.939467 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "12 2025-06-02 17:24:00 ADA-USDT BUY OPEN 0.6755 -2.748538 2.748538 -2.748538 ADA-USDT & SOL-USDT OPEN\n",
+ "14 2025-06-02 17:33:00 ADA-USDT SELL CLOSE 0.6722 -1.168442 1.168442 -1.168442 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "16 2025-06-02 18:02:00 ADA-USDT SELL OPEN 0.6741 2.047229 2.047229 2.047229 ADA-USDT & SOL-USDT OPEN\n",
+ "18 2025-06-02 18:06:00 ADA-USDT BUY CLOSE 0.6746 -0.089168 0.089168 -0.089168 ADA-USDT & SOL-USDT CLOSE\n",
+ "20 2025-06-02 19:35:00 ADA-USDT BUY OPEN 0.6719 -2.016878 2.016878 -2.016878 ADA-USDT & SOL-USDT OPEN\n",
+ "22 2025-06-02 20:09:00 ADA-USDT SELL CLOSE 0.6791 -1.119561 1.119561 -1.119561 ADA-USDT & SOL-USDT CLOSE_STOP_PROFIT\n",
+ "24 2025-06-02 20:32:00 ADA-USDT BUY OPEN 0.6811 -2.119312 2.119312 -2.119312 ADA-USDT & SOL-USDT OPEN\n",
+ "26 2025-06-02 21:04:00 ADA-USDT SELL CLOSE 0.6845 -0.316305 0.316305 -0.316305 ADA-USDT & SOL-USDT CLOSE\n",
+ "28 2025-06-02 21:33:00 ADA-USDT SELL OPEN 0.6819 2.116215 2.116215 2.116215 ADA-USDT & SOL-USDT OPEN\n",
+ "30 2025-06-02 21:40:00 ADA-USDT BUY CLOSE 0.6833 -0.195611 0.195611 -0.195611 ADA-USDT & SOL-USDT CLOSE\n",
+ "32 2025-06-02 21:58:00 ADA-USDT BUY OPEN 0.6842 -2.084157 2.084157 -2.084157 ADA-USDT & SOL-USDT OPEN\n",
+ "34 2025-06-02 22:06:00 ADA-USDT SELL CLOSE 0.6887 -0.396354 0.396354 -0.396354 ADA-USDT & SOL-USDT CLOSE\n",
+ "36 2025-06-02 22:19:00 ADA-USDT SELL OPEN 0.6905 2.102163 2.102163 2.102163 ADA-USDT & SOL-USDT OPEN\n",
+ "38 2025-06-02 22:22:00 ADA-USDT BUY CLOSE 0.6882 1.931205 1.931205 1.931205 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "40 2025-06-02 23:55:00 ADA-USDT BUY OPEN 0.6892 -2.243868 2.243868 -2.243868 ADA-USDT & SOL-USDT OPEN\n",
+ "42 2025-06-02 23:59:00 ADA-USDT SELL CLOSE 0.6896 -2.951683 2.951683 -2.951683 ADA-USDT & SOL-USDT CLOSE_POSITION\n",
"\n",
"Symbol_B trades:\n",
- " time symbol side action price disequilibrium scaled_disequilibrium pair status\n",
- "1 2025-06-02 15:48:00 SOL-USDT BUY OPEN 152.80 0.002199 2.081805 ADA-USDT & SOL-USDT OPEN\n",
- "3 2025-06-02 16:04:00 SOL-USDT SELL CLOSE 152.94 0.000948 0.798953 ADA-USDT & SOL-USDT CLOSE\n",
- "5 2025-06-02 17:29:00 SOL-USDT SELL OPEN 153.44 -0.001016 2.138957 ADA-USDT & SOL-USDT OPEN\n",
- "7 2025-06-02 17:35:00 SOL-USDT BUY CLOSE 153.03 -0.002270 3.905930 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "9 2025-06-02 17:36:00 SOL-USDT SELL OPEN 152.99 -0.001793 2.932781 ADA-USDT & SOL-USDT OPEN\n",
- "11 2025-06-02 18:16:00 SOL-USDT BUY CLOSE 153.87 0.000173 0.959510 ADA-USDT & SOL-USDT CLOSE\n",
- "13 2025-06-02 19:03:00 SOL-USDT BUY OPEN 153.61 0.002985 2.227838 ADA-USDT & SOL-USDT OPEN\n",
- "15 2025-06-02 19:08:00 SOL-USDT SELL CLOSE 153.01 0.009870 2.980161 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "17 2025-06-02 19:09:00 SOL-USDT SELL OPEN 153.05 -0.006175 2.864208 ADA-USDT & SOL-USDT OPEN\n",
- "19 2025-06-02 19:11:00 SOL-USDT BUY CLOSE 152.62 -0.009987 2.846697 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "21 2025-06-02 19:12:00 SOL-USDT BUY OPEN 152.17 0.009692 3.418634 ADA-USDT & SOL-USDT OPEN\n",
- "23 2025-06-02 19:34:00 SOL-USDT SELL CLOSE 151.83 -0.001090 1.588587 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
- "25 2025-06-02 21:48:00 SOL-USDT SELL OPEN 155.20 -0.002240 2.521421 ADA-USDT & SOL-USDT OPEN\n",
- "27 2025-06-02 22:04:00 SOL-USDT BUY CLOSE 156.04 -0.002265 0.428332 ADA-USDT & SOL-USDT CLOSE\n",
- "29 2025-06-02 22:09:00 SOL-USDT BUY OPEN 155.67 0.002581 2.670046 ADA-USDT & SOL-USDT OPEN\n",
- "31 2025-06-02 22:14:00 SOL-USDT SELL CLOSE 155.88 0.000614 0.859073 ADA-USDT & SOL-USDT CLOSE\n",
- "33 2025-06-02 23:40:00 SOL-USDT SELL OPEN 157.00 -0.001467 2.192355 ADA-USDT & SOL-USDT OPEN\n",
- "35 2025-06-02 23:58:00 SOL-USDT BUY CLOSE 156.82 -0.000184 0.896276 ADA-USDT & SOL-USDT CLOSE\n"
+ " time symbol side action price disequilibrium scaled_disequilibrium signed_scaled_disequilibrium pair status\n",
+ "1 2025-06-02 15:31:00 SOL-USDT SELL OPEN 153.16 -2.892081 2.892081 -2.892081 ADA-USDT & SOL-USDT OPEN\n",
+ "3 2025-06-02 15:41:00 SOL-USDT BUY CLOSE 153.08 0.014633 0.014633 0.014633 ADA-USDT & SOL-USDT CLOSE\n",
+ "5 2025-06-02 16:44:00 SOL-USDT SELL OPEN 152.47 -2.364779 2.364779 -2.364779 ADA-USDT & SOL-USDT OPEN\n",
+ "7 2025-06-02 17:01:00 SOL-USDT BUY CLOSE 153.21 -0.457250 0.457250 -0.457250 ADA-USDT & SOL-USDT CLOSE\n",
+ "9 2025-06-02 17:06:00 SOL-USDT SELL OPEN 152.90 -2.191025 2.191025 -2.191025 ADA-USDT & SOL-USDT OPEN\n",
+ "11 2025-06-02 17:14:00 SOL-USDT BUY CLOSE 152.54 -0.939467 0.939467 -0.939467 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "13 2025-06-02 17:24:00 SOL-USDT SELL OPEN 153.56 -2.748538 2.748538 -2.748538 ADA-USDT & SOL-USDT OPEN\n",
+ "15 2025-06-02 17:33:00 SOL-USDT BUY CLOSE 153.24 -1.168442 1.168442 -1.168442 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "17 2025-06-02 18:02:00 SOL-USDT BUY OPEN 153.59 2.047229 2.047229 2.047229 ADA-USDT & SOL-USDT OPEN\n",
+ "19 2025-06-02 18:06:00 SOL-USDT SELL CLOSE 153.79 -0.089168 0.089168 -0.089168 ADA-USDT & SOL-USDT CLOSE\n",
+ "21 2025-06-02 19:35:00 SOL-USDT SELL OPEN 151.99 -2.016878 2.016878 -2.016878 ADA-USDT & SOL-USDT OPEN\n",
+ "23 2025-06-02 20:09:00 SOL-USDT BUY CLOSE 153.75 -1.119561 1.119561 -1.119561 ADA-USDT & SOL-USDT CLOSE_STOP_PROFIT\n",
+ "25 2025-06-02 20:32:00 SOL-USDT SELL OPEN 154.22 -2.119312 2.119312 -2.119312 ADA-USDT & SOL-USDT OPEN\n",
+ "27 2025-06-02 21:04:00 SOL-USDT BUY CLOSE 154.72 -0.316305 0.316305 -0.316305 ADA-USDT & SOL-USDT CLOSE\n",
+ "29 2025-06-02 21:33:00 SOL-USDT BUY OPEN 154.51 2.116215 2.116215 2.116215 ADA-USDT & SOL-USDT OPEN\n",
+ "31 2025-06-02 21:40:00 SOL-USDT SELL CLOSE 154.92 -0.195611 0.195611 -0.195611 ADA-USDT & SOL-USDT CLOSE\n",
+ "33 2025-06-02 21:58:00 SOL-USDT SELL OPEN 155.29 -2.084157 2.084157 -2.084157 ADA-USDT & SOL-USDT OPEN\n",
+ "35 2025-06-02 22:06:00 SOL-USDT BUY CLOSE 155.83 -0.396354 0.396354 -0.396354 ADA-USDT & SOL-USDT CLOSE\n",
+ "37 2025-06-02 22:19:00 SOL-USDT BUY OPEN 156.27 2.102163 2.102163 2.102163 ADA-USDT & SOL-USDT OPEN\n",
+ "39 2025-06-02 22:22:00 SOL-USDT SELL CLOSE 155.92 1.931205 1.931205 1.931205 ADA-USDT & SOL-USDT CLOSE_STOP_LOSS\n",
+ "41 2025-06-02 23:55:00 SOL-USDT SELL OPEN 156.94 -2.243868 2.243868 -2.243868 ADA-USDT & SOL-USDT OPEN\n",
+ "43 2025-06-02 23:59:00 SOL-USDT BUY CLOSE 156.83 -2.951683 2.951683 -2.951683 ADA-USDT & SOL-USDT CLOSE_POSITION\n"
]
},
{
@@ -1616,86 +1654,236 @@
"color": "green",
"width": 2
},
- "name": "Scaled Dis-equilibrium",
+ "name": "Absolute Scaled Dis-equilibrium",
"opacity": 0.8,
"type": "scatter",
"x": [
- "2025-06-02T13:30:00.000000000",
"2025-06-02T13:31:00.000000000",
"2025-06-02T13:32:00.000000000",
"2025-06-02T13:33:00.000000000",
"2025-06-02T13:34:00.000000000",
"2025-06-02T13:35:00.000000000",
- "2025-06-02T13:36:00.000000000",
"2025-06-02T13:37:00.000000000",
"2025-06-02T13:38:00.000000000",
- "2025-06-02T13:39:00.000000000",
"2025-06-02T13:40:00.000000000",
"2025-06-02T13:41:00.000000000",
"2025-06-02T13:42:00.000000000",
- "2025-06-02T13:43:00.000000000",
"2025-06-02T13:44:00.000000000",
"2025-06-02T13:45:00.000000000",
- "2025-06-02T13:46:00.000000000",
- "2025-06-02T13:47:00.000000000",
- "2025-06-02T13:48:00.000000000",
"2025-06-02T13:49:00.000000000",
"2025-06-02T13:50:00.000000000",
"2025-06-02T13:51:00.000000000",
- "2025-06-02T13:52:00.000000000",
- "2025-06-02T13:53:00.000000000",
- "2025-06-02T13:54:00.000000000",
"2025-06-02T13:55:00.000000000",
- "2025-06-02T13:56:00.000000000",
- "2025-06-02T13:57:00.000000000",
- "2025-06-02T13:58:00.000000000",
"2025-06-02T13:59:00.000000000",
- "2025-06-02T14:00:00.000000000",
- "2025-06-02T14:01:00.000000000",
- "2025-06-02T14:02:00.000000000",
- "2025-06-02T14:03:00.000000000",
"2025-06-02T14:04:00.000000000",
"2025-06-02T14:05:00.000000000",
- "2025-06-02T14:06:00.000000000",
- "2025-06-02T14:07:00.000000000",
- "2025-06-02T14:08:00.000000000",
- "2025-06-02T14:09:00.000000000",
- "2025-06-02T14:10:00.000000000",
"2025-06-02T14:11:00.000000000",
- "2025-06-02T14:12:00.000000000",
- "2025-06-02T14:13:00.000000000",
- "2025-06-02T14:14:00.000000000",
"2025-06-02T14:15:00.000000000",
- "2025-06-02T14:16:00.000000000",
- "2025-06-02T14:17:00.000000000",
"2025-06-02T14:18:00.000000000",
- "2025-06-02T14:19:00.000000000",
- "2025-06-02T14:20:00.000000000",
- "2025-06-02T14:21:00.000000000",
- "2025-06-02T14:22:00.000000000",
"2025-06-02T14:23:00.000000000",
- "2025-06-02T14:24:00.000000000",
- "2025-06-02T14:25:00.000000000",
- "2025-06-02T14:26:00.000000000",
"2025-06-02T14:27:00.000000000",
"2025-06-02T14:28:00.000000000",
- "2025-06-02T14:29:00.000000000",
"2025-06-02T14:30:00.000000000",
- "2025-06-02T14:31:00.000000000",
- "2025-06-02T14:32:00.000000000",
- "2025-06-02T14:33:00.000000000",
"2025-06-02T14:34:00.000000000",
"2025-06-02T14:35:00.000000000",
"2025-06-02T14:36:00.000000000",
"2025-06-02T14:37:00.000000000",
"2025-06-02T14:38:00.000000000",
"2025-06-02T14:39:00.000000000",
- "2025-06-02T14:40:00.000000000",
"2025-06-02T14:41:00.000000000",
- "2025-06-02T14:42:00.000000000",
"2025-06-02T14:43:00.000000000",
- "2025-06-02T14:44:00.000000000",
"2025-06-02T14:45:00.000000000",
+ "2025-06-02T14:58:00.000000000",
+ "2025-06-02T15:08:00.000000000",
+ "2025-06-02T15:14:00.000000000",
+ "2025-06-02T15:19:00.000000000",
+ "2025-06-02T15:20:00.000000000",
+ "2025-06-02T15:21:00.000000000",
+ "2025-06-02T15:23:00.000000000",
+ "2025-06-02T15:24:00.000000000",
+ "2025-06-02T15:29:00.000000000",
+ "2025-06-02T15:30:00.000000000",
+ "2025-06-02T15:31:00.000000000",
+ "2025-06-02T15:33:00.000000000",
+ "2025-06-02T15:34:00.000000000",
+ "2025-06-02T15:35:00.000000000",
+ "2025-06-02T15:38:00.000000000",
+ "2025-06-02T15:48:00.000000000",
+ "2025-06-02T15:49:00.000000000",
+ "2025-06-02T15:53:00.000000000",
+ "2025-06-02T15:55:00.000000000",
+ "2025-06-02T15:57:00.000000000",
+ "2025-06-02T16:04:00.000000000",
+ "2025-06-02T16:06:00.000000000",
+ "2025-06-02T16:07:00.000000000",
+ "2025-06-02T16:09:00.000000000",
+ "2025-06-02T16:12:00.000000000",
+ "2025-06-02T16:16:00.000000000",
+ "2025-06-02T16:17:00.000000000",
+ "2025-06-02T16:18:00.000000000",
+ "2025-06-02T16:19:00.000000000",
+ "2025-06-02T16:20:00.000000000",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "2025-06-02T13:30:00.000000000",
+ "2025-06-02T13:36:00.000000000",
+ "2025-06-02T13:39:00.000000000",
+ "2025-06-02T13:43:00.000000000",
+ "2025-06-02T13:46:00.000000000",
+ "2025-06-02T13:47:00.000000000",
+ "2025-06-02T13:48:00.000000000",
+ "2025-06-02T13:52:00.000000000",
+ "2025-06-02T13:53:00.000000000",
+ "2025-06-02T13:54:00.000000000",
+ "2025-06-02T13:56:00.000000000",
+ "2025-06-02T13:57:00.000000000",
+ "2025-06-02T13:58:00.000000000",
+ "2025-06-02T14:00:00.000000000",
+ "2025-06-02T14:01:00.000000000",
+ "2025-06-02T14:02:00.000000000",
+ "2025-06-02T14:03:00.000000000",
+ "2025-06-02T14:06:00.000000000",
+ "2025-06-02T14:07:00.000000000",
+ "2025-06-02T14:08:00.000000000",
+ "2025-06-02T14:09:00.000000000",
+ "2025-06-02T14:10:00.000000000",
+ "2025-06-02T14:12:00.000000000",
+ "2025-06-02T14:13:00.000000000",
+ "2025-06-02T14:14:00.000000000",
+ "2025-06-02T14:16:00.000000000",
+ "2025-06-02T14:17:00.000000000",
+ "2025-06-02T14:19:00.000000000",
+ "2025-06-02T14:20:00.000000000",
+ "2025-06-02T14:21:00.000000000",
+ "2025-06-02T14:22:00.000000000",
+ "2025-06-02T14:24:00.000000000",
+ "2025-06-02T14:25:00.000000000",
+ "2025-06-02T14:26:00.000000000",
+ "2025-06-02T14:29:00.000000000",
+ "2025-06-02T14:31:00.000000000",
+ "2025-06-02T14:32:00.000000000",
+ "2025-06-02T14:33:00.000000000",
+ "2025-06-02T14:40:00.000000000",
+ "2025-06-02T14:42:00.000000000",
+ "2025-06-02T14:44:00.000000000",
"2025-06-02T14:46:00.000000000",
"2025-06-02T14:47:00.000000000",
"2025-06-02T14:48:00.000000000",
@@ -1707,7 +1895,6 @@
"2025-06-02T14:55:00.000000000",
"2025-06-02T14:56:00.000000000",
"2025-06-02T14:57:00.000000000",
- "2025-06-02T14:58:00.000000000",
"2025-06-02T14:59:00.000000000",
"2025-06-02T15:00:00.000000000",
"2025-06-02T15:01:00.000000000",
@@ -1717,37 +1904,23 @@
"2025-06-02T15:05:00.000000000",
"2025-06-02T15:06:00.000000000",
"2025-06-02T15:07:00.000000000",
- "2025-06-02T15:08:00.000000000",
"2025-06-02T15:09:00.000000000",
"2025-06-02T15:10:00.000000000",
"2025-06-02T15:11:00.000000000",
"2025-06-02T15:12:00.000000000",
"2025-06-02T15:13:00.000000000",
- "2025-06-02T15:14:00.000000000",
"2025-06-02T15:15:00.000000000",
"2025-06-02T15:16:00.000000000",
"2025-06-02T15:17:00.000000000",
"2025-06-02T15:18:00.000000000",
- "2025-06-02T15:19:00.000000000",
- "2025-06-02T15:20:00.000000000",
- "2025-06-02T15:21:00.000000000",
"2025-06-02T15:22:00.000000000",
- "2025-06-02T15:23:00.000000000",
- "2025-06-02T15:24:00.000000000",
"2025-06-02T15:25:00.000000000",
"2025-06-02T15:26:00.000000000",
"2025-06-02T15:27:00.000000000",
"2025-06-02T15:28:00.000000000",
- "2025-06-02T15:29:00.000000000",
- "2025-06-02T15:30:00.000000000",
- "2025-06-02T15:31:00.000000000",
"2025-06-02T15:32:00.000000000",
- "2025-06-02T15:33:00.000000000",
- "2025-06-02T15:34:00.000000000",
- "2025-06-02T15:35:00.000000000",
"2025-06-02T15:36:00.000000000",
"2025-06-02T15:37:00.000000000",
- "2025-06-02T15:38:00.000000000",
"2025-06-02T15:39:00.000000000",
"2025-06-02T15:40:00.000000000",
"2025-06-02T15:41:00.000000000",
@@ -1757,39 +1930,24 @@
"2025-06-02T15:45:00.000000000",
"2025-06-02T15:46:00.000000000",
"2025-06-02T15:47:00.000000000",
- "2025-06-02T15:48:00.000000000",
- "2025-06-02T15:49:00.000000000",
"2025-06-02T15:50:00.000000000",
"2025-06-02T15:51:00.000000000",
"2025-06-02T15:52:00.000000000",
- "2025-06-02T15:53:00.000000000",
"2025-06-02T15:54:00.000000000",
- "2025-06-02T15:55:00.000000000",
"2025-06-02T15:56:00.000000000",
- "2025-06-02T15:57:00.000000000",
"2025-06-02T15:58:00.000000000",
"2025-06-02T15:59:00.000000000",
"2025-06-02T16:00:00.000000000",
"2025-06-02T16:01:00.000000000",
"2025-06-02T16:02:00.000000000",
"2025-06-02T16:03:00.000000000",
- "2025-06-02T16:04:00.000000000",
"2025-06-02T16:05:00.000000000",
- "2025-06-02T16:06:00.000000000",
- "2025-06-02T16:07:00.000000000",
"2025-06-02T16:08:00.000000000",
- "2025-06-02T16:09:00.000000000",
"2025-06-02T16:10:00.000000000",
"2025-06-02T16:11:00.000000000",
- "2025-06-02T16:12:00.000000000",
"2025-06-02T16:13:00.000000000",
"2025-06-02T16:14:00.000000000",
"2025-06-02T16:15:00.000000000",
- "2025-06-02T16:16:00.000000000",
- "2025-06-02T16:17:00.000000000",
- "2025-06-02T16:18:00.000000000",
- "2025-06-02T16:19:00.000000000",
- "2025-06-02T16:20:00.000000000",
"2025-06-02T16:21:00.000000000",
"2025-06-02T16:22:00.000000000",
"2025-06-02T16:23:00.000000000",
@@ -2252,7 +2410,773 @@
],
"xaxis": "x",
"y": {
- "bdata": "AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAA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",
+ "bdata": "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",
+ "dtype": "f8"
+ },
+ "yaxis": "y"
+ },
+ {
+ "line": {
+ "color": "darkmagenta",
+ "width": 2
+ },
+ "name": "Scaled Dis-equilibrium",
+ "opacity": 0.8,
+ "type": "scatter",
+ "x": [
+ "2025-06-02T13:31:00.000000000",
+ "2025-06-02T13:32:00.000000000",
+ "2025-06-02T13:33:00.000000000",
+ "2025-06-02T13:34:00.000000000",
+ "2025-06-02T13:35:00.000000000",
+ "2025-06-02T13:37:00.000000000",
+ "2025-06-02T13:38:00.000000000",
+ "2025-06-02T13:40:00.000000000",
+ "2025-06-02T13:41:00.000000000",
+ "2025-06-02T13:42:00.000000000",
+ "2025-06-02T13:44:00.000000000",
+ "2025-06-02T13:45:00.000000000",
+ "2025-06-02T13:49:00.000000000",
+ "2025-06-02T13:50:00.000000000",
+ "2025-06-02T13:51:00.000000000",
+ "2025-06-02T13:55:00.000000000",
+ "2025-06-02T13:59:00.000000000",
+ "2025-06-02T14:04:00.000000000",
+ "2025-06-02T14:05:00.000000000",
+ "2025-06-02T14:11:00.000000000",
+ "2025-06-02T14:15:00.000000000",
+ "2025-06-02T14:18:00.000000000",
+ "2025-06-02T14:23:00.000000000",
+ "2025-06-02T14:27:00.000000000",
+ "2025-06-02T14:28:00.000000000",
+ "2025-06-02T14:30:00.000000000",
+ "2025-06-02T14:34:00.000000000",
+ "2025-06-02T14:35:00.000000000",
+ "2025-06-02T14:36:00.000000000",
+ "2025-06-02T14:37:00.000000000",
+ "2025-06-02T14:38:00.000000000",
+ "2025-06-02T14:39:00.000000000",
+ "2025-06-02T14:41:00.000000000",
+ "2025-06-02T14:43:00.000000000",
+ "2025-06-02T14:45:00.000000000",
+ "2025-06-02T14:58:00.000000000",
+ "2025-06-02T15:08:00.000000000",
+ "2025-06-02T15:14:00.000000000",
+ "2025-06-02T15:19:00.000000000",
+ "2025-06-02T15:20:00.000000000",
+ "2025-06-02T15:21:00.000000000",
+ "2025-06-02T15:23:00.000000000",
+ "2025-06-02T15:24:00.000000000",
+ "2025-06-02T15:29:00.000000000",
+ "2025-06-02T15:30:00.000000000",
+ "2025-06-02T15:31:00.000000000",
+ "2025-06-02T15:33:00.000000000",
+ "2025-06-02T15:34:00.000000000",
+ "2025-06-02T15:35:00.000000000",
+ "2025-06-02T15:38:00.000000000",
+ "2025-06-02T15:48:00.000000000",
+ "2025-06-02T15:49:00.000000000",
+ "2025-06-02T15:53:00.000000000",
+ "2025-06-02T15:55:00.000000000",
+ "2025-06-02T15:57:00.000000000",
+ "2025-06-02T16:04:00.000000000",
+ "2025-06-02T16:06:00.000000000",
+ "2025-06-02T16:07:00.000000000",
+ "2025-06-02T16:09:00.000000000",
+ "2025-06-02T16:12:00.000000000",
+ "2025-06-02T16:16:00.000000000",
+ "2025-06-02T16:17:00.000000000",
+ "2025-06-02T16:18:00.000000000",
+ "2025-06-02T16:19:00.000000000",
+ "2025-06-02T16:20:00.000000000",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "NaT",
+ "2025-06-02T13:30:00.000000000",
+ "2025-06-02T13:36:00.000000000",
+ "2025-06-02T13:39:00.000000000",
+ "2025-06-02T13:43:00.000000000",
+ "2025-06-02T13:46:00.000000000",
+ "2025-06-02T13:47:00.000000000",
+ "2025-06-02T13:48:00.000000000",
+ "2025-06-02T13:52:00.000000000",
+ "2025-06-02T13:53:00.000000000",
+ "2025-06-02T13:54:00.000000000",
+ "2025-06-02T13:56:00.000000000",
+ "2025-06-02T13:57:00.000000000",
+ "2025-06-02T13:58:00.000000000",
+ "2025-06-02T14:00:00.000000000",
+ "2025-06-02T14:01:00.000000000",
+ "2025-06-02T14:02:00.000000000",
+ "2025-06-02T14:03:00.000000000",
+ "2025-06-02T14:06:00.000000000",
+ "2025-06-02T14:07:00.000000000",
+ "2025-06-02T14:08:00.000000000",
+ "2025-06-02T14:09:00.000000000",
+ "2025-06-02T14:10:00.000000000",
+ "2025-06-02T14:12:00.000000000",
+ "2025-06-02T14:13:00.000000000",
+ "2025-06-02T14:14:00.000000000",
+ "2025-06-02T14:16:00.000000000",
+ "2025-06-02T14:17:00.000000000",
+ "2025-06-02T14:19:00.000000000",
+ "2025-06-02T14:20:00.000000000",
+ "2025-06-02T14:21:00.000000000",
+ "2025-06-02T14:22:00.000000000",
+ "2025-06-02T14:24:00.000000000",
+ "2025-06-02T14:25:00.000000000",
+ "2025-06-02T14:26:00.000000000",
+ "2025-06-02T14:29:00.000000000",
+ "2025-06-02T14:31:00.000000000",
+ "2025-06-02T14:32:00.000000000",
+ "2025-06-02T14:33:00.000000000",
+ "2025-06-02T14:40:00.000000000",
+ "2025-06-02T14:42:00.000000000",
+ "2025-06-02T14:44:00.000000000",
+ "2025-06-02T14:46:00.000000000",
+ "2025-06-02T14:47:00.000000000",
+ "2025-06-02T14:48:00.000000000",
+ "2025-06-02T14:49:00.000000000",
+ "2025-06-02T14:50:00.000000000",
+ "2025-06-02T14:51:00.000000000",
+ "2025-06-02T14:53:00.000000000",
+ "2025-06-02T14:54:00.000000000",
+ "2025-06-02T14:55:00.000000000",
+ "2025-06-02T14:56:00.000000000",
+ "2025-06-02T14:57:00.000000000",
+ "2025-06-02T14:59:00.000000000",
+ "2025-06-02T15:00:00.000000000",
+ "2025-06-02T15:01:00.000000000",
+ "2025-06-02T15:02:00.000000000",
+ "2025-06-02T15:03:00.000000000",
+ "2025-06-02T15:04:00.000000000",
+ "2025-06-02T15:05:00.000000000",
+ "2025-06-02T15:06:00.000000000",
+ "2025-06-02T15:07:00.000000000",
+ "2025-06-02T15:09:00.000000000",
+ "2025-06-02T15:10:00.000000000",
+ "2025-06-02T15:11:00.000000000",
+ "2025-06-02T15:12:00.000000000",
+ "2025-06-02T15:13:00.000000000",
+ "2025-06-02T15:15:00.000000000",
+ "2025-06-02T15:16:00.000000000",
+ "2025-06-02T15:17:00.000000000",
+ "2025-06-02T15:18:00.000000000",
+ "2025-06-02T15:22:00.000000000",
+ "2025-06-02T15:25:00.000000000",
+ "2025-06-02T15:26:00.000000000",
+ "2025-06-02T15:27:00.000000000",
+ "2025-06-02T15:28:00.000000000",
+ "2025-06-02T15:32:00.000000000",
+ "2025-06-02T15:36:00.000000000",
+ "2025-06-02T15:37:00.000000000",
+ "2025-06-02T15:39:00.000000000",
+ "2025-06-02T15:40:00.000000000",
+ "2025-06-02T15:41:00.000000000",
+ "2025-06-02T15:42:00.000000000",
+ "2025-06-02T15:43:00.000000000",
+ "2025-06-02T15:44:00.000000000",
+ "2025-06-02T15:45:00.000000000",
+ "2025-06-02T15:46:00.000000000",
+ "2025-06-02T15:47:00.000000000",
+ "2025-06-02T15:50:00.000000000",
+ "2025-06-02T15:51:00.000000000",
+ "2025-06-02T15:52:00.000000000",
+ "2025-06-02T15:54:00.000000000",
+ "2025-06-02T15:56:00.000000000",
+ "2025-06-02T15:58:00.000000000",
+ "2025-06-02T15:59:00.000000000",
+ "2025-06-02T16:00:00.000000000",
+ "2025-06-02T16:01:00.000000000",
+ "2025-06-02T16:02:00.000000000",
+ "2025-06-02T16:03:00.000000000",
+ "2025-06-02T16:05:00.000000000",
+ "2025-06-02T16:08:00.000000000",
+ "2025-06-02T16:10:00.000000000",
+ "2025-06-02T16:11:00.000000000",
+ "2025-06-02T16:13:00.000000000",
+ "2025-06-02T16:14:00.000000000",
+ "2025-06-02T16:15:00.000000000",
+ "2025-06-02T16:21:00.000000000",
+ "2025-06-02T16:22:00.000000000",
+ "2025-06-02T16:23:00.000000000",
+ "2025-06-02T16:24:00.000000000",
+ "2025-06-02T16:25:00.000000000",
+ "2025-06-02T16:26:00.000000000",
+ "2025-06-02T16:27:00.000000000",
+ "2025-06-02T16:28:00.000000000",
+ "2025-06-02T16:29:00.000000000",
+ "2025-06-02T16:30:00.000000000",
+ "2025-06-02T16:31:00.000000000",
+ "2025-06-02T16:32:00.000000000",
+ "2025-06-02T16:33:00.000000000",
+ "2025-06-02T16:34:00.000000000",
+ "2025-06-02T16:35:00.000000000",
+ "2025-06-02T16:36:00.000000000",
+ "2025-06-02T16:37:00.000000000",
+ "2025-06-02T16:38:00.000000000",
+ "2025-06-02T16:39:00.000000000",
+ "2025-06-02T16:40:00.000000000",
+ "2025-06-02T16:41:00.000000000",
+ "2025-06-02T16:42:00.000000000",
+ "2025-06-02T16:43:00.000000000",
+ "2025-06-02T16:44:00.000000000",
+ "2025-06-02T16:45:00.000000000",
+ "2025-06-02T16:46:00.000000000",
+ "2025-06-02T16:47:00.000000000",
+ "2025-06-02T16:48:00.000000000",
+ "2025-06-02T16:49:00.000000000",
+ "2025-06-02T16:50:00.000000000",
+ "2025-06-02T16:51:00.000000000",
+ "2025-06-02T16:52:00.000000000",
+ "2025-06-02T16:53:00.000000000",
+ "2025-06-02T16:54:00.000000000",
+ "2025-06-02T16:55:00.000000000",
+ "2025-06-02T16:56:00.000000000",
+ "2025-06-02T16:57:00.000000000",
+ "2025-06-02T16:58:00.000000000",
+ "2025-06-02T16:59:00.000000000",
+ "2025-06-02T17:00:00.000000000",
+ "2025-06-02T17:01:00.000000000",
+ "2025-06-02T17:02:00.000000000",
+ "2025-06-02T17:03:00.000000000",
+ "2025-06-02T17:04:00.000000000",
+ "2025-06-02T17:05:00.000000000",
+ "2025-06-02T17:06:00.000000000",
+ "2025-06-02T17:07:00.000000000",
+ "2025-06-02T17:08:00.000000000",
+ "2025-06-02T17:09:00.000000000",
+ "2025-06-02T17:10:00.000000000",
+ "2025-06-02T17:11:00.000000000",
+ "2025-06-02T17:12:00.000000000",
+ "2025-06-02T17:13:00.000000000",
+ "2025-06-02T17:14:00.000000000",
+ "2025-06-02T17:15:00.000000000",
+ "2025-06-02T17:16:00.000000000",
+ "2025-06-02T17:17:00.000000000",
+ "2025-06-02T17:18:00.000000000",
+ "2025-06-02T17:19:00.000000000",
+ "2025-06-02T17:20:00.000000000",
+ "2025-06-02T17:21:00.000000000",
+ "2025-06-02T17:22:00.000000000",
+ "2025-06-02T17:23:00.000000000",
+ "2025-06-02T17:24:00.000000000",
+ "2025-06-02T17:25:00.000000000",
+ "2025-06-02T17:26:00.000000000",
+ "2025-06-02T17:27:00.000000000",
+ "2025-06-02T17:28:00.000000000",
+ "2025-06-02T17:29:00.000000000",
+ "2025-06-02T17:30:00.000000000",
+ "2025-06-02T17:31:00.000000000",
+ "2025-06-02T17:32:00.000000000",
+ "2025-06-02T17:33:00.000000000",
+ "2025-06-02T17:34:00.000000000",
+ "2025-06-02T17:35:00.000000000",
+ "2025-06-02T17:36:00.000000000",
+ "2025-06-02T17:37:00.000000000",
+ "2025-06-02T17:38:00.000000000",
+ "2025-06-02T17:39:00.000000000",
+ "2025-06-02T17:40:00.000000000",
+ "2025-06-02T17:41:00.000000000",
+ "2025-06-02T17:42:00.000000000",
+ "2025-06-02T17:43:00.000000000",
+ "2025-06-02T17:44:00.000000000",
+ "2025-06-02T17:45:00.000000000",
+ "2025-06-02T17:46:00.000000000",
+ "2025-06-02T17:47:00.000000000",
+ "2025-06-02T17:48:00.000000000",
+ "2025-06-02T17:49:00.000000000",
+ "2025-06-02T17:50:00.000000000",
+ "2025-06-02T17:51:00.000000000",
+ "2025-06-02T17:52:00.000000000",
+ "2025-06-02T17:53:00.000000000",
+ "2025-06-02T17:54:00.000000000",
+ "2025-06-02T17:55:00.000000000",
+ "2025-06-02T17:56:00.000000000",
+ "2025-06-02T17:57:00.000000000",
+ "2025-06-02T17:58:00.000000000",
+ "2025-06-02T17:59:00.000000000",
+ "2025-06-02T18:00:00.000000000",
+ "2025-06-02T18:01:00.000000000",
+ "2025-06-02T18:02:00.000000000",
+ "2025-06-02T18:03:00.000000000",
+ "2025-06-02T18:04:00.000000000",
+ "2025-06-02T18:05:00.000000000",
+ "2025-06-02T18:06:00.000000000",
+ "2025-06-02T18:07:00.000000000",
+ "2025-06-02T18:08:00.000000000",
+ "2025-06-02T18:09:00.000000000",
+ "2025-06-02T18:10:00.000000000",
+ "2025-06-02T18:11:00.000000000",
+ "2025-06-02T18:12:00.000000000",
+ "2025-06-02T18:13:00.000000000",
+ "2025-06-02T18:14:00.000000000",
+ "2025-06-02T18:15:00.000000000",
+ "2025-06-02T18:16:00.000000000",
+ "2025-06-02T18:17:00.000000000",
+ "2025-06-02T18:18:00.000000000",
+ "2025-06-02T18:19:00.000000000",
+ "2025-06-02T18:20:00.000000000",
+ "2025-06-02T18:21:00.000000000",
+ "2025-06-02T18:22:00.000000000",
+ "2025-06-02T18:23:00.000000000",
+ "2025-06-02T18:24:00.000000000",
+ "2025-06-02T18:25:00.000000000",
+ "2025-06-02T18:26:00.000000000",
+ "2025-06-02T18:27:00.000000000",
+ "2025-06-02T18:28:00.000000000",
+ "2025-06-02T18:29:00.000000000",
+ "2025-06-02T18:30:00.000000000",
+ "2025-06-02T18:31:00.000000000",
+ "2025-06-02T18:32:00.000000000",
+ "2025-06-02T18:33:00.000000000",
+ "2025-06-02T18:34:00.000000000",
+ "2025-06-02T18:35:00.000000000",
+ "2025-06-02T18:36:00.000000000",
+ "2025-06-02T18:37:00.000000000",
+ "2025-06-02T18:38:00.000000000",
+ "2025-06-02T18:39:00.000000000",
+ "2025-06-02T18:40:00.000000000",
+ "2025-06-02T18:41:00.000000000",
+ "2025-06-02T18:42:00.000000000",
+ "2025-06-02T18:43:00.000000000",
+ "2025-06-02T18:44:00.000000000",
+ "2025-06-02T18:45:00.000000000",
+ "2025-06-02T18:46:00.000000000",
+ "2025-06-02T18:47:00.000000000",
+ "2025-06-02T18:48:00.000000000",
+ "2025-06-02T18:49:00.000000000",
+ "2025-06-02T18:50:00.000000000",
+ "2025-06-02T18:51:00.000000000",
+ "2025-06-02T18:52:00.000000000",
+ "2025-06-02T18:53:00.000000000",
+ "2025-06-02T18:54:00.000000000",
+ "2025-06-02T18:55:00.000000000",
+ "2025-06-02T18:56:00.000000000",
+ "2025-06-02T18:57:00.000000000",
+ "2025-06-02T18:58:00.000000000",
+ "2025-06-02T18:59:00.000000000",
+ "2025-06-02T19:00:00.000000000",
+ "2025-06-02T19:01:00.000000000",
+ "2025-06-02T19:02:00.000000000",
+ "2025-06-02T19:03:00.000000000",
+ "2025-06-02T19:04:00.000000000",
+ "2025-06-02T19:05:00.000000000",
+ "2025-06-02T19:06:00.000000000",
+ "2025-06-02T19:07:00.000000000",
+ "2025-06-02T19:08:00.000000000",
+ "2025-06-02T19:09:00.000000000",
+ "2025-06-02T19:10:00.000000000",
+ "2025-06-02T19:11:00.000000000",
+ "2025-06-02T19:12:00.000000000",
+ "2025-06-02T19:13:00.000000000",
+ "2025-06-02T19:14:00.000000000",
+ "2025-06-02T19:15:00.000000000",
+ "2025-06-02T19:16:00.000000000",
+ "2025-06-02T19:17:00.000000000",
+ "2025-06-02T19:18:00.000000000",
+ "2025-06-02T19:19:00.000000000",
+ "2025-06-02T19:20:00.000000000",
+ "2025-06-02T19:21:00.000000000",
+ "2025-06-02T19:22:00.000000000",
+ "2025-06-02T19:23:00.000000000",
+ "2025-06-02T19:24:00.000000000",
+ "2025-06-02T19:25:00.000000000",
+ "2025-06-02T19:26:00.000000000",
+ "2025-06-02T19:27:00.000000000",
+ "2025-06-02T19:28:00.000000000",
+ "2025-06-02T19:29:00.000000000",
+ "2025-06-02T19:30:00.000000000",
+ "2025-06-02T19:31:00.000000000",
+ "2025-06-02T19:32:00.000000000",
+ "2025-06-02T19:33:00.000000000",
+ "2025-06-02T19:34:00.000000000",
+ "2025-06-02T19:35:00.000000000",
+ "2025-06-02T19:36:00.000000000",
+ "2025-06-02T19:37:00.000000000",
+ "2025-06-02T19:38:00.000000000",
+ "2025-06-02T19:39:00.000000000",
+ "2025-06-02T19:40:00.000000000",
+ "2025-06-02T19:41:00.000000000",
+ "2025-06-02T19:42:00.000000000",
+ "2025-06-02T19:43:00.000000000",
+ "2025-06-02T19:44:00.000000000",
+ "2025-06-02T19:45:00.000000000",
+ "2025-06-02T19:46:00.000000000",
+ "2025-06-02T19:47:00.000000000",
+ "2025-06-02T19:48:00.000000000",
+ "2025-06-02T19:49:00.000000000",
+ "2025-06-02T19:50:00.000000000",
+ "2025-06-02T19:51:00.000000000",
+ "2025-06-02T19:52:00.000000000",
+ "2025-06-02T19:53:00.000000000",
+ "2025-06-02T19:54:00.000000000",
+ "2025-06-02T19:55:00.000000000",
+ "2025-06-02T19:56:00.000000000",
+ "2025-06-02T19:57:00.000000000",
+ "2025-06-02T19:58:00.000000000",
+ "2025-06-02T19:59:00.000000000",
+ "2025-06-02T20:00:00.000000000",
+ "2025-06-02T20:01:00.000000000",
+ "2025-06-02T20:02:00.000000000",
+ "2025-06-02T20:03:00.000000000",
+ "2025-06-02T20:04:00.000000000",
+ "2025-06-02T20:05:00.000000000",
+ "2025-06-02T20:06:00.000000000",
+ "2025-06-02T20:07:00.000000000",
+ "2025-06-02T20:08:00.000000000",
+ "2025-06-02T20:09:00.000000000",
+ "2025-06-02T20:10:00.000000000",
+ "2025-06-02T20:11:00.000000000",
+ "2025-06-02T20:12:00.000000000",
+ "2025-06-02T20:13:00.000000000",
+ "2025-06-02T20:14:00.000000000",
+ "2025-06-02T20:15:00.000000000",
+ "2025-06-02T20:16:00.000000000",
+ "2025-06-02T20:17:00.000000000",
+ "2025-06-02T20:18:00.000000000",
+ "2025-06-02T20:19:00.000000000",
+ "2025-06-02T20:20:00.000000000",
+ "2025-06-02T20:21:00.000000000",
+ "2025-06-02T20:22:00.000000000",
+ "2025-06-02T20:23:00.000000000",
+ "2025-06-02T20:24:00.000000000",
+ "2025-06-02T20:25:00.000000000",
+ "2025-06-02T20:26:00.000000000",
+ "2025-06-02T20:27:00.000000000",
+ "2025-06-02T20:28:00.000000000",
+ "2025-06-02T20:29:00.000000000",
+ "2025-06-02T20:30:00.000000000",
+ "2025-06-02T20:31:00.000000000",
+ "2025-06-02T20:32:00.000000000",
+ "2025-06-02T20:33:00.000000000",
+ "2025-06-02T20:34:00.000000000",
+ "2025-06-02T20:35:00.000000000",
+ "2025-06-02T20:36:00.000000000",
+ "2025-06-02T20:37:00.000000000",
+ "2025-06-02T20:38:00.000000000",
+ "2025-06-02T20:39:00.000000000",
+ "2025-06-02T20:40:00.000000000",
+ "2025-06-02T20:41:00.000000000",
+ "2025-06-02T20:42:00.000000000",
+ "2025-06-02T20:43:00.000000000",
+ "2025-06-02T20:44:00.000000000",
+ "2025-06-02T20:45:00.000000000",
+ "2025-06-02T20:46:00.000000000",
+ "2025-06-02T20:47:00.000000000",
+ "2025-06-02T20:48:00.000000000",
+ "2025-06-02T20:49:00.000000000",
+ "2025-06-02T20:50:00.000000000",
+ "2025-06-02T20:51:00.000000000",
+ "2025-06-02T20:52:00.000000000",
+ "2025-06-02T20:53:00.000000000",
+ "2025-06-02T20:54:00.000000000",
+ "2025-06-02T20:55:00.000000000",
+ "2025-06-02T20:56:00.000000000",
+ "2025-06-02T20:57:00.000000000",
+ "2025-06-02T20:58:00.000000000",
+ "2025-06-02T20:59:00.000000000",
+ "2025-06-02T21:00:00.000000000",
+ "2025-06-02T21:01:00.000000000",
+ "2025-06-02T21:02:00.000000000",
+ "2025-06-02T21:03:00.000000000",
+ "2025-06-02T21:04:00.000000000",
+ "2025-06-02T21:05:00.000000000",
+ "2025-06-02T21:06:00.000000000",
+ "2025-06-02T21:07:00.000000000",
+ "2025-06-02T21:08:00.000000000",
+ "2025-06-02T21:09:00.000000000",
+ "2025-06-02T21:10:00.000000000",
+ "2025-06-02T21:11:00.000000000",
+ "2025-06-02T21:12:00.000000000",
+ "2025-06-02T21:13:00.000000000",
+ "2025-06-02T21:14:00.000000000",
+ "2025-06-02T21:15:00.000000000",
+ "2025-06-02T21:16:00.000000000",
+ "2025-06-02T21:17:00.000000000",
+ "2025-06-02T21:18:00.000000000",
+ "2025-06-02T21:19:00.000000000",
+ "2025-06-02T21:20:00.000000000",
+ "2025-06-02T21:21:00.000000000",
+ "2025-06-02T21:22:00.000000000",
+ "2025-06-02T21:23:00.000000000",
+ "2025-06-02T21:24:00.000000000",
+ "2025-06-02T21:25:00.000000000",
+ "2025-06-02T21:26:00.000000000",
+ "2025-06-02T21:27:00.000000000",
+ "2025-06-02T21:28:00.000000000",
+ "2025-06-02T21:29:00.000000000",
+ "2025-06-02T21:30:00.000000000",
+ "2025-06-02T21:31:00.000000000",
+ "2025-06-02T21:32:00.000000000",
+ "2025-06-02T21:33:00.000000000",
+ "2025-06-02T21:34:00.000000000",
+ "2025-06-02T21:35:00.000000000",
+ "2025-06-02T21:36:00.000000000",
+ "2025-06-02T21:37:00.000000000",
+ "2025-06-02T21:38:00.000000000",
+ "2025-06-02T21:39:00.000000000",
+ "2025-06-02T21:40:00.000000000",
+ "2025-06-02T21:41:00.000000000",
+ "2025-06-02T21:42:00.000000000",
+ "2025-06-02T21:43:00.000000000",
+ "2025-06-02T21:44:00.000000000",
+ "2025-06-02T21:45:00.000000000",
+ "2025-06-02T21:46:00.000000000",
+ "2025-06-02T21:47:00.000000000",
+ "2025-06-02T21:48:00.000000000",
+ "2025-06-02T21:49:00.000000000",
+ "2025-06-02T21:50:00.000000000",
+ "2025-06-02T21:51:00.000000000",
+ "2025-06-02T21:52:00.000000000",
+ "2025-06-02T21:53:00.000000000",
+ "2025-06-02T21:54:00.000000000",
+ "2025-06-02T21:55:00.000000000",
+ "2025-06-02T21:56:00.000000000",
+ "2025-06-02T21:57:00.000000000",
+ "2025-06-02T21:58:00.000000000",
+ "2025-06-02T21:59:00.000000000",
+ "2025-06-02T22:00:00.000000000",
+ "2025-06-02T22:01:00.000000000",
+ "2025-06-02T22:02:00.000000000",
+ "2025-06-02T22:03:00.000000000",
+ "2025-06-02T22:04:00.000000000",
+ "2025-06-02T22:05:00.000000000",
+ "2025-06-02T22:06:00.000000000",
+ "2025-06-02T22:07:00.000000000",
+ "2025-06-02T22:08:00.000000000",
+ "2025-06-02T22:09:00.000000000",
+ "2025-06-02T22:10:00.000000000",
+ "2025-06-02T22:11:00.000000000",
+ "2025-06-02T22:12:00.000000000",
+ "2025-06-02T22:13:00.000000000",
+ "2025-06-02T22:14:00.000000000",
+ "2025-06-02T22:15:00.000000000",
+ "2025-06-02T22:16:00.000000000",
+ "2025-06-02T22:17:00.000000000",
+ "2025-06-02T22:18:00.000000000",
+ "2025-06-02T22:19:00.000000000",
+ "2025-06-02T22:20:00.000000000",
+ "2025-06-02T22:21:00.000000000",
+ "2025-06-02T22:22:00.000000000",
+ "2025-06-02T22:23:00.000000000",
+ "2025-06-02T22:24:00.000000000",
+ "2025-06-02T22:25:00.000000000",
+ "2025-06-02T22:26:00.000000000",
+ "2025-06-02T22:27:00.000000000",
+ "2025-06-02T22:28:00.000000000",
+ "2025-06-02T22:29:00.000000000",
+ "2025-06-02T22:30:00.000000000",
+ "2025-06-02T22:31:00.000000000",
+ "2025-06-02T22:32:00.000000000",
+ "2025-06-02T22:33:00.000000000",
+ "2025-06-02T22:34:00.000000000",
+ "2025-06-02T22:35:00.000000000",
+ "2025-06-02T22:36:00.000000000",
+ "2025-06-02T22:37:00.000000000",
+ "2025-06-02T22:38:00.000000000",
+ "2025-06-02T22:39:00.000000000",
+ "2025-06-02T22:40:00.000000000",
+ "2025-06-02T22:41:00.000000000",
+ "2025-06-02T22:42:00.000000000",
+ "2025-06-02T22:43:00.000000000",
+ "2025-06-02T22:44:00.000000000",
+ "2025-06-02T22:45:00.000000000",
+ "2025-06-02T22:46:00.000000000",
+ "2025-06-02T22:47:00.000000000",
+ "2025-06-02T22:48:00.000000000",
+ "2025-06-02T22:49:00.000000000",
+ "2025-06-02T22:50:00.000000000",
+ "2025-06-02T22:51:00.000000000",
+ "2025-06-02T22:52:00.000000000",
+ "2025-06-02T22:53:00.000000000",
+ "2025-06-02T22:54:00.000000000",
+ "2025-06-02T22:55:00.000000000",
+ "2025-06-02T22:56:00.000000000",
+ "2025-06-02T22:57:00.000000000",
+ "2025-06-02T22:58:00.000000000",
+ "2025-06-02T22:59:00.000000000",
+ "2025-06-02T23:00:00.000000000",
+ "2025-06-02T23:01:00.000000000",
+ "2025-06-02T23:02:00.000000000",
+ "2025-06-02T23:03:00.000000000",
+ "2025-06-02T23:04:00.000000000",
+ "2025-06-02T23:05:00.000000000",
+ "2025-06-02T23:06:00.000000000",
+ "2025-06-02T23:07:00.000000000",
+ "2025-06-02T23:08:00.000000000",
+ "2025-06-02T23:09:00.000000000",
+ "2025-06-02T23:10:00.000000000",
+ "2025-06-02T23:11:00.000000000",
+ "2025-06-02T23:12:00.000000000",
+ "2025-06-02T23:13:00.000000000",
+ "2025-06-02T23:14:00.000000000",
+ "2025-06-02T23:15:00.000000000",
+ "2025-06-02T23:16:00.000000000",
+ "2025-06-02T23:17:00.000000000",
+ "2025-06-02T23:18:00.000000000",
+ "2025-06-02T23:19:00.000000000",
+ "2025-06-02T23:20:00.000000000",
+ "2025-06-02T23:21:00.000000000",
+ "2025-06-02T23:22:00.000000000",
+ "2025-06-02T23:23:00.000000000",
+ "2025-06-02T23:24:00.000000000",
+ "2025-06-02T23:25:00.000000000",
+ "2025-06-02T23:26:00.000000000",
+ "2025-06-02T23:27:00.000000000",
+ "2025-06-02T23:28:00.000000000",
+ "2025-06-02T23:29:00.000000000",
+ "2025-06-02T23:30:00.000000000",
+ "2025-06-02T23:31:00.000000000",
+ "2025-06-02T23:32:00.000000000",
+ "2025-06-02T23:33:00.000000000",
+ "2025-06-02T23:34:00.000000000",
+ "2025-06-02T23:35:00.000000000",
+ "2025-06-02T23:36:00.000000000",
+ "2025-06-02T23:37:00.000000000",
+ "2025-06-02T23:38:00.000000000",
+ "2025-06-02T23:39:00.000000000",
+ "2025-06-02T23:40:00.000000000",
+ "2025-06-02T23:41:00.000000000",
+ "2025-06-02T23:42:00.000000000",
+ "2025-06-02T23:43:00.000000000",
+ "2025-06-02T23:44:00.000000000",
+ "2025-06-02T23:45:00.000000000",
+ "2025-06-02T23:46:00.000000000",
+ "2025-06-02T23:47:00.000000000",
+ "2025-06-02T23:48:00.000000000",
+ "2025-06-02T23:49:00.000000000",
+ "2025-06-02T23:50:00.000000000",
+ "2025-06-02T23:51:00.000000000",
+ "2025-06-02T23:52:00.000000000",
+ "2025-06-02T23:53:00.000000000",
+ "2025-06-02T23:54:00.000000000",
+ "2025-06-02T23:55:00.000000000",
+ "2025-06-02T23:56:00.000000000",
+ "2025-06-02T23:57:00.000000000",
+ "2025-06-02T23:58:00.000000000",
+ "2025-06-02T23:59:00.000000000"
+ ],
+ "xaxis": "x",
+ "y": {
+ "bdata": "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",
"dtype": "f8"
},
"yaxis": "y"
@@ -3549,6 +4473,112 @@
},
"yaxis": "y2"
},
+ {
+ "hovertemplate": "%{text}
Time: 2025-06-02 15:31:00
Normalized Price: 1.0036
Actual Price: $0.67",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 16:44:00
Normalized Price: 0.9999
Actual Price: $0.67",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 17:06:00
Normalized Price: 1.0043
Actual Price: $0.67",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 17:24:00
Normalized Price: 1.0069
Actual Price: $0.68",
+ "ADA-USDT BUY CLOSE
Time: 2025-06-02 18:06:00
Normalized Price: 1.0055
Actual Price: $0.67",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 19:35:00
Normalized Price: 1.0015
Actual Price: $0.67",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 20:32:00
Normalized Price: 1.0152
Actual Price: $0.68",
+ "ADA-USDT BUY CLOSE
Time: 2025-06-02 21:40:00
Normalized Price: 1.0185
Actual Price: $0.68",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 21:58:00
Normalized Price: 1.0198
Actual Price: $0.68",
+ "ADA-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 22:22:00
Normalized Price: 1.0258
Actual Price: $0.69",
+ "ADA-USDT BUY OPEN
Time: 2025-06-02 23:55:00
Normalized Price: 1.0273
Actual Price: $0.69"
+ ],
+ "type": "scatter",
+ "x": [
+ "2025-06-02T15:31:00",
+ "2025-06-02T16:44:00",
+ "2025-06-02T17:06:00",
+ "2025-06-02T17:24:00",
+ "2025-06-02T18:06:00",
+ "2025-06-02T19:35:00",
+ "2025-06-02T20:32:00",
+ "2025-06-02T21:40:00",
+ "2025-06-02T21:58:00",
+ "2025-06-02T22:22:00",
+ "2025-06-02T23:55:00"
+ ],
+ "xaxis": "x2",
+ "y": [
+ 1.0035772842450439,
+ 0.9998509464897897,
+ 1.0043225517960948,
+ 1.0068564614696676,
+ 1.005514979877776,
+ 1.0014905351021017,
+ 1.0152034580414369,
+ 1.0184826352660605,
+ 1.019824116857952,
+ 1.0257862572663585,
+ 1.0272767923684603
+ ],
+ "yaxis": "y2"
+ },
+ {
+ "hovertemplate": "%{text}
Time: 2025-06-02 15:31:00
Normalized Price: 0.9966
Actual Price: $153.16",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 16:44:00
Normalized Price: 0.9921
Actual Price: $152.47",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 17:06:00
Normalized Price: 0.9949
Actual Price: $152.90",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 17:24:00
Normalized Price: 0.9992
Actual Price: $153.56",
+ "SOL-USDT SELL CLOSE
Time: 2025-06-02 18:06:00
Normalized Price: 1.0007
Actual Price: $153.79",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 19:35:00
Normalized Price: 0.9890
Actual Price: $151.99",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 20:32:00
Normalized Price: 1.0035
Actual Price: $154.22",
+ "SOL-USDT SELL CLOSE
Time: 2025-06-02 21:40:00
Normalized Price: 1.0081
Actual Price: $154.92",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 21:58:00
Normalized Price: 1.0105
Actual Price: $155.29",
+ "SOL-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 22:22:00
Normalized Price: 1.0146
Actual Price: $155.92",
+ "SOL-USDT SELL OPEN
Time: 2025-06-02 23:55:00
Normalized Price: 1.0212
Actual Price: $156.94"
+ ],
+ "type": "scatter",
+ "x": [
+ "2025-06-02T15:31:00",
+ "2025-06-02T16:44:00",
+ "2025-06-02T17:06:00",
+ "2025-06-02T17:24:00",
+ "2025-06-02T18:06:00",
+ "2025-06-02T19:35:00",
+ "2025-06-02T20:32:00",
+ "2025-06-02T21:40:00",
+ "2025-06-02T21:58:00",
+ "2025-06-02T22:22:00",
+ "2025-06-02T23:55:00"
+ ],
+ "xaxis": "x2",
+ "y": [
+ 0.9966163456533055,
+ 0.9921264966163456,
+ 0.9949245184799583,
+ 0.9992191566892243,
+ 1.0007157730348775,
+ 0.9890031233732431,
+ 1.0035137948984902,
+ 1.008068714211348,
+ 1.010476314419573,
+ 1.0145757418011452,
+ 1.021212909942738
+ ],
+ "yaxis": "y2"
+ },
{
"hovertemplate": "%{text}
Time: 2025-06-02 15:48:00
Normalized Price: 1.0040
Actual Price: $0.67",
- "ADA-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 17:35:00
Normalized Price: 1.0004
Actual Price: $0.67",
- "ADA-USDT SELL CLOSE
Time: 2025-06-02 18:16:00
Normalized Price: 1.0064
Actual Price: $0.68",
- "ADA-USDT SELL OPEN
Time: 2025-06-02 19:03:00
Normalized Price: 1.0098
Actual Price: $0.68",
- "ADA-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 19:11:00
Normalized Price: 1.0058
Actual Price: $0.67",
- "ADA-USDT SELL OPEN
Time: 2025-06-02 19:12:00
Normalized Price: 1.0045
Actual Price: $0.67",
- "ADA-USDT SELL CLOSE
Time: 2025-06-02 22:04:00
Normalized Price: 1.0259
Actual Price: $0.69",
- "ADA-USDT SELL OPEN
Time: 2025-06-02 22:09:00
Normalized Price: 1.0285
Actual Price: $0.69",
- "ADA-USDT SELL CLOSE
Time: 2025-06-02 23:58:00
Normalized Price: 1.0279
Actual Price: $0.69"
+ "ADA-USDT SELL CLOSE
Time: 2025-06-02 15:41:00
Normalized Price: 1.0039
Actual Price: $0.67",
+ "ADA-USDT SELL CLOSE
Time: 2025-06-02 17:01:00
Normalized Price: 1.0054
Actual Price: $0.67",
+ "ADA-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 17:14:00
Normalized Price: 1.0012
Actual Price: $0.67",
+ "ADA-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 17:33:00
Normalized Price: 1.0019
Actual Price: $0.67",
+ "ADA-USDT SELL OPEN
Time: 2025-06-02 18:02:00
Normalized Price: 1.0048
Actual Price: $0.67",
+ "ADA-USDT SELL CLOSE_STOP_PROFIT
Time: 2025-06-02 20:09:00
Normalized Price: 1.0122
Actual Price: $0.68",
+ "ADA-USDT SELL CLOSE
Time: 2025-06-02 21:04:00
Normalized Price: 1.0203
Actual Price: $0.68",
+ "ADA-USDT SELL OPEN
Time: 2025-06-02 21:33:00
Normalized Price: 1.0164
Actual Price: $0.68",
+ "ADA-USDT SELL CLOSE
Time: 2025-06-02 22:06:00
Normalized Price: 1.0265
Actual Price: $0.69",
+ "ADA-USDT SELL OPEN
Time: 2025-06-02 22:19:00
Normalized Price: 1.0292
Actual Price: $0.69",
+ "ADA-USDT SELL CLOSE_POSITION
Time: 2025-06-02 23:59:00
Normalized Price: 1.0279
Actual Price: $0.69"
],
"type": "scatter",
"x": [
- "2025-06-02T15:48:00",
- "2025-06-02T17:35:00",
- "2025-06-02T18:16:00",
- "2025-06-02T19:03:00",
- "2025-06-02T19:11:00",
- "2025-06-02T19:12:00",
- "2025-06-02T22:04:00",
- "2025-06-02T22:09:00",
- "2025-06-02T23:58:00"
+ "2025-06-02T15:41:00",
+ "2025-06-02T17:01:00",
+ "2025-06-02T17:14:00",
+ "2025-06-02T17:33:00",
+ "2025-06-02T18:02:00",
+ "2025-06-02T20:09:00",
+ "2025-06-02T21:04:00",
+ "2025-06-02T21:33:00",
+ "2025-06-02T22:06:00",
+ "2025-06-02T22:19:00",
+ "2025-06-02T23:59:00"
],
"xaxis": "x2",
"y": [
- 1.0040244447756743,
- 1.0004471605306304,
- 1.0064093009390371,
- 1.0098375316738708,
- 1.0058130868981963,
- 1.004471605306305,
- 1.0259353107765687,
- 1.0284692204501416,
+ 1.003875391265464,
+ 1.0053659263675658,
+ 1.0011924280816813,
+ 1.0019376956327322,
+ 1.0047697123267252,
+ 1.0122223878372336,
+ 1.0202712773885825,
+ 1.0163958861231182,
+ 1.0265315248174094,
+ 1.0292144880011924,
1.027873006409301
],
"yaxis": "y2"
@@ -3607,133 +4643,45 @@
"name": "SOL-USDT BUY",
"showlegend": true,
"text": [
- "SOL-USDT BUY OPEN
Time: 2025-06-02 15:48:00
Normalized Price: 0.9943
Actual Price: $152.80",
- "SOL-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 17:35:00
Normalized Price: 0.9958
Actual Price: $153.03",
- "SOL-USDT BUY CLOSE
Time: 2025-06-02 18:16:00
Normalized Price: 1.0012
Actual Price: $153.87",
- "SOL-USDT BUY OPEN
Time: 2025-06-02 19:03:00
Normalized Price: 0.9995
Actual Price: $153.61",
- "SOL-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 19:11:00
Normalized Price: 0.9931
Actual Price: $152.62",
- "SOL-USDT BUY OPEN
Time: 2025-06-02 19:12:00
Normalized Price: 0.9902
Actual Price: $152.17",
- "SOL-USDT BUY CLOSE
Time: 2025-06-02 22:04:00
Normalized Price: 1.0154
Actual Price: $156.04",
- "SOL-USDT BUY OPEN
Time: 2025-06-02 22:09:00
Normalized Price: 1.0129
Actual Price: $155.67",
- "SOL-USDT BUY CLOSE
Time: 2025-06-02 23:58:00
Normalized Price: 1.0204
Actual Price: $156.82"
+ "SOL-USDT BUY CLOSE
Time: 2025-06-02 15:41:00
Normalized Price: 0.9961
Actual Price: $153.08",
+ "SOL-USDT BUY CLOSE
Time: 2025-06-02 17:01:00
Normalized Price: 0.9969
Actual Price: $153.21",
+ "SOL-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 17:14:00
Normalized Price: 0.9926
Actual Price: $152.54",
+ "SOL-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 17:33:00
Normalized Price: 0.9971
Actual Price: $153.24",
+ "SOL-USDT BUY OPEN
Time: 2025-06-02 18:02:00
Normalized Price: 0.9994
Actual Price: $153.59",
+ "SOL-USDT BUY CLOSE_STOP_PROFIT
Time: 2025-06-02 20:09:00
Normalized Price: 1.0005
Actual Price: $153.75",
+ "SOL-USDT BUY CLOSE
Time: 2025-06-02 21:04:00
Normalized Price: 1.0068
Actual Price: $154.72",
+ "SOL-USDT BUY OPEN
Time: 2025-06-02 21:33:00
Normalized Price: 1.0054
Actual Price: $154.51",
+ "SOL-USDT BUY CLOSE
Time: 2025-06-02 22:06:00
Normalized Price: 1.0140
Actual Price: $155.83",
+ "SOL-USDT BUY OPEN
Time: 2025-06-02 22:19:00
Normalized Price: 1.0169
Actual Price: $156.27",
+ "SOL-USDT BUY CLOSE_POSITION
Time: 2025-06-02 23:59:00
Normalized Price: 1.0205
Actual Price: $156.83"
],
"type": "scatter",
"x": [
- "2025-06-02T15:48:00",
- "2025-06-02T17:35:00",
- "2025-06-02T18:16:00",
- "2025-06-02T19:03:00",
- "2025-06-02T19:11:00",
- "2025-06-02T19:12:00",
- "2025-06-02T22:04:00",
- "2025-06-02T22:09:00",
- "2025-06-02T23:58:00"
+ "2025-06-02T15:41:00",
+ "2025-06-02T17:01:00",
+ "2025-06-02T17:14:00",
+ "2025-06-02T17:33:00",
+ "2025-06-02T18:02:00",
+ "2025-06-02T20:09:00",
+ "2025-06-02T21:04:00",
+ "2025-06-02T21:33:00",
+ "2025-06-02T22:06:00",
+ "2025-06-02T22:19:00",
+ "2025-06-02T23:59:00"
],
"xaxis": "x2",
"y": [
- 0.9942738157209787,
- 0.995770432066632,
- 1.0012363352420615,
- 0.9995445080687143,
- 0.9931025507548152,
- 0.9901743883394064,
- 1.0153565851119208,
- 1.012948984903696,
- 1.0204320666319624
- ],
- "yaxis": "y2"
- },
- {
- "hovertemplate": "%{text}
Time: 2025-06-02 16:04:00
Normalized Price: 1.0033
Actual Price: $0.67",
- "ADA-USDT BUY OPEN
Time: 2025-06-02 17:29:00
Normalized Price: 1.0054
Actual Price: $0.67",
- "ADA-USDT BUY OPEN
Time: 2025-06-02 17:36:00
Normalized Price: 1.0009
Actual Price: $0.67",
- "ADA-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 19:08:00
Normalized Price: 1.0080
Actual Price: $0.68",
- "ADA-USDT BUY OPEN
Time: 2025-06-02 19:09:00
Normalized Price: 1.0083
Actual Price: $0.68",
- "ADA-USDT BUY CLOSE_STOP_LOSS
Time: 2025-06-02 19:34:00
Normalized Price: 1.0012
Actual Price: $0.67",
- "ADA-USDT BUY OPEN
Time: 2025-06-02 21:48:00
Normalized Price: 1.0176
Actual Price: $0.68",
- "ADA-USDT BUY CLOSE
Time: 2025-06-02 22:14:00
Normalized Price: 1.0271
Actual Price: $0.69",
- "ADA-USDT BUY OPEN
Time: 2025-06-02 23:40:00
Normalized Price: 1.0279
Actual Price: $0.69"
- ],
- "type": "scatter",
- "x": [
- "2025-06-02T16:04:00",
- "2025-06-02T17:29:00",
- "2025-06-02T17:36:00",
- "2025-06-02T19:08:00",
- "2025-06-02T19:09:00",
- "2025-06-02T19:34:00",
- "2025-06-02T21:48:00",
- "2025-06-02T22:14:00",
- "2025-06-02T23:40:00"
- ],
- "xaxis": "x2",
- "y": [
- 1.0032791772246237,
- 1.0053659263675658,
- 1.0008943210612609,
- 1.0080488895513489,
- 1.008346996571769,
- 1.0011924280816813,
- 1.0175883142047994,
- 1.02712773885825,
- 1.027873006409301
- ],
- "yaxis": "y2"
- },
- {
- "hovertemplate": "%{text}
Time: 2025-06-02 16:04:00
Normalized Price: 0.9952
Actual Price: $152.94",
- "SOL-USDT SELL OPEN
Time: 2025-06-02 17:29:00
Normalized Price: 0.9984
Actual Price: $153.44",
- "SOL-USDT SELL OPEN
Time: 2025-06-02 17:36:00
Normalized Price: 0.9955
Actual Price: $152.99",
- "SOL-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 19:08:00
Normalized Price: 0.9956
Actual Price: $153.01",
- "SOL-USDT SELL OPEN
Time: 2025-06-02 19:09:00
Normalized Price: 0.9959
Actual Price: $153.05",
- "SOL-USDT SELL CLOSE_STOP_LOSS
Time: 2025-06-02 19:34:00
Normalized Price: 0.9880
Actual Price: $151.83",
- "SOL-USDT SELL OPEN
Time: 2025-06-02 21:48:00
Normalized Price: 1.0099
Actual Price: $155.20",
- "SOL-USDT SELL CLOSE
Time: 2025-06-02 22:14:00
Normalized Price: 1.0143
Actual Price: $155.88",
- "SOL-USDT SELL OPEN
Time: 2025-06-02 23:40:00
Normalized Price: 1.0216
Actual Price: $157.00"
- ],
- "type": "scatter",
- "x": [
- "2025-06-02T16:04:00",
- "2025-06-02T17:29:00",
- "2025-06-02T17:36:00",
- "2025-06-02T19:08:00",
- "2025-06-02T19:09:00",
- "2025-06-02T19:34:00",
- "2025-06-02T21:48:00",
- "2025-06-02T22:14:00",
- "2025-06-02T23:40:00"
- ],
- "xaxis": "x2",
- "y": [
- 0.9951847995835502,
- 0.9984383133784487,
- 0.9955101509630401,
- 0.9956402915148359,
- 0.9959005726184279,
- 0.9879619989588756,
- 1.0098906819364912,
- 1.0143154606975533,
- 1.0216033315981259
+ 0.9960957834461218,
+ 0.9969416970327954,
+ 0.9925819885476314,
+ 0.9971369078604894,
+ 0.9994143675169183,
+ 1.0004554919312858,
+ 1.0067673086933888,
+ 1.0054008328995314,
+ 1.0139901093180634,
+ 1.0168532014575742,
+ 1.0204971369078606
],
"yaxis": "y2"
},
@@ -4394,15 +5342,18 @@
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T17:29:00.000000000",
- "2025-06-02T17:36:00.000000000",
- "2025-06-02T19:09:00.000000000",
- "2025-06-02T21:48:00.000000000",
- "2025-06-02T23:40:00.000000000"
+ "2025-06-02T15:31:00.000000000",
+ "2025-06-02T16:44:00.000000000",
+ "2025-06-02T17:06:00.000000000",
+ "2025-06-02T17:24:00.000000000",
+ "2025-06-02T19:35:00.000000000",
+ "2025-06-02T20:32:00.000000000",
+ "2025-06-02T21:58:00.000000000",
+ "2025-06-02T23:55:00.000000000"
],
"xaxis": "x3",
"y": {
- "bdata": "L90kBoGV5T+wcmiR7XzlP9nO91PjpeU/m1Wfq63Y5T+MSuoENBHmPw==",
+ "bdata": "lrIMcayL5T+BBMWPMXflPwBvgQTFj+U/BFYOLbKd5T851sVtNIDlP3rHKTqSy+U/24r9Zffk5T8E54wo7Q3mPw==",
"dtype": "f8"
},
"yaxis": "y3"
@@ -4411,21 +5362,20 @@
"marker": {
"color": "green",
"size": 12,
- "symbol": "triangle-up"
+ "symbol": "square"
},
"mode": "markers",
"name": "ADA-USDT BUY CLOSE",
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T16:04:00.000000000",
- "2025-06-02T19:08:00.000000000",
- "2025-06-02T19:34:00.000000000",
- "2025-06-02T22:14:00.000000000"
+ "2025-06-02T18:06:00.000000000",
+ "2025-06-02T21:40:00.000000000",
+ "2025-06-02T22:22:00.000000000"
],
"xaxis": "x3",
"y": {
- "bdata": "0gDeAgmK5T8VHcnlP6TlP3Qkl/+QfuU/Io51cRsN5j8=",
+ "bdata": "ETY8vVKW5T/oaiv2l93lPy9uowG8BeY/",
"dtype": "f8"
},
"yaxis": "y3"
@@ -4441,14 +5391,13 @@
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T15:48:00.000000000",
- "2025-06-02T19:03:00.000000000",
- "2025-06-02T19:12:00.000000000",
- "2025-06-02T22:09:00.000000000"
+ "2025-06-02T18:02:00.000000000",
+ "2025-06-02T21:33:00.000000000",
+ "2025-06-02T22:19:00.000000000"
],
"xaxis": "x3",
"y": {
- "bdata": "PL1SliGO5T+uR+F6FK7lP+PHmLuWkOU/FK5H4XoU5j8=",
+ "bdata": "p3nHKTqS5T+KjuTyH9LlP39qvHSTGOY/",
"dtype": "f8"
},
"yaxis": "y3"
@@ -4457,22 +5406,25 @@
"marker": {
"color": "red",
"size": 12,
- "symbol": "triangle-down"
+ "symbol": "square"
},
"mode": "markers",
"name": "ADA-USDT SELL CLOSE",
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T17:35:00.000000000",
- "2025-06-02T18:16:00.000000000",
- "2025-06-02T19:11:00.000000000",
- "2025-06-02T22:04:00.000000000",
- "2025-06-02T23:58:00.000000000"
+ "2025-06-02T15:41:00.000000000",
+ "2025-06-02T17:01:00.000000000",
+ "2025-06-02T17:14:00.000000000",
+ "2025-06-02T17:33:00.000000000",
+ "2025-06-02T20:09:00.000000000",
+ "2025-06-02T21:04:00.000000000",
+ "2025-06-02T22:06:00.000000000",
+ "2025-06-02T23:59:00.000000000"
],
"xaxis": "x3",
"y": {
- "bdata": "CmgibHh65T9eS8gHPZvlP9Xnaiv2l+U/Ece6uI0G5j+MSuoENBHmPw==",
+ "bdata": "WmQ730+N5T8v3SQGgZXlP3Qkl/+QfuU/3+ALk6mC5T/Q1VbsL7vlP4GVQ4ts5+U/mSoYldQJ5j+MSuoENBHmPw==",
"dtype": "f8"
},
"yaxis": "y3"
@@ -5134,45 +6086,47 @@
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T15:48:00.000000000",
- "2025-06-02T19:03:00.000000000",
- "2025-06-02T19:12:00.000000000",
- "2025-06-02T22:09:00.000000000"
+ "2025-06-02T18:02:00.000000000",
+ "2025-06-02T21:33:00.000000000",
+ "2025-06-02T22:19:00.000000000"
],
"xaxis": "x4",
"y": {
- "bdata": "mpmZmZkZY0DsUbgehTNjQD0K16NwBWNAPQrXo3B1Y0A=",
+ "bdata": "exSuR+EyY0C4HoXrUVBjQHE9CtejiGNA",
"dtype": "f8"
},
"yaxis": "y4"
},
{
"marker": {
- "color": "darkgreen",
+ "color": "green",
"size": 12,
- "symbol": "triangle-up"
+ "symbol": "square"
},
"mode": "markers",
"name": "SOL-USDT BUY CLOSE",
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T17:35:00.000000000",
- "2025-06-02T18:16:00.000000000",
- "2025-06-02T19:11:00.000000000",
- "2025-06-02T22:04:00.000000000",
- "2025-06-02T23:58:00.000000000"
+ "2025-06-02T15:41:00.000000000",
+ "2025-06-02T17:01:00.000000000",
+ "2025-06-02T17:14:00.000000000",
+ "2025-06-02T17:33:00.000000000",
+ "2025-06-02T20:09:00.000000000",
+ "2025-06-02T21:04:00.000000000",
+ "2025-06-02T22:06:00.000000000",
+ "2025-06-02T23:59:00.000000000"
],
"xaxis": "x4",
"y": {
- "bdata": "KVyPwvUgY0CkcD0K1ztjQKRwPQrXE2NA4XoUrkeBY0AK16NwPZpjQA==",
+ "bdata": "w/UoXI8iY0AfhetRuCZjQOF6FK5HEWNASOF6FK4nY0AAAAAAADhjQNejcD0KV2NAw/UoXI96Y0DD9Shcj5pjQA==",
"dtype": "f8"
},
"yaxis": "y4"
},
{
"marker": {
- "color": "darkred",
+ "color": "red",
"size": 12,
"symbol": "triangle-down"
},
@@ -5181,38 +6135,40 @@
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T17:29:00.000000000",
- "2025-06-02T17:36:00.000000000",
- "2025-06-02T19:09:00.000000000",
- "2025-06-02T21:48:00.000000000",
- "2025-06-02T23:40:00.000000000"
+ "2025-06-02T15:31:00.000000000",
+ "2025-06-02T16:44:00.000000000",
+ "2025-06-02T17:06:00.000000000",
+ "2025-06-02T17:24:00.000000000",
+ "2025-06-02T19:35:00.000000000",
+ "2025-06-02T20:32:00.000000000",
+ "2025-06-02T21:58:00.000000000",
+ "2025-06-02T23:55:00.000000000"
],
"xaxis": "x4",
"y": {
- "bdata": "rkfhehQuY0BI4XoUrh9jQJqZmZmZIWNAZmZmZmZmY0AAAAAAAKBjQA==",
+ "bdata": "hetRuB4lY0DXo3A9Cg9jQM3MzMzMHGNAUrgehesxY0BI4XoUrv9iQNejcD0KR2NA4XoUrkdpY0CuR+F6FJ5jQA==",
"dtype": "f8"
},
"yaxis": "y4"
},
{
"marker": {
- "color": "darkred",
+ "color": "red",
"size": 12,
- "symbol": "triangle-down"
+ "symbol": "square"
},
"mode": "markers",
"name": "SOL-USDT SELL CLOSE",
"showlegend": true,
"type": "scatter",
"x": [
- "2025-06-02T16:04:00.000000000",
- "2025-06-02T19:08:00.000000000",
- "2025-06-02T19:34:00.000000000",
- "2025-06-02T22:14:00.000000000"
+ "2025-06-02T18:06:00.000000000",
+ "2025-06-02T21:40:00.000000000",
+ "2025-06-02T22:22:00.000000000"
],
"xaxis": "x4",
"y": {
- "bdata": "rkfhehQeY0C4HoXrUSBjQMP1KFyP+mJAXI/C9Sh8Y0A=",
+ "bdata": "4XoUrkc5Y0A9CtejcF1jQD0K16NwfWNA",
"dtype": "f8"
},
"yaxis": "y4"
@@ -5225,7 +6181,7 @@
"size": 16
},
"showarrow": false,
- "text": "Testing Period: Scaled Dis-equilibrium with Trading Thresholds (2025-06-02)",
+ "text": "Dis-equilibrium with Trading Thresholds (2025-06-02)",
"x": 0.5,
"xanchor": "center",
"xref": "paper",
@@ -5317,8 +6273,8 @@
"x0": "2025-06-02T13:30:00",
"x1": "2025-06-02T23:59:00",
"xref": "x",
- "y0": 1,
- "y1": 1,
+ "y0": 0.5,
+ "y1": 0.5,
"yref": "y"
},
{
@@ -5332,8 +6288,8 @@
"x0": "2025-06-02T13:30:00",
"x1": "2025-06-02T23:59:00",
"xref": "x",
- "y0": -1,
- "y1": -1,
+ "y0": -0.5,
+ "y1": -0.5,
"yref": "y"
},
{
@@ -6223,9 +7179,9 @@
},
"text/html": [
"