Questions des débutants MQL5 MT5 MetaTrader 5 - page 142
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
Pourtant, je vais avoir besoin de la variable "st" non seulement dans Alert, mais aussi pour les calculs, et lors de la compilation, l'avertissement "perte de données possible due à la conversion de type" apparaît.
Je suppose que c'est parce qu'il s'agit d'un nombre à 10 chiffres, alors que la valeur maximale en int est 2 147 483 647, j'ai actuellement 1 380 758 400. Il est peut-être judicieux d'utiliser le long terme, et le conseiller expert consommera probablement beaucoup de ressources dans cette partie ?
Ne comprenez-vous pas le principe de la conversion de type? C'est aussi simple que cela :
Je veux dessiner sur la toile. Pour faire redessiner une image sur le canevas dans OnInit, OnTimer, OnTick et dans onChartEvent. Je déclare CCanvas canvas dans des variables globales et j'appelle canvas.methods partout où je veux. Mais le compilateur se plaint d'une variable statique non résolue "CCanvas::m_default_colors" (qu'est-ce que cela a à voir avec les couleurs ?).
le code est comme ceci
#include <Canvas\Canvas.mqh>
CCanvas canvas ;
int OnInit()
{
//CCanvas canvas ; si je le déclare ici, il se dessine mais alors comment le redessiner dans OnTick ?
canvas.CreateBitmapLabel("ProbeGraph", 0, 0, width ,heigth, COLOR_FORMAT_ARGB_RAW) ;
canvas.Circle(Xcentr,Ycentr,Rmin,ColorToARGB(clrBlue, 115)) ; canvas.Update() ;
}
void OnTick()
Comment négocier avec le compilateur ? Existe-t-il un exemple avec la toile en expert ?{
canvas.Circle(Xcentr,Ycentr,Rmin,ColorToARGB(clrBlue, 115)) ; canvas.Update() ;
}
Je veux dessiner sur la toile dans Expert Advisor. Je veux que l'image sur le canevas soit redessinée dans OnInit, OnTimer, OnTick et dans onChartEvent. Je déclare CCanvas canvas dans des variables globales et j'appelle canvas.methods partout où je veux. Mais le compilateur se plaint de la déclaration globale non résolue
...
Comment négocier avec le compilateur ? Existe-t-il un exemple de canevas dans l'EA ?Eh bien, vous n'êtes pas un débutant ! Publiez le code correctement !
Eh bien, vous n'êtes pas un débutant ! Publiez le code correctement !
Le code est juste là. Mais c'est bien pire à creuser. Et ça ne marche pas non plus. Erreur de variable statique non résolue 'CCanvas::m_default_colors' ProbeGraph.mq5 21 9
Et un tas de mandats concernant le chevauchement des variables de hauteur et de largeur. D'après ce que je comprends, le compilateur ne veut pas appeler le constructeur de la classe CCanvas dans les variables globales, mais veut appeler le constructeur à OnInit. Et puis comment faire référence à une instance de la classe en dehors de OnInit, je ne comprends pas.
De plus, avant, le corps de la fonction Draw était dans onInit, mais le Draw lui-même ne l'était pas. Tout a fonctionné, mais dans OnInit. J'ai déjà commencé à me tortiller ici, en essayant de passer une référence à une instance de la classe dans la fonction Draw, car les variables globales ne fonctionnent pas.
En général, le code est en cours d'écriture, le problème étant de créer une instance globale de la classe CCanvas.
Une chose que je n'arrive pas à comprendre : si le compilateur jure, pourquoi les erreurs ne sont-elles pas corrigées ? А ?
Une chose que je n'arrive pas à comprendre : si le compilateur jure, pourquoi les erreurs ne sont-elles pas corrigées ? А ?
J'ai copié entièrement le code suggéré. L'erreur est la même que pour la variable statique non résolue 'CCanvas::m_default_colors' prob1.mq5 21 9
Je n'ai pas d'erreurs. La construction est la plus récente.
J'ai copié le code proposé dans son intégralité. L'erreur est la même que pour la variable statique non résolue 'CCanvas::m_default_colors' prob1.mq5 21 9