Questions des débutants MQL5 MT5 MetaTrader 5 - page 581

 
barudkinarseniy:
Bonjour messieurs du forum ! !! J'ai un problème. J'ai testé le conseiller expert les jours de semaine et il a obtenu un résultat, mais le week-end, il me donne un résultat totalement différent ! Pouvez-vous me dire pourquoi ?
Je pense que c'est parce que l'écart se creuse le week-end.
 
Sergey Gritsay:
parce que le week-end, ils élargissent l'écart
et le niveau de marge diminue, c'est-à-dire à la fermeture du marché ou plus tôt ou cela dépend-il du courtier ?
 
Karputov Vladimir:

Voici le panneau de dialogue avec le contrôle CEdit (pour plus de clarté, l'exemple est fait en un seul fichier) - le panneau vérifie les caractères saisis. Seuls les chiffres sont autorisés :

Merci pour le code. Mais voici une autre question. J'ai compilé le code dans MT5. Il s'avère que vous pouvez toujours entrer des lettres dans l'appareil, mais si vous entrez des lettres, il est indiqué "Only digits are allowed" à la fin du code dans l'appareil. Mais comment rendre impossible la saisie de lettres dans l'appareil ?
 
Andrey Zuev:
Merci pour le code. Mais une autre question se pose. J'ai compilé le code dans mt5. Il s'avère que vous pouvez toujours saisir des lettres dans l'édition, mais si vous saisissez des lettres, lorsque vous terminez la saisie, il est indiqué "Seuls les chiffres sont autorisés" dans l'édition. Mais comment rendre impossible la saisie de lettres dans udite ?
Tu ne peux pas. Le contrôle basé sur la classe CEdit gère uniquement l'événement ON_END_EDIT- (6) // de fin d'édition - c'est-à-dire l'événement de fin de saisie.
 

Collègues, j'essaie de prendre un signal de cette ligne :

si((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Signal d'achat

Mais le compilateur se plaint que "Point - undeclared identifier".

C'est MT5.

N'est-ce pas une variable prédéfinie ?

 
Andrey Koldorkin:

Collègues, j'essaie de prendre un signal de cette ligne :

si((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Signal d'achat

Mais le compilateur se plaint que "Point - undeclared identifier".

C'est MT5.

N'est-ce pas une variable prédéfinie ?

Non. Utilisez _Point.
 
Andrey Koldorkin:

Collègues, j'essaie de prendre un signal de cette ligne :

si((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Signal d'achat

Mais le compilateur se plaint que "Point - undeclared identifier".

C'est MT5.

N'est-ce pas une variable prédéfinie ?

Vous devez utiliserPoint().

 

Merci.

Une autre question. Je veux prendre la valeur de la courbe sur la bougie actuelle et la dernière bougie fermée, ainsi que sur la dernière bougie fermée et l'avant-dernière bougie fermée.

Dois-je utiliser un tableau ici ?

J'ai un mashka qui a 3 paramètres d'entrée. J'essaie de construire une adresse pour ça :

//----------------------

double P0, P1, P2 ; // valeur de l'indicateur à la bougie actuelle, dernière bougie fermée

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Le prix de l'indicateur sur la bougie actuelle.

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Le prix de l'indicateur sur la dernière bougie fermée.

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Prix de l'indicateur sur l'avant-dernière bougie fermée

//----------------------

Les trois lignes du bas sont les mêmes, je l'ai écrit de cette façon, car je ne comprends pas comment lire la valeur du chandelier précédent. Il prend le courant correctement, et le sort correctement en utilisant Alert.

Peut-être devrions-nous définir une boucle, où la valeur actuelle sera écrite et, à chaque nouveau chandelier, elle sera décalée vers l'arrière, devenant d'abord le dernier chandelier fermé, puis l'avant-dernier chandelier fermé.

Comment le faire de manière intelligente ? ))

 
Andrey Koldorkin:

Collègues, j'essaie de prendre un signal de cette ligne :

si((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Signal d'achat

Mais le compilateur se plaint que "Point - undeclared identifier".

C'est MT5.

N'est-ce pas une variable prédéfinie ?

Et puis tu écris ça :

Andrey Koldorkin:

Merci.

Une autre question. Je veux prendre la valeur de la courbe sur la bougie actuelle et la dernière bougie fermée, ainsi que sur la dernière bougie fermée et l'avant-dernière bougie fermée.

Dois-je utiliser un tableau ici ?

J'ai un mashka qui a 3 paramètres d'entrée. J'essaie de construire une adresse pour ça :

//----------------------

double P0, P1, P2 ; // valeur de l'indicateur à la bougie actuelle, dernière bougie fermée

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Le prix de l'indicateur sur la bougie actuelle.

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Le prix de l'indicateur sur la dernière bougie fermée.

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift) ; //Prix de l'indicateur sur l'avant-dernière bougie fermée

//----------------------

Les trois lignes du bas sont les mêmes, je l'ai écrit de cette façon, car je ne comprends pas comment lire la valeur du chandelier précédent. Il prend le courant correctement, et le sort correctement en utilisant Alert.

Peut-être devrions-nous définir une boucle, où la valeur actuelle est écrite et où, à chaque nouveau chandelier, elle est décalée vers l'arrière, devenant d'abord le dernier chandelier fermé, puis l'avant-dernier chandelier fermé.

Comment le faire de manière intelligente ? ))

Alors, encore : écrivez-vous dans MT5 ou dans MT4 ?

Ajouté :Insérer le code correctement dans le forum

 
Karputov Vladimir:

et ensuite tu écris ça :

Donc, toujours : écrivez-vous dans MT5 ou MT4 ?

Ajouté :Insertion correcte du code dans le forum

MT5. Ne jugez pas sévèrement, je débute juste.

Le compilateur ne semble pas jurer.

Raison: