Je ne sais pas comment les autres utilisent CopyTicks. Pas de confiance, malheureusement. Très brut.
EA
#include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280voidOnTick( void )
{
staticMqlTick PrevTick;
staticint Amount = 0;
MqlTick Ticks[];
if (Amount > 0)
{
Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, PrevTick.time_msc);
int i;
for (i = 0; i < Amount; i++)
if (_R(Ticks[i]) == PrevTick) // https://www.mql5.com/ru/code/16280break;
if (i == Amount)
Print("В истории (length = " + (string)Amount + ") нет тика, что был на предыдущем Event.");
}
else
Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, TimeCurrent() * 1000);
if (Amount > 0)
PrevTick = Ticks[Amount - 1];
}
Résultat
2016.09.1511:04:02.810 Test2 (RTS-9.16,M1) В истории (length = 2) нет тика, что был на предыдущем Event.
2016.09.1511:03:59.312 Test2 (RTS-9.16,M1) В истории (length = 13) нет тика, что был на предыдущем Event.
2016.09.1511:03:59.290 Test2 (RTS-9.16,M1) В истории (length = 1) нет тика, что был на предыдущем Event.
Un tick qui était dans l'historique, lors du prochain Tick-event est déjà absent de l'historique !
Chers développeurs, mettez CopyTicks en état de marche. Même les tests simples échouent.
Par exemple
Légèrement remanié
Résultat
Il s'avère que les deux prix passent à zéro à partir de valeurs non nulles. Et après les zéros, on revient aux non-zéros.
L'indicateur montre que CopyTicks ne donne pas forcément les derniers ticks.
Encore plus intéressant
RésultatLes CopyTicks peuvent à la fois être à la traîne et en avance sur l'Event-tick. Event-tick a souvent un drapeau zéro.
ZZY Corriger le drapeau MqlTick aux drapeaux de l'aide MqlTick.
Je ne sais pas comment les autres utilisent CopyTicks. Pas de confiance, malheureusement. Très brut.
EA
Résultat
Un tick qui était dans l'historique, lors du prochain Tick-event est déjà absent de l'historique !
Chers développeurs, mettez CopyTicks en état de marche. Même les tests simples échouent.
J'ai besoin d'ajouter de nouveaux ticks historiques au tableau à chaque OnTick. Quelqu'un l'a-t-il mis en œuvre ?
J'ai du mal - ça ne marche pas. Je n'arrive pas à contourner la courbure des CopyTicks.
Pour le moment, CopyTicks est un peu étiré, mais il fonctionne en temps réel avec un paramètre d'entrée de == 0.
Voici l'un des étirementsRecevoir les ticks extrêmes, et constater que le tick le plus récent a un temps plus court que le précédent.
Consultez le code de cet indicateur
https://www.mql5.com/ru/forum/94399/page6#comment_2776784
Nous prenons les ticks extrêmes, et constatons que le tick le plus récent a un temps plus court que le précédent.
Dois-je écrire au Service Desk à propos des rapports de ce fil de discussion ou les développeurs le surveillent-ils eux-mêmes ?