[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 21
P.S. Lorsque vous ne comprenez pas bien ce qui se passe, il est préférable d'imprimer les valeurs avant et après la fonction ou l'instruction que vous voulez vérifier, pour voir comment elles changent. Parfois, les valeurs d'entrée ne sont pas ce que nous attendons d'elles, et trouver où et pourquoi elles deviennent ce qu'elles sont est beaucoup plus facile en code que de deviner pourquoi le programme ne fonctionne pas correctement.
oh merde...exactement...si vous prenez int flag,flagg ; hors de la fonction Start...alors tout fonctionne en même temps :))) une autre erreur stupide de débutant :) MERCI !
oh merde...exactement...si vous enlevez int flag,flagg ; de la fonction Start...alors tout fonctionne en même temps :))) une autre erreur stupide de débutant :) MERCI !
Les débutants ne sont pas les seuls à commettre de telles erreurs. Par exemple, vous pouvez déclarer par inattention une variable locale avec un nom que la variable globale possède déjà. Le compilateur ne génère pas d'erreurs dans ce cas, mais le programme ne fonctionne pas "correctement". L'essentiel est d'être capable de détecter ces erreurs.
J'utilise cette fonction pour limiter le nombre d'ordres négociés simultanément, mais en fait le nombre d'ordres est supérieur de 1 au nombre défini dans la variable MaxOrders. Quelle peut en être la raison ?
J'utilise cette fonction pour limiter le nombre d'ordres négociés simultanément, mais en fait le nombre d'ordres est supérieur de 1 au nombre défini dans la variable MaxOrders. Quelle peut en être la raison ?
Nous enregistrons les commandes à partir de zéro. C'est pourquoi ça ressemble à ça :
Comment est-ce possible ? J'ai une EA, elle fonctionne. Il achète, vend ... tous les arrêts clairs et takei. mais la perte est beaucoup, alors je décide de prescrire un autre filtre de tendance. deux moyennes - rapide et lente - sur un très grand TF. sur H4.
Le conseiller expert devrait ressembler à ceci
si (....)
{....
...}
une fois de plus - tout fonctionne !
et ici je mets un filtre (avant cela je définis MA1=iMA...) et presque tout en haut de l'arbre if (la deuxième condition - et la première - temps if ( Hour()>=7 && Hour()<20)
si (....)
si MA1>MA2
{
{....
...}}
aucune erreur.
Mais 95% des échanges sont coupés ! Et sur H4 l'image dit le contraire - il doit y avoir beaucoup de transactions, parce queMA1>MA2 est exécuté pendant des semaines !
Lorsqu'il y a beaucoup de lignes sur le graphique (horizontal), les étiquettes (prix de ligne) sur l'échelle de prix de ces lignes "encombrent" toute l'échelle.
Quel est ce paramètre "queue" avec le prix de la ligne ? Est-il possible de le désactiver d'une manière ou d'une autre ? (Je n'ai même pas trouvé de moyen manuel, mais j'ai besoin d'un moyen logiciel)
Et je mettrai juste le prix dans le nom de la ligne - c'est suffisant.
Aide pour savoir ce qu'est l'erreur "EURUSD,M30 : uninit reason 5" quand le conseiller fonctionne souvent quand il a besoin d'ouvrir une nouvelle position il écrit cette erreur et tout le système s'arrête (( s'il y a un code pour corriger cette erreur s'il vous plaît envoyez-moi un exemple.
Frostr: Aidez-moi à vérifier ce qu'est l'erreur "EURUSD,M30 : uninit reason 5" lorsque mon conseiller est en cours d'exécution souvent quand il a besoin d'ouvrir une nouvelle position il écrit cette erreur et l'ensemble du système s'arrête (( s'il ya un code pour aider à corriger cette erreur s'il vous plaît poster un exemple
Codes de raison renvoyés par UninitializeReason(). Peut avoir l'une des valeurs suivantes :
Constant .
Valeur
Description
0
Le script a terminé son travail de manière indépendante
REASON_REMOVE
1
Le programme a été supprimé du tableau
RAISON_RECOMPILATION
2
Programme recompilé
RAISON_CHARTCHANGE
3
Le symbole ou la période du graphique a été modifié
RAISON_CHARTCLOSE
4
La carte est fermée
PARAMÈTRES_DE_RAISON
5
Les paramètres d'entrée ont été modifiés par l'utilisateur
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
P.S. Lorsque vous ne comprenez pas bien ce qui se passe, il est préférable d'imprimer les valeurs avant et après la fonction ou l'instruction que vous voulez vérifier, pour voir comment elles changent. Parfois, les valeurs d'entrée ne sont pas ce que nous attendons d'elles, et trouver où et pourquoi elles deviennent ce qu'elles sont est beaucoup plus facile en code que de deviner pourquoi le programme ne fonctionne pas correctement.Avez-vous ledrapeau comme une variable locale ?
oh merde...exactement...si vous prenez int flag,flagg ; hors de la fonction Start...alors tout fonctionne en même temps :))) une autre erreur stupide de débutant :) MERCI !
oh merde...exactement...si vous enlevez int flag,flagg ; de la fonction Start...alors tout fonctionne en même temps :))) une autre erreur stupide de débutant :) MERCI !
Les débutants ne sont pas les seuls à commettre de telles erreurs. Par exemple, vous pouvez déclarer par inattention une variable locale avec un nom que la variable globale possède déjà. Le compilateur ne génère pas d'erreurs dans ce cas, mais le programme ne fonctionne pas "correctement". L'essentiel est d'être capable de détecter ces erreurs.
J'utilise cette fonction pour limiter le nombre d'ordres négociés simultanément, mais en fait le nombre d'ordres est supérieur de 1 au nombre défini dans la variable MaxOrders. Quelle peut en être la raison ?
J'utilise cette fonction pour limiter le nombre d'ordres négociés simultanément, mais en fait le nombre d'ordres est supérieur de 1 au nombre défini dans la variable MaxOrders. Quelle peut en être la raison ?
Nous enregistrons les commandes à partir de zéro. C'est pourquoi ça ressemble à ça :
La comptabilisation des commandes se fait à partir de zéro. C'est donc comme ça :
Merci.
Voici un aperçu de la façon dont la stochastique du manuel compte.
Merci ! !!
Comment est-ce possible ? J'ai une EA, elle fonctionne. Il achète, vend ... tous les arrêts clairs et takei. mais la perte est beaucoup, alors je décide de prescrire un autre filtre de tendance. deux moyennes - rapide et lente - sur un très grand TF. sur H4.
Le conseiller expert devrait ressembler à ceci
si (....)
{....
...}
une fois de plus - tout fonctionne !
et ici je mets un filtre (avant cela je définis MA1=iMA...) et presque tout en haut de l'arbre if (la deuxième condition - et la première - temps if ( Hour()>=7 && Hour()<20)
si (....)
si MA1>MA2
{
{....
...}}
aucune erreur.
Mais 95% des échanges sont coupés ! Et sur H4 l'image dit le contraire - il doit y avoir beaucoup de transactions, parce queMA1>MA2 est exécuté pendant des semaines !
Quelqu'un peut-il expliquer ce qui ne va pas ?
Lorsqu'il y a beaucoup de lignes sur le graphique (horizontal), les étiquettes (prix de ligne) sur l'échelle de prix de ces lignes "encombrent" toute l'échelle.
Quel est ce paramètre "queue" avec le prix de la ligne ? Est-il possible de le désactiver d'une manière ou d'une autre ? (Je n'ai même pas trouvé de moyen manuel, mais j'ai besoin d'un moyen logiciel)
Et je mettrai juste le prix dans le nom de la ligne - c'est suffisant.
Aidez-moi à vérifier ce qu'est l'erreur "EURUSD,M30 : uninit reason 5" lorsque mon conseiller est en cours d'exécution souvent quand il a besoin d'ouvrir une nouvelle position il écrit cette erreur et l'ensemble du système s'arrête (( s'il ya un code pour aider à corriger cette erreur s'il vous plaît poster un exemple
Codes de raison renvoyés par UninitializeReason(). Peut avoir l'une des valeurs suivantes :