Você chama este código de "onde"? Em que tipo de programa?
Onde estão as inicializações das variáveis?
Onde está o código MQ5 completo como um arquivo - para que possa ser compilado e executado?
Um script de exemplo é fornecido na ajuda do CopyTicks
Partida a frio:
Revista
2021.01 . 18 09 : 59 : 17.367 Scripts script Generator Magic Number (GBPUSD,H1) loaded successfully 2021.01 . 18 09 : 59 : 17.380 Scripts script Generator Magic Number (GBPUSD,H1) removed 2021.01 . 18 11 : 47 : 13.249 Scripts script CopyTicks (EURUSD,H1) loaded successfully 2021.01 . 18 11 : 49 : 18.826 Scripts script CopyTicks (EURUSD,H1) removed
Especialistas:
2021.01 . 18 11 : 49 : 18.580 CopyTicks (EURUSD,H1) EURUSD: received 100000000 ticks in 27297 ms 2021.01 . 18 11 : 49 : 18.580 CopyTicks (EURUSD,H1) Last tick time = 2016.02 . 29 09 : 54 : 41.000 2021.01 . 18 11 : 49 : 18.580 CopyTicks (EURUSD,H1) First tick time = 2011.12 . 19 00 : 00 : 08.000 2021.01 . 18 11 : 49 : 18.580 CopyTicks (EURUSD,H1) current_time= 2021.01 . 18 11 : 49 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 1 . 2021.01 . 18 00 : 02.617 Ask= 1.20879 Bid= 1.20879 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 2 . 2021.01 . 18 00 : 02.635 Bid= 1.20879 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 3 . 2021.01 . 18 00 : 02.472 Ask= 1.20884 Bid= 1.20884 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 4 . 2021.01 . 18 00 : 03.121 Ask= 1.20859 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 5 . 2021.01 . 18 00 : 03.218 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 6 . 2021.01 . 18 00 : 03.878 Ask= 1.20865 Bid= 1.20865 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 7 . 2021.01 . 18 00 : 03.628 Ask= 1.20859 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 8 . 2021.01 . 18 00 : 03.565 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 9 . 2021.01 . 18 00 : 03.630 Ask= 1.20866 Bid= 1.20866 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 10 . 2021.01 . 18 00 : 03.819 Bid= 1.20866 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 11 . 2021.01 . 18 00 : 03.313 Ask= 1.20859 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 12 . 2021.01 . 18 00 : 03.488 Ask= 1.2086 Bid= 1.2086 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 13 . 2021.01 . 18 00 : 03.355 Ask= 1.20865 Bid= 1.20865 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 14 . 2021.01 . 18 00 : 03.105 Ask= 1.20859 Bid= 1.20859 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 15 . 2021.01 . 18 00 : 04.061 Ask= 1.20856 Bid= 1.20856 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 16 . 2021.01 . 18 00 : 04.058 Ask= 1.20853 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 17 . 2021.01 . 18 00 : 04.062 Ask= 1.20852 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 18 . 2021.01 . 18 00 : 04.056 Bid= 1.20852 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 19 . 2021.01 . 18 00 : 04.056 Ask= 1.20853 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 20 . 2021.01 . 18 00 : 04.064 Bid= 1.20853 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 21 . 2021.01 . 18 00 : 04.058 Bid= 1.20853 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 22 . 2021.01 . 18 00 : 04.715 Ask= 1.20844 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 23 . 2021.01 . 18 00 : 04.063 Bid= 1.20844 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 24 . 2021.01 . 18 00 : 04.878 Ask= 1.20849 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 25 . 2021.01 . 18 00 : 04.034 Ask= 1.20844 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 26 . 2021.01 . 18 00 : 04.455 Ask= 1.20838 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 27 . 2021.01 . 18 00 : 05.296 Ask= 1.20837 Bid= 1.20837 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 28 . 2021.01 . 18 00 : 05.354 Ask= 1.20809 Bid= 1.20809 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 29 . 2021.01 . 18 00 : 05.464 Ask= 1.20875 Bid= 1.20875 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 30 . 2021.01 . 18 00 : 05.471 Ask= 1.20822 Bid= 1.20822 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 31 . 2021.01 . 18 00 : 05.383 Ask= 1.20818 Bid= 1.20818 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 32 . 2021.01 . 18 00 : 05.207 Ask= 1.2082 Bid= 1.2082 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 33 . 2021.01 . 18 00 : 05.913 Ask= 1.20818 Bid= 1.20818 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 34 . 2021.01 . 18 00 : 05.446 Ask= 1.20816 Bid= 1.20816 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 35 . 2021.01 . 18 00 : 05.450 Ask= 1.20818 Bid= 1.20818 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 36 . 2021.01 . 18 00 : 05.583 Ask= 1.20816 Bid= 1.20816 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 37 . 2021.01 . 18 00 : 05.478 Ask= 1.20818 Bid= 1.20818 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 38 . 2021.01 . 18 00 : 06.473 Ask= 1.2082 Bid= 1.2082 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 39 . 2021.01 . 18 00 : 06.024 Ask= 1.20819 Bid= 1.20819 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 40 . 2021.01 . 18 00 : 06.752 Ask= 1.20816 Bid= 1.20816 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 41 . 2021.01 . 18 00 : 06.752 Ask= 1.20815 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 42 . 2021.01 . 18 00 : 06.752 Ask= 1.20816 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 43 . 2021.01 . 18 00 : 06.752 Ask= 1.20815 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 44 . 2021.01 . 18 00 : 06.420 Ask= 1.2083 Bid= 1.2083 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 45 . 2021.01 . 18 00 : 06.527 Ask= 1.20829 Bid= 1.20829 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 46 . 2021.01 . 18 00 : 06.085 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 47 . 2021.01 . 18 00 : 06.485 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 48 . 2021.01 . 18 00 : 06.520 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 49 . 2021.01 . 18 00 : 06.099 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 50 . 2021.01 . 18 00 : 06.407 Ask= 1.20825 Bid= 1.20825 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 51 . 2021.01 . 18 00 : 06.506 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 52 . 2021.01 . 18 00 : 06.840 Ask= 1.20825 Bid= 1.20825 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 53 . 2021.01 . 18 00 : 06.799 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 54 . 2021.01 . 18 00 : 06.123 Ask= 1.20825 Bid= 1.20825 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 55 . 2021.01 . 18 00 : 06.572 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 56 . 2021.01 . 18 00 : 06.657 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 57 . 2021.01 . 18 00 : 06.144 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 58 . 2021.01 . 18 00 : 06.589 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 59 . 2021.01 . 18 00 : 06.096 Ask= 1.20822 Bid= 1.20822 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 60 . 2021.01 . 18 00 : 06.126 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 61 . 2021.01 . 18 00 : 07.266 Ask= 1.20817 Bid= 1.20817 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 62 . 2021.01 . 18 00 : 07.390 Ask= 1.20816 Bid= 1.20816 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 63 . 2021.01 . 18 00 : 07.666 Ask= 1.20817 Bid= 1.20817 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 64 . 2021.01 . 18 00 : 07.816 Ask= 1.20824 Bid= 1.20824 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 65 . 2021.01 . 18 00 : 07.124 Ask= 1.20828 Bid= 1.20828 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 66 . 2021.01 . 18 00 : 07.100 Bid= 1.20828 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 67 . 2021.01 . 18 00 : 07.163 Ask= 1.20827 Bid= 1.20827 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 68 . 2021.01 . 18 00 : 07.719 Ask= 1.20822 Bid= 1.20822 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 69 . 2021.01 . 18 00 : 07.342 Ask= 1.2082 Bid= 1.2082 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 70 . 2021.01 . 18 00 : 07.464 Ask= 1.20823 Bid= 1.20823 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 71 . 2021.01 . 18 00 : 08.728 Ask= 1.2082 Bid= 1.2082 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 72 . 2021.01 . 18 00 : 08.826 Ask= 1.20818 Bid= 1.20818 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 73 . 2021.01 . 18 00 : 08.510 Ask= 1.2082 Bid= 1.2082 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 74 . 2021.01 . 18 00 : 08.172 Ask= 1.20813 Bid= 1.20813 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 75 . 2021.01 . 18 00 : 08.918 Ask= 1.20817 Bid= 1.20817 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 76 . 2021.01 . 18 00 : 08.051 Ask= 1.20814 Bid= 1.20814 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 77 . 2021.01 . 18 00 : 08.527 Ask= 1.20808 Bid= 1.20808 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 78 . 2021.01 . 18 00 : 08.970 Ask= 1.20811 Bid= 1.20811 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 79 . 2021.01 . 18 00 : 08.594 Ask= 1.20814 Bid= 1.20814 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 80 . 2021.01 . 18 00 : 09.525 Bid= 1.20814 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 81 . 2021.01 . 18 00 : 09.118 Ask= 1.20817 Bid= 1.20817 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 82 . 2021.01 . 18 00 : 09.405 Ask= 1.20803 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 83 . 2021.01 . 18 00 : 09.745 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 84 . 2021.01 . 18 00 : 09.491 Ask= 1.20813 Bid= 1.20813 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 85 . 2021.01 . 18 00 : 09.582 Ask= 1.20812 Bid= 1.20812 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 86 . 2021.01 . 18 00 : 10.826 Bid= 1.20812 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 87 . 2021.01 . 18 00 : 10.328 Ask= 1.20797 Bid= 1.20797 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 88 . 2021.01 . 18 00 : 10.451 Bid= 1.20797 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 89 . 2021.01 . 18 00 : 10.559 Ask= 1.208 Bid= 1.208 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 90 . 2021.01 . 18 00 : 10.684 Ask= 1.20801 Bid= 1.20801 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 91 . 2021.01 . 18 00 : 10.412 Ask= 1.208 Bid= 1.208 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 92 . 2021.01 . 18 00 : 10.964 Ask= 1.2081 Bid= 1.2081 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 93 . 2021.01 . 18 00 : 10.228 Ask= 1.20805 Bid= 1.20805 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 94 . 2021.01 . 18 00 : 10.668 Ask= 1.20803 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 95 . 2021.01 . 18 00 : 10.668 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 96 . 2021.01 . 18 00 : 10.675 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 97 . 2021.01 . 18 00 : 10.675 Bid= 1.20803 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 98 . 2021.01 . 18 00 : 11.068 Ask= 1.20805 Bid= 1.20805 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 99 . 2021.01 . 18 00 : 11.068 Ask= 1.20804 (Info tick) 2021.01 . 18 11 : 49 : 18.581 CopyTicks (EURUSD,H1) 100 . 2021.01 . 18 00 : 11.497 Ask= 1.20801 (Info tick)
- www.mql5.com
Estou tentando conseguir as marcas para tempos diferentes. Tenho usado a função CopyTicksRange (). Costumava funcionar bem.
Mas de repente deixou de funcionar. Estou muito desapontado com este comportamento da função.
Por favor, me explique por que isso está acontecendo? Qual é a melhor maneira de obter carrapatos usando o intervalo de tempo com garantia?
Tentei chamar esta função várias vezes porque achei que levava tempo para carregar os dados do Ticks. Mas todas as vezes que tentei, o comprimento dos carrapatos copiados era -1.
Por favor, diga-me o que posso fazer.
Eu defini Ferramentas -> Opção -> Gráficos -> Número máximo de colunas no gráfico para Ilimitado. Eu tentei o seguinte código:
ulong(TimeCurrent() + 60) * 1000 é tempo no futuro. Ainda não há carrapatos lá. Você não sabe a que horas você está tentando obter os carrapatos. Tente colocar as coisas assim
int len = CopyTicksRange(Orig_Symbol_Name, ticks_add, COPY_TICKS_ALL, ulong(TimeCurrent() - 60)*1000, ulong(TimeCurrent()) * 1000);
Serão os carrapatos durante os últimos 60 segundos
#property version "1.00" #property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 0 bool terminal_connected, Filled_Complete; input int GO_BACK_HISTORY_LOAD = 30; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { string name = MQLInfoString(MQL_PROGRAM_NAME); IndicatorSetString(INDICATOR_SHORTNAME, name); terminal_connected = (bool)TerminalInfoInteger(TERMINAL_CONNECTED); ResetLastError(); Filled_Complete = true; if(Fill_Ticks_Symbol(Symbol()) < 0) { Filled_Complete = false; } EventSetMillisecondTimer(100); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { EventKillTimer(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { if(terminal_connected == false || Filled_Complete == false) { if(Fill_Ticks_Symbol(Symbol()) > 0) { Filled_Complete = true; } if(TerminalInfoInteger(TERMINAL_CONNECTED) == true) terminal_connected = true; } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTimer() { if(TerminalInfoInteger(TERMINAL_CONNECTED) == false) terminal_connected = false; } //+------------------------------------------------------------------+ int Fill_Ticks_Symbol(string Orig_Symbol_Name) { MqlDateTime str; TimeToStruct(iTime(Orig_Symbol_Name, 0, 0) - GO_BACK_HISTORY_LOAD * 86400, str); Comment(""); datetime start_date = datetime(StringFormat("%d.%d.01 00:00:00",str.year,str.mon)); MqlTick ticks_add[]; ulong time_start = GetMicrosecondCount(); //int len = CopyTicksRange(Orig_Symbol_Name, ticks_add, COPY_TICKS_ALL, ulong(start_date)*1000, ulong(TimeCurrent())*1000); Print("Gathering Ticks from : ", iTime(Orig_Symbol_Name, 0, 0) - GO_BACK_HISTORY_LOAD * 86400, " To: ", TimeCurrent()); int len = CopyTicksRange(Orig_Symbol_Name, ticks_add, COPY_TICKS_ALL, ulong(start_date)*1000, ulong(TimeCurrent() + 60) * 1000); int count = 0; while(len<=0 && count<5 && !IsStopped()) { Sleep(100); len = CopyTicksRange(Orig_Symbol_Name, ticks_add, COPY_TICKS_ALL, ulong(start_date)*1000, ulong(TimeCurrent() + 60) * 1000); count++; } if(len<=0) { Print("The History Len was found to be : ", len); return -1; } Print("Started : ",ticks_add[0].time," Ended : ",ticks_add[len-1].time); return len; } //+------------------------------------------------------------------+
Não serei capaz de compartilhar o código completo, mas aqui está um pequeno exemplo que usei.
Você poderia me sugerir isso agora? Eu tentei o exemplo acima. Às vezes funciona. Mas nem sempre.
Tente esta opção
//+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { if(rates_total == 0) { if(Fill_Ticks_Symbol(Symbol()) <= 0) return 0; } //--- return value of prev_calculated for next call return(rates_total); }Desta forma, o indicador esperará que os carrapatos sejam carregados.
Tente esta opção.
Desta forma, o indicador esperará que os carrapatos sejam carregados.Acho que não haverá nenhuma diferença. Porque o problema é com a função MQL5, não aquela que eu criei.
Acho que não haverá nenhuma diferença. Porque o problema é com a função MQL5, não aquela que eu criei.
Esta não é a primeira vez que você expressa uma opinião não verificada. O que o impede de verificar?
Tente contar quantos programadores mql5 estão trabalhando com a função CopyTicksRange() e ninguém tem problemas. Você é o único, você é o único que tem tal comportamento da função.
Esta não é a primeira vez que você dá uma opinião não verificada. O que o impede de verificar?
Tente contar quantos programadores de mql5 estão trabalhando com a função CopyTicksRange() e ninguém tem problemas. Você é o único que tem tal comportamento da função.
Uma declaração muito ousada, Alexey.
Eu trabalho com a função CopyTicksRange() e ela funciona constantemente de forma incorreta. Para que funcione corretamente, tenho que ajustar os parâmetros de entrada para que dê um resultado sensato. Estou usando esta função há dois anos e continuo encontrando novas falhas. O apoio continua ignorando todas as perguntas sobre esta função. O mais provável é que eles sejam preguiçosos demais para fazê-lo, pois há uma falha atrás da outra.
Como exemplo, o que esta função pode fazer de forma inesperada:
1) devolver os carrapatos não incluídos na faixa solicitada
2) devolver todos os carrapatos da barra atual em vez da parte solicitada desta barra
3) devolver o lixo, ou seja, não está claro quais carrapatos são devolvidos
4) para pular uma parte dos carrapatos
O melhor foi um conselho de alguém de apoio para fazer muletas - ou seja, se eu sei em que situações uma função falha, eu deveria reformular o pedido para que ele não falhasse. Tenho feito isso desde então :)
Aqui está o exemplo de ontem, contra o qual estou agora procurando uma muleta:
MqlTick Ticks[1000000]; int AddTicks(ulong tFrom_msc,ulong tTo_msc,ulong <) { int received=CopyTicksRange("@BR",Ticks,COPY_TICKS_ALL,tFrom_msc,tTo_msc); PrintFormat("CopyTicksRange: %s:%d - %s:%d received %d",TimeToString(tFrom_msc/1000),tFrom_msc%1000,TimeToString(tTo_msc/1000),tTo_msc%1000,received); if(received>0) { PrintFormat("%s:%d - first tick, %s:%d - last tick", TimeToString(Ticks[0].time_msc/1000), Ticks[0].time_msc%1000, TimeToString(Ticks[received-1].time_msc/1000), Ticks[received-1].time_msc%1000 ); lt= Ticks[received-1].time_msc ; } return received; }
E aqui está a muleta:
2021.09.18 18:10:26.541 TesterEx ($BR,H1) CopyTicksRange: 2021.01.29 23:56:864 - 2021.01.31 23:59:999 received 109425 2021.09.18 18:10:26.541 TesterEx ($BR,H1) 2021.01.29 00:02:782 - first tick, 2021.01.29 23:56:863 - last tick
Isto é, a função utilizada por milhares de programadores, pessoalmente para mim retornou todos os carrapatos desde o início da barra atual, mas não incluídos na faixa solicitada.
Essa é uma afirmação muito ousada, Alexey.
Estou trabalhando com a função CopyTicksRange() e ela não está funcionando corretamente o tempo todo. Para que funcione corretamente, tenho que ajustar os parâmetros de entrada para que dê um resultado sensato. Estou usando esta função há dois anos e continuo encontrando novas falhas. O apoio continua ignorando todas as perguntas sobre esta função. O mais provável é que eles sejam preguiçosos demais para fazê-lo, pois há uma falha atrás da outra.
Como exemplo, o que esta função pode fazer de forma inesperada:
1) devolver os carrapatos não incluídos na faixa solicitada
2) devolver todos os carrapatos da barra atual ao invés da parte solicitada desta barra
3) devolver o lixo, ou seja, não está claro quais carrapatos são devolvidos
4) para pular uma parte dos carrapatos
O melhor foi um conselho de alguém de apoio para fazer muletas - ou seja, se eu sei em que situações uma função falha, eu deveria reformular o pedido para que ele não falhasse. Tenho feito isso desde então :)
Destaquei as palavras-chave.
NÃO solicite carrapatos que ainda não existem por definição. Se você solicitar carrapatos mesmo um milissegundo além do tempo atual em milissegundos, você receberá a própria g.........y na forma de seus problemas.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Estou tentando conseguir as marcas para tempos diferentes. Tenho usado a função CopyTicksRange (). Costumava funcionar bem.
Mas de repente deixou de funcionar. Estou muito desapontado com este comportamento da função.
Por favor, me explique por que isso está acontecendo? Qual é a melhor maneira de obter carrapatos usando o intervalo de tempo com garantia?
Tentei chamar esta função várias vezes porque achei que levava tempo para carregar os dados do Ticks. Mas todas as vezes que tentei, o comprimento dos carrapatos copiados era -1.
Por favor, diga-me o que posso fazer.
Eu defini Ferramentas -> Opção -> Gráficos -> Número máximo de colunas no gráfico para Ilimitado. Eu tentei o seguinte código: