Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ou peut-être l'avez-vous torturé ? :)
Il l'est. Il l'a vraiment mal pris. Je dois lui reconnaître qu'il est parfois dans un état de stupeur, mais rarement.
J'ai écrit un bel indicateur de tic-tac. Je suis trop paresseux pour déboguer les défaillances rares.
Il l'est. Il l'a vraiment mal pris. Je dois lui reconnaître qu'il est parfois dans un état de stupeur, mais rarement.
J'ai écrit un bel indicateur de tic-tac. J'ai la flemme de déboguer les défaillances rares.
Arriver à faire rentrer tous les ticks de manière égale dans la bougie en temps réel, à chaque fois ?
Ajouté :
En mode COPY_TICKS_TRADE avec vérification du volume.
Arriver à faire rentrer tous les ticks de manière égale dans la bougie en temps réel, à chaque fois ?
Ajouté :
En mode COPY_TICKS_TRADE avec vérification du volume.
J'en ai une légèrement différente. Comme "n'a pas d'analogues" et bla bla bla bla.
Je ne pense pas que ce soit le cas pour les performances, car il est promis de les améliorer de manière significative dans la prochaine version.
J'en ai une légèrement différente. Comme "inégalé" et bla, bla, bla.
Je ne pense pas que ce soit le cas pour les performances, car il est promis de les améliorer de manière significative dans la prochaine version.
Il ne s'agit pas de performance... Il y a des situations comme celle-ci, par exemple maintenant :
L'indicateur collecte les ticks et calcule le volume par ceux-ci. Ensuite, il compare ce volume avec le volume[].
Et il y a des erreurs dans plusieurs situations :
Parfois, le volume de la première bougie du jour est calculé de manière incorrecte (ne coïncide pas avec le contrôle) ;
Parfois, le volume par ticks est calculé correctement mais le volume renvoie une valeur incorrecte. 3 ;
3. Parfois, le volume par ticks est calculé de manière incorrecte, alors que le volume renvoie une valeur incorrecte ;
Le plus intéressant est que si les erreurs 1, 2 ou 3 apparaissent dans l'historique, après avoir recompilé l'indicateur, l'erreur ne disparaît pas. Et en cas de connexion à un autre serveur, il disparaît.
En bref, les miracles ne sont pas encore terminés.
Si ce post est lu par des développeurs et qu'ils veulent comprendre, veuillez vous diriger vers "Service Desk", je fournirai toutes les sources.
C'est ainsi que vous devriez tester CopyTicks :
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
ulong from =(TimeTradeServer()-1200)*1000;
ulong ticks =GetMicrosecondCount();
int records=CopyTicks(_Symbol,ExtArr,COPY_TICKS_INFO,from,2048);
ticks=GetMicrosecondCount()-ticks;
Print("Time: ",ticks," msc for ",records," records");
}
Voici le résultat en microsecondes : 95 microsecondes par échantillon de 2048 ticks INFO pour les 20 dernières minutes.
Freiner après la fermeture du marché
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnStart()
{
ulong from =(TimeCurrent()-1200)*1000;
ulong ticks =GetMicrosecondCount();
int records=CopyTicks(_Symbol,ExtArr,COPY_TICKS_INFO,from,2048);
ticks=GetMicrosecondCount()-ticks;
Print("Time: ",ticks," msc for ",records," records");
}
Résultat
2016.10.29 00:31:05.435 Test (EURCHF,M1) Time: 15283 msc for 874 records
2016.10.29 00:31:03.960 Test (EURCHF,M1) Time: 11629 msc for 874 records
2016.10.29 00:31:02.128 Test (EURCHF,M1) Time: 10127 msc for 874 records
2016.10.29 00:31:00.332 Test (EURCHF,M1) Time: 7318 msc for 874 records
2016.10.29 00:30:52.049 Test (EURUSD,M1) Time: 51 msc for 862 records
Il peut sembler que cela ne concerne que l'EURCHF. Mais dès qu'on commence à pomper les cotations pour l'EURUSD. Dès que le script commence à s'exécuter pendant quelques dizaines de ms sur EURSD. Ce ralentissement a commencé après la fermeture du marché. Tout a été beaucoup plus rapide avant la fermeture du marché.
Chers développeurs ! Le problème avec CopyTicks(), et en particulier la synchronisation des volumes sur une bougie (empiler tous les volumes tick d'une bougie dans une bougie et le comparer au volume[] de cette bougie). Il poursuit .
Maintenant, nous avons à nouveau 2 erreurs :
1. Erreur stable de contrôle du volume sur une bougie d'ouverture (10.00). Je teste sur RTS, SBRF, Si (tous à -12.16). Erreur sur chacun de ces symboles !
2. Si pour une raison quelconque il y a une erreur de contrôle du volume sur le chandelier après 10.00 en temps réel, la même erreur se produit sur l'historique. Cependant ! Si vous changez le serveur, l'erreur sur l'historique disparaît.
Exemple au poste précédent (sur l'erreur 2) :
2016.10.31 12:13:43.699 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:06 пройден! Контрольная сумма = 4103 (2236+1867)
2016.10.31 12:13:43.699 (Si-12.16,M1) VolumeControl: ОШИБКА на свече 2016.10.31 10:07! Сумма объемов на покупку = 1074, сумма объемов на продажу = 3917, контрольная сумма (покупки+продажи) = 5009
2016.10.31 12:13:43.699 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:08 пройден! Контрольная сумма = 3121 (1479+1642)
2016.10.31 12:13:43.699 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:09 пройден! Контрольная сумма = 3760 (1046+2714)
C'est avant le changement de serveur. Et voici le journal après le changement de serveur :
2016.10.31 12:18:12.109 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:06 пройден! Контрольная сумма = 4103 (2236+1867)
2016.10.31 12:18:12.109 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:07 пройден! Контрольная сумма = 5009 (1082+3927)
2016.10.31 12:18:12.109 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:08 пройден! Контрольная сумма = 3121 (1479+1642)
2016.10.31 12:18:12.110 (Si-12.16,M1) VolumeControl: Контроль свечи 2016.10.31 10:09 пройден! Контрольная сумма = 3760 (1046+2714)
Le voici, le "BORDER" localisé ! Moi-même je ne dessine pas ici de contrôle, les valeurs entre parenthèses ne s'ajustent pas, je n'en ai pas besoin. Mais il y a une erreur, et elle peut être corrigée en changeant le serveur !
C'est le journal du contrôle de l'historique (lorsque vous démarrez l'indicateur/cliquez sur le bouton "rafraîchir").
Et maintenant des remarques sur l'erreur n°1.
Quelque temps après l'ouverture du marché (environ 40 minutes se sont écoulées maintenant). Avec un recalcul complet de l'indicateur - il n'y a pas d'erreur de contrôle de la bougie à 10.00 ! Même sans changer le serveur. Comme si quelqu'un avait téléchargé l'historique sur le serveur.
Une autre observation sur l'erreur n°2 :
Если по какой-то причине возникает ошибка контроля объемов на свече после 10.00 в реальном времени, то эта же ошибка возникает и на истории. Однако! Если изменить сервер - ошибка на истории пропадает.