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
потому что вы берете каждый раз новое время тика, и оно конечно не равно предыдущему.
Dans la dernière fonction, vous avez pris l'heure de début de la barre. Donc, ici aussi, prenez l'heure de la barre et non l'heure du tic-tac.
Expliquez à quelqu'un qui ne comprend pas quel paramètre du code il faut changer pour lequel.
Comment décrire l'heure de la barre et non celle du tic-tac ?
Expliquez à quelqu'un qui ne comprend pas quel paramètre du code il faut changer en quel paramètre.
Comment décrire l'heure de la barre plutôt que l'heure du tic-tac ?
Expliquez à quelqu'un qui ne comprend pas quel paramètre du code il faut changer en quel paramètre.
Comment décrire le temps d'une barre et non d'un tic ?
Voici une description populaire du gestionnaire d'événement "nouvelle barre".
En général, ne soyez pas paresseux et regardez parfois les articles et la base de code avant de poser une question.
Вот тут все популярно описано Обработчик события "новый бар"
En général, ne soyez pas paresseux et consultez les articles et les bases de code avant de poser une question.
Dans mql4, on pouvait savoir en cinq lignes si la barre était nouvelle ou non. Et maintenant, tout un tas de fichiers ont été écrits, on ne sait pas où les mettre, ce qu'il faut écrire dans le programme...
En bref, s'il y a des experts, alors donnez-moi un exemple de code, afin que je ne souffre pas, et je peux envoyer moi-même n'importe qui à la bibliothèque, électronique ou réelle.
Je n'en doute pas, mais je demande juste pour vérifier - est-ce que quelqu'un a créé une seule et même EA dans mql4 et mql5 et a comparé les résultats des tests? Il devrait être parfaitement similaire si le code est correctement transformé, n'est-ce pas ? Ou ai-je tort ?
Si les tests sont mis en parallèle ici et que dans mql5 la logique est placée dans onTick, alors ce sera similaire.
La seule différence réside peut-être dans les écarts. En 5, l'histoire contient les écarts. Dans la version 4, l'écart du testeur est égal à l'écart actuel dans le terminal.
Si l'on teste "chaque tick", il semble que ce sera encore plus petit, car les algorithmes de génération de tick sont différents dans les versions.
Dans mql4, on pouvait savoir en cinq lignes si la barre était nouvelle ou non. Et maintenant, tout un tas de fichiers ont été écrits, je ne sais pas où les mettre, ce qu'il faut écrire dans le programme...
En bref, s'il y a des experts, alors donnez-moi un exemple de code, afin que je ne souffre pas, et je peux envoyer moi-même n'importe qui à la bibliothèque, électronique ou réelle.
Ici, déclarez la variable lastbar comme statique ou globale, le tableau iTime comme global.
Il y a un exemple sur la page avec la fonction isNewBar
https://www.mql5.com/ru/forum/2804/38752#comment_38752
1. Je n'ai rien demandé sur les résultats des tests des mêmes stratégies sur mql4 et mql5.
J'avais l'habitude d'entrer sur le marché sur une nouvelle barre si les conditions répondent aux exigences d'entrée et de fermer la position si les indicateurs montrent le signal opposé et d'entrer à nouveau sur une nouvelle barre.
Sur mql4 j'ai utilisé cette procédure pour entrer sur une nouvelle barre :
void Fun_New_Bar() // Ф-ия обнаружения ..
{ // ... nouvelle barre
static datetime New_Time=0 ; // Heure de la barre actuelle
New_Bar=false ; // pas de nouvelle barre
if(New_Time!=Time[0]) // Comparez les temps
{
New_Time=Time[0] ; // L'heure actuelle est la suivante
New_Bar=true ; // La nouvelle barre est capturée
}
}
Voici à quoi ressemble le résultat du test du robot sur mql4 en utilisant ma stratégie :
Merci d'avoir envoyé les procédures pour déterminer la nouvelle barre. Ils travaillent. J'ai fait un script qui écrit Alert sur une nouvelle barre et je l'ai testé sur M1 donc je n'ai pas attendu trop longtemps.
Mais la même stratégie donne des résultats complètement différents (et les mêmes) en utilisant les deux procédures dans mql5 Expert Advisor :
Je n'ai pas déchiré ma chemise et tapé du pied pour rien. Je veux répéter les résultats, mais ils ne coïncident pas.
Voici à quoi ressemble approximativement la fonction onStart dans mql4
int start()
{
GetIns() ;
Fun_New_Bar() ;
si (New_Bar==false) return(0) ;
si (Total()>0)
{
CloseSellEnd() ;
CloseBuyEnd() ;
}
si (Total()<1)
{
OpenBuy() ;
OpenSell() ;
}
retour(0) ;
}
La même chose dans mlq5 :
void OnTick()
{
GetIns() ;
si (NewBar())
{
si (Total()>0) TryToClose() ;
si (Total()<1)
{
OpenBuy(Lots,10, "EUR/USD (Buy)",102406) ;
OpenSell(Lots,10, "EUR/USD (Sell)",102406) ;
}
}
}
GetIns pour traiter les paramètres des indicateurs, et Total() - donne le nombre de positions avec la magie requise pour mql4 ou avec le symbole requis pour mql5.
Aide.
Je pense avoir trouvé la raison de cette divergence. Tu ne vas pas le croire. Les MT4 et MT5 ont un historique de cotation différent. Il semble que la stratégie soit légèrement différente et qu'elle soit testée avec une énorme différence !!!!.
Voici un tracé sur différents terminaux :
Si vous regardez de plus près, il y a une différence. Un petit ? Et quelle est la différence entre les résultats des tests de la stratégie, également faible ???
Je vais contacter les développeurs ! Quelle bêta ! !!