![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Voici une question.
Est-ce que ce serait correct dans MQL5 :Dans MQL4, le code est le suivant :
Voici une question.
Est-ce que ce serait correct dans MQL5 :Le code dans MQL4 est le suivant :
pas tout à fait correct.
il est souhaitable d'appeler CopyTime une fois avant la boucle
pas tout à fait correct.
il est souhaitable d'appeler CopyTime une fois avant la boucle
N'est-ce pas ?
Il y a une variable Volume dans la fenêtre de données. D'après ce que je comprends, il s'agit du volume d'échange (réel). J'ai remarqué aujourd'hui, sur EUR/USD M1 (Alpari), que si vous placez le curseur de la souris sur n'importe quelle barre, vous pouvez voir les valeurs de volume. Je me demande si quelqu'un sait comment ces valeurs sont calculées ? S'agit-il du volume d'échange sur la paire pour les clients d'Alpari uniquement, ou s'agit-il de chiffres aléatoires du tout, ou quoi... Dans la capture d'écran ci-dessous, vous pouvez voir le volume = 620m.
Il y a une variable Volume dans la fenêtre de données. D'après ce que je comprends, il s'agit du volume d'échange (réel). J'ai remarqué aujourd'hui, sur EUR/USD M1 (Alpari), que si vous placez le curseur de la souris sur n'importe quelle barre, vous pouvez voir les valeurs de volume. Je me demande si quelqu'un sait comment ces valeurs sont calculées ? S'agit-il du volume d'échange sur la paire pour les clients d'Alpari uniquement, ou s'agit-il de chiffres aléatoires du tout, ou quoi... Dans la capture d'écran ci-dessous, vous pouvez voir le volume = 620m.
Problème étrange pendant l'exécution du programme
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx ;
MqlDateTime Struc ;
TimeToStruct(lTime,Struc) ;
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60) ;
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)) ;
retour(Resx) ;
}
Comptez la même chose plusieurs fois pour comparaison, un fragment du journal est présenté ci-dessous. L'erreur est indiquée en rouge car elle ne peut pas être un nombre négatif. Il semble qu'une variable soit corrompue. À quoi ce problème est-il lié et comment le résoudre ? Merci d'avance pour votre aide.
Clients d'Alpari uniquement. Mais les volumes internes des grands bureaux sont très corrélés.
Il existe des classes pour construire des interfaces graphiques dans la bibliothèque standard, ce qui est une bonne chose.
Ce qui est décevant, c'est que les boîtes de dialogue sont défaillantes. On peut l'observer dans l'exemple de test. Si vous double-cliquez et que vous saisissez un élément "mobile" (par exemple la barre de défilement ou la barre de titre de la fenêtre), vous pouvez le faire glisser à n'importe quel endroit de l'écran. La deuxième caractéristique frustrante est que lorsqu'une fenêtre de dialogue est déplacée horizontalement, le graphique qui s'y trouve défile avec elle. Ce n'est pas fatal, mais désagréable, surtout si l'on considère que le but du déplacement est souvent de regarder le graphique situé sous la fenêtre de dialogue. La troisième caractéristique est le fonctionnement instable des contrôles (par exemple les cases à cocher) et les légers décalages en général (qui ne peuvent probablement pas être éliminés dans l'implémentation actuelle du terminal).
Il existe également des inconvénients architecturaux (par exemple, une architecture adaptée à l'assemblage de dialogues statiques (liaison précoce d'éléments)), mais ceci est pour les gourmets. En principe, c'est supportable.
Il y a aussi des avantages et même des beautés dans la mise en œuvre, mais il est hors de question d'en parler dans ce fil de discussion.
Les bogues sont réparables.
--
J'aimerais également que l'ensemble d'outils standard permette de mettre en œuvre des boîtes de dialogue multipages (CTabBox ou quelque chose du genre).
Problème étrange pendant l'exécution du programme
int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)
{
int Resx ;
MqlDateTime Struc ;
TimeToStruct(lTime,Struc) ;
Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60) ;
Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)) ;
retour(Resx) ;
}
Comptez la même chose plusieurs fois pour comparaison, un fragment du journal est présenté ci-dessous. L'erreur est indiquée en rouge car elle ne peut pas être un nombre négatif. Il semble qu'une variable soit corrompue. À quoi ce problème est-il lié et comment le résoudre ? Merci d'avance pour votre aide.
1. Veuillez coller le code correctement.
2. Pouvez-vous me donner le code source complet, un exemple de travail ou le code de la fonction MarketDayCycle.
Il n'y a pas de tableaux dans ce morceau de code et il n'y a aucun moyen de travailler avec des tableaux.
lors de l'installation de la nouvelle version 642, le son "Testing Finished" ne fonctionne pas après la fin du test de l'EA,
Est-ce un bug ou . pas un bug ?