File size: 72,281 Bytes
66a32a6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 | {
"cells": [
{
"cell_type": "code",
"execution_count": 34,
"id": "371e6ad7-eb6c-4708-bf38-125ea07d44a6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Logged in successfully\n"
]
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"line": {
"color": "blue"
},
"mode": "lines+markers",
"name": "Equity Curve",
"type": "scatter",
"x": [
"2025-10-20T08:43:36.373000000",
"2025-10-20T08:43:49.849000000",
"2025-10-20T09:50:08.474000000",
"2025-10-20T09:50:31.062000000",
"2025-10-20T10:30:17.654000000",
"2025-10-20T10:31:00.070000000",
"2025-10-20T11:52:47.073000000",
"2025-10-20T12:03:46.777000000",
"2025-10-20T12:39:43.572000000",
"2025-10-20T12:55:23.574000000",
"2025-10-20T19:57:32.419000000",
"2025-10-20T20:27:51.080000000",
"2025-10-20T22:20:15.868000000",
"2025-10-20T22:20:27.974000000",
"2025-10-21T06:03:12.468000000",
"2025-10-21T06:04:08.709000000",
"2025-10-21T06:10:26.532000000",
"2025-10-21T06:10:50.695000000",
"2025-10-21T06:16:20.991000000",
"2025-10-21T06:17:13.806000000",
"2025-10-21T06:17:23.013000000",
"2025-10-21T06:17:52.726000000",
"2025-10-21T06:17:54.276000000",
"2025-10-21T06:18:49.706000000",
"2025-10-21T06:18:50.023000000",
"2025-10-21T06:32:35.368000000",
"2025-10-21T06:41:18.282000000",
"2025-10-21T06:41:23.031000000",
"2025-10-21T07:38:59.989000000",
"2025-10-21T07:53:27.258000000",
"2025-10-21T08:20:48.428000000",
"2025-10-21T09:04:34.407000000",
"2025-10-21T09:17:15.891000000",
"2025-10-21T09:24:33.568000000",
"2025-10-21T09:30:11.389000000",
"2025-10-21T09:30:17.062000000",
"2025-10-21T14:01:11.719000000",
"2025-10-21T14:50:59.293000000",
"2025-10-21T19:56:54.588000000",
"2025-10-21T20:10:42.234000000",
"2025-10-22T07:18:44.869000000",
"2025-10-22T07:49:30.529000000",
"2025-10-22T07:49:30.611000000",
"2025-10-22T09:11:21.766000000",
"2025-10-22T13:17:46.808000000",
"2025-10-22T13:25:51.584000000",
"2025-10-22T13:58:21.549000000",
"2025-10-22T13:58:42.680000000",
"2025-10-22T14:31:29.984000000",
"2025-10-22T14:33:20.735000000",
"2025-10-23T06:32:23.247000000",
"2025-10-23T06:32:32.957000000",
"2025-10-23T06:32:45.529000000",
"2025-10-23T06:33:05.911000000",
"2025-10-23T07:11:52.068000000",
"2025-10-23T07:12:44.728000000",
"2025-10-23T07:12:58.204000000",
"2025-10-23T07:13:16.877000000",
"2025-10-23T07:27:33.175000000",
"2025-10-23T07:28:37.375000000",
"2025-10-23T14:00:49.229000000",
"2025-10-23T14:01:18.047000000",
"2025-10-23T20:23:20.124000000",
"2025-10-23T20:26:36.434000000",
"2025-10-23T20:30:40.190000000",
"2025-10-23T20:31:06.411000000",
"2025-10-23T20:31:06.430000000",
"2025-10-23T20:51:29.605000000",
"2025-10-23T20:51:44.752000000",
"2025-10-24T03:58:55.935000000",
"2025-10-24T07:22:14.813000000",
"2025-10-24T07:22:31.223000000",
"2025-10-24T07:32:49.422000000",
"2025-10-24T07:35:19.710000000",
"2025-10-24T08:11:54.264000000",
"2025-10-24T08:12:12.156000000",
"2025-10-24T10:07:33.360000000",
"2025-10-24T10:08:15.356000000",
"2025-10-24T10:18:24.068000000",
"2025-10-24T10:18:54.606000000",
"2025-10-24T10:19:12.387000000",
"2025-10-24T11:15:30.674000000",
"2025-10-24T12:09:41.631000000",
"2025-10-24T14:56:30.848000000",
"2025-10-24T15:27:07.617000000",
"2025-10-24T16:10:50.007000000",
"2025-10-24T19:03:48.018000000",
"2025-10-24T19:07:09.114000000",
"2025-10-24T19:47:42.828000000",
"2025-10-24T20:30:01.796000000",
"2025-10-27T16:19:53.856000000",
"2025-10-27T16:21:22.415000000",
"2025-10-27T16:49:25.107000000",
"2025-10-27T16:49:37.194000000",
"2025-10-27T18:03:39.960000000",
"2025-10-27T19:38:31.724000000",
"2025-10-28T08:31:06.955000000",
"2025-10-28T08:31:33.354000000",
"2025-10-28T10:21:54.913000000",
"2025-10-28T10:35:03.404000000",
"2025-10-28T10:35:23.565000000",
"2025-10-28T10:35:46.651000000",
"2025-10-28T12:15:57.130000000",
"2025-10-28T13:08:26.720000000",
"2025-10-29T18:13:32.129000000",
"2025-10-29T18:14:03.188000000",
"2025-10-29T18:17:55.811000000",
"2025-10-29T18:18:43.887000000",
"2025-10-29T18:20:45.179000000",
"2025-10-29T23:48:12.204000000",
"2025-10-30T14:20:01.573000000",
"2025-10-30T14:20:33.912000000",
"2025-10-30T15:26:04.908000000",
"2025-10-30T15:26:17.368000000",
"2025-10-30T16:11:32.296000000",
"2025-10-30T17:05:12.347000000",
"2025-10-31T14:00:57.709000000",
"2025-10-31T14:38:44.869000000",
"2025-10-31T14:40:44.164000000",
"2025-10-31T14:57:20.533000000",
"2025-10-31T15:09:35.778000000",
"2025-10-31T15:10:38.828000000",
"2025-10-31T15:15:05.207000000",
"2025-10-31T15:38:27.589000000",
"2025-10-31T15:48:57.353000000",
"2025-10-31T15:49:07.103000000",
"2025-10-31T15:49:36.414000000",
"2025-10-31T15:55:15.748000000",
"2025-10-31T16:05:05.729000000",
"2025-10-31T16:05:57.674000000",
"2025-10-31T17:36:47.592000000",
"2025-10-31T17:39:40.670000000",
"2025-10-31T17:54:23.330000000",
"2025-10-31T17:56:21.093000000",
"2025-10-31T18:28:18.736000000",
"2025-10-31T20:21:11.992000000",
"2025-11-03T12:45:59.101000000",
"2025-11-03T12:55:00.233000000",
"2025-11-03T13:09:57.515000000",
"2025-11-03T13:19:50.134000000",
"2025-11-03T13:26:58.371000000",
"2025-11-03T13:28:40.226000000",
"2025-11-03T13:30:58.005000000",
"2025-11-03T14:08:41.641000000",
"2025-11-03T14:19:33.206000000",
"2025-11-03T14:24:34.636000000",
"2025-11-03T14:26:05.312000000",
"2025-11-03T14:35:37.184000000",
"2025-11-03T15:01:28.575000000",
"2025-11-03T15:01:28.826000000",
"2025-11-03T15:17:43.224000000",
"2025-11-03T15:25:54.267000000",
"2025-11-03T15:50:37.981000000",
"2025-11-03T17:07:18.129000000",
"2025-11-03T17:08:24.578000000",
"2025-11-03T17:09:03.024000000",
"2025-11-03T19:26:21.643000000",
"2025-11-03T20:33:15.734000000",
"2025-11-03T20:33:53.815000000",
"2025-11-04T14:38:47.903000000",
"2025-11-04T15:31:23.628000000",
"2025-11-04T15:41:46.725000000",
"2025-11-04T15:57:18.380000000",
"2025-11-05T13:07:58.681000000",
"2025-11-05T13:10:56.013000000",
"2025-11-05T14:36:13.711000000",
"2025-11-05T16:01:47.762000000",
"2025-11-05T17:20:15.272000000",
"2025-11-05T17:24:30.929000000",
"2025-11-05T17:28:33.763000000",
"2025-11-05T17:31:07.050000000",
"2025-11-10T18:49:58.989000000",
"2025-11-10T18:55:39.445000000",
"2025-11-10T19:06:57.980000000",
"2025-11-10T19:59:00.797000000",
"2025-11-10T19:59:46.764000000",
"2025-11-10T20:00:07.422000000",
"2025-11-11T13:20:01.720000000",
"2025-11-11T17:03:55.711000000",
"2025-11-11T18:53:10.447000000",
"2025-11-11T18:57:47.958000000",
"2025-11-11T18:57:49.914000000",
"2025-11-11T19:42:33.635000000",
"2025-11-17T13:52:20.097000000",
"2025-11-18T03:32:29.685000000"
],
"y": {
"bdata": "AAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAEMAAAAAAAAAQwAAAAAAAABjAAAAAAAAAGMAAAAAAAAAgwAAAAAAAACDAAAAAAAAAJMAAAAAAAAAkwJqZmZmZmShAmpmZmZmZKECamZmZmZkkQJqZmZmZmSRAzszMzMzMHEDOzMzMzMwcQAEAAAAAABRAAQAAAAAAFEA1MzMzMzMHQDUzMzMzMwdA1MzMzMzM7D/UzMzMzMzsP8rMzMzMzPS/yszMzMzM9L9lZmZmZmYKwGVmZmZmZgrAmZmZmZmZFcCZmZmZmZkVwJmZmZmZmR3AmZmZmZmZHcDMzMzMzMwiwMzMzMzMzCLAzMzMzMzMJsDMzMzMzMwmwMzMzMzMzCrAzMzMzMzMKsAAAAAAAAAlQAAAAAAAACVAAAAAAAAABEAAAAAAAAAEQAAAAAAAAARAAAAAAAAA4D8AAAAAAAD4vwAAAAAAAPi/AAAAAAAADMAAAAAAAAAMwAAAAAAAABbAAAAAAAAAFsAAAAAAAAAewAAAAAAAAB7AAAAAAAAAI8AAAAAAAAAjwAAAAAAAACfAAAAAAAAAJ8AAAAAAAAArwAAAAAAAACvAZmZmZmZmL8BmZmZmZmYvwDMzMzMzszHAMzMzMzOzMcAzMzMzM7MzwDMzMzMzszPAmpmZmZkZOcCamZmZmRk5wJqZmZmZGTzAmpmZmZkZPMCamZmZmRk8wAAAAAAAgEDAmpmZmZlZQMCamZmZmVlAwJqZmZmZWUHAmpmZmZlZQcBnZmZmZuZCwGdmZmZm5kLAZ2ZmZmbmQ8BnZmZmZuZDwGdmZmZm5kTAZ2ZmZmbmRMBnZmZmZuZFwGdmZmZm5kXANDMzMzMzScA0MzMzMzNJwAIAAAAAgDnAAgAAAACAOcDIzMzMzMwiQMjMzMzMzCJAhpmZmZmZDUCGmZmZmZkNQEYzMzMzMwPARjMzMzMzA8CjmZmZmZkfwKOZmZmZmR/A0szMzMzMJ8DSzMzMzMwnwC4zMzMzMytALjMzMzMzK0DIzMzMzMwmQMjMzMzMzCZA+///////IED7//////8gQFxmZmZmZhhAXGZmZmZmGEBkZmZmZmY0QGRmZmZmZjRAZGZmZmZmNEBkZmZmZmYxQMjMzMzMzCxAyMzMzMzMLECYmZmZmdlGQJiZmZmZ2UZAmJmZmZnZRECYmZmZmdlEQP7/////v0NA/v////+/Q0AyMzMzMxNRQDIzMzMzE1FAmJmZmZm5U0CYmZmZmblTQJiZmZmZOVJAmJmZmZk5UkBlZmZmZgZRQGVmZmZmBlFAZWZmZmbmUUBlZmZmZuZRQJiZmZmZeVFAmJmZmZl5UUBlZmZmZgZRQGVmZmZmBlFA//////9/UED//////39QQGRmZmZmpk9AZGZmZmamT0BkZmZmZuZNQGRmZmZm5k1A/v////+/TEAAAAAAAPyJQAAAAAAA/IlAZmZmZmYKiUBmZmZmZgqJQMzMzMzMaIdAzMzMzMxoh0AyMzMzM9+GQDIzMzMz34ZAmJmZmZn5hUCYmZmZmfmFQJiZmZmZ7YRAmJmZmZnthEBlZmZmZh6EQGVmZmZmHoRA//////+fgkD//////5+CQP//////54FA///////ngUD//////zeBQP//////N4FAmJmZmZnRhkCYmZmZmdGGQDIzMzMz24VAMjMzMzPbhUAyMzMzM1eIQGVmZmZmUopA///////bikD//////9uKQMzMzMzM6IlAzMzMzMzoiUD///////uIQP//////+4hAzMzMzMwQiEDMzMzMzBCIQMzMzMzMHIdAzMzMzMwch0BmZmZmZjqGQGZmZmZmOoZAZmZmZmY6hkAAAAAAAAyFQJqZmZmZnYRAmpmZmZmdhEBnZmZmZqqEQGdmZmZmqoRAZ2ZmZmaqhEBnZmZmZkKEQDQzMzMz24NANDMzMzPbg0ABAAAAAACDQA==",
"dtype": "f8"
}
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermap": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermap"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Equity Curve Over Time"
},
"xaxis": {
"title": {
"text": "Close Time"
}
},
"yaxis": {
"title": {
"text": "Equity"
}
}
}
},
"image/png": "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GFJqulif9WLuHeqNax15Sk+AeOafBc4TIfRkCAWDPv3EYxs3mL33jtd+e3qJvTU3sH8ir87cLQjIUr6hydZ+b3bGwBK75MJiuzwQiLhqZJFdd02R3TS2yG6bUGgK6N03udCmTS20p54oDF212fF/L/Dam3PTN/z4Y+TjQp1cJuupHepE8857a+3TLyudjjS//LbSXnmjyvY/MHASN6vBQgQQQAABBBBAAIF8E8jPK7o49vJLr75nA06osG06tXfWOvLQfWz+wiX27Zq1znS2vqxbZ3bg3qXWu1eZ85ffn+5YZt06l1n/fiVO03UFACLV7YOFzR8yxxxe6uSjvIacE7mp+5GHbvoz66YNLPyv19as3jQR8jZqRLFz0R0yyxmdPq3IeY/2oovDUZcX2+efewLBEI/pAvP3gaDJYQeV2pyXvYGASLHt1NWpr+2yQ6mNu77QotU32jayYX59vdlb85rfX6r3oIGl9kXAKhvqlAllVIeUeorGz3qU2cnHRz7GP1nisSefKDAF2qY/UGgKVtw5qdBunVDkBPQUzLj6yuaP49C6FhaaTX+4Omp/Es31NZHosmh9UqgsoWVjHAEEEEAAAQQQQACBdAg0f2WTjhJk8DZ0e8jKVd81KmGXTh3M7/fbqtXB4EVxkddiGbwejxUWxJY2lvxammb0yMDF/XJPo7pp4uPFXlPT9R27lNnR/Utsw3pvo/rtuVf4X0S1VnzDhg0eJ8Chv05XbfRa2zaeuDL47BOPTbqluNFw9+1F9sCUInv4wSK7757CiPkt/p/Hzv5tif1rVoHplhQlqqry2N13FAWCOKVW4PU2qmusxsMuKrbu25U5ddplhzJn+7Gum+p03gLVsvmhptrsskuKE6p7i8pf6DVPoGgtyiPG8y9Z29A5fN5ZJc5TNBQAXLNaNQhUIuz/bjuY9T3I3+yw7/7+sLWiT154cZ396nizigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqziio33AUAABAASURBVAqzigqzigqzigqzigqzigqzigqzigqzigqzigqzigqzG26qjVig435Vn/5jJc37OVnHSyL5FHg9ge8KD8Z5tM8TOU7ybR19GOVbnamvl8/BZj4HCws8gd+tfFdk43li/GuRgLdFa+fJyjvvtF3UmnbeqsRiGXRy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"
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import MetaTrader5 as mt5\n",
"from datetime import datetime, timedelta\n",
"import pandas as pd\n",
"import plotly.graph_objects as go\n",
"\n",
"# --- ACCOUNT DETAILS ---\n",
"login = 1234567\n",
"password = \"123456\"\n",
"server = \"123443556\"\n",
"\n",
"# --- INITIALIZE MT5 ---\n",
"if not mt5.initialize():\n",
" print(\" MT5 initialization failed\")\n",
" quit()\n",
"\n",
"# --- LOGIN ---\n",
"if not mt5.login(login, password=password, server=server):\n",
" print(\" Login failed:\", mt5.last_error())\n",
" mt5.shutdown()\n",
" quit()\n",
"print(\" Logged in successfully\")\n",
"\n",
"# --- HISTORY RANGE (last 30 days) ---\n",
"from_date = datetime.now() - timedelta(days=30)\n",
"to_date = datetime.now()\n",
"\n",
"# --- GET CLOSED DEALS ---\n",
"deals = mt5.history_deals_get(from_date, to_date)\n",
"if deals is None:\n",
" print(\" No deals found:\", mt5.last_error())\n",
" mt5.shutdown()\n",
" quit()\n",
"\n",
"# --- BUILD DATAFRAME ---\n",
"data = []\n",
"for d in deals:\n",
" order_info = mt5.history_orders_get(ticket=d.order)\n",
" sl = tp = None\n",
" if order_info and len(order_info) > 0:\n",
" sl = order_info[0].sl\n",
" tp = order_info[0].tp\n",
"\n",
" deal_type = \"BUY\" if d.type == 0 else \"SELL\" if d.type == 1 else str(d.type)\n",
"\n",
" data.append({\n",
" \"Symbol\": d.symbol,\n",
" \"Type\": deal_type,\n",
" \"Volume, lot\": d.volume,\n",
" \"Open price\": d.price if d.entry == 0 else None,\n",
" \"Close price\": d.price if d.entry == 1 else None,\n",
" \"T/P\": tp,\n",
" \"S/L\": sl,\n",
" \"Position\": d.position_id,\n",
" \"Open time\": datetime.fromtimestamp(d.time_msc/1000) if d.time_msc else datetime.fromtimestamp(d.time),\n",
" \"Close time\": datetime.fromtimestamp(d.time_msc/1000) if d.time_msc else datetime.fromtimestamp(d.time),\n",
" \"Swap, USD\": d.swap,\n",
" \"Reason\": d.reason,\n",
" \"P/L, USD\": d.profit\n",
" })\n",
"\n",
"df = pd.DataFrame(data)\n",
"\n",
"# --- SORT BY CLOSE TIME ---\n",
"df = df.sort_values(\"Close time\").reset_index(drop=True)\n",
"\n",
"# --- CALCULATE EQUITY CURVE ---\n",
"df[\"Equity\"] = df[\"P/L, USD\"].cumsum()\n",
"\n",
"# --- PLOT EQUITY CURVE ---\n",
"fig = go.Figure()\n",
"fig.add_trace(go.Scatter(\n",
" x=df[\"Close time\"],\n",
" y=df[\"Equity\"],\n",
" mode=\"lines+markers\",\n",
" line=dict(color=\"blue\"),\n",
" name=\"Equity Curve\"\n",
"))\n",
"fig.update_layout(\n",
" title=\"Equity Curve Over Time\",\n",
" xaxis_title=\"Close Time\",\n",
" yaxis_title=\"Equity\"\n",
")\n",
"fig.show()\n",
"\n",
"# --- SHUTDOWN MT5 ---\n",
"mt5.shutdown()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ce58628e-6d26-4f69-a59d-9f249ca5ad15",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|