[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 705
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
Si clair, regarder dans le livre et ne pas voir, fonctionne merci ! Continuez) avec des questions. Il s'agit des mêmes variables globales. J'ai ajouté la condition suivante à l'indicateur :
Je veux définir quelle variable globale doit recevoir une valeur, en fonction de la devise sur laquelle l'indicateur est basé.
Je comprends que dans la variable globale GlobalVariableSet(valuta,param), le nom (valuta) doit contenir la valeur qui lui est attribuée ci-dessus
appeler à nouveau la variable globale dans le code du Conseiller Expert
chaîne de caractères valuta="valuta" ;
int i= GlobalVariableGet(valuta) ; // mais je n'obtiens pas la valeur, .... J'obtiens donc 0. Peut-être est-il impossible de changer le nom de la variable globale de cette façon ?
Si un EA vérifie la valeur enregistrée par l'indicateur, il serait logique de supposer que la valeur du paramètre valuta devrait correspondre au nom du symbole, c'est-à-dire EURUSD ou GBPUSD.
En conséquence, si le conseiller vérifie la valeur du symbole actuel, alors
chaîne de caractères valuta = Symbol() ;
int i= GlobalVariableGet(valuta) ;Tout d'abord, de l'aide
Renvoie la valeur de la variable globale existante ou 0 en cas d'erreur. Appelez GetLastError() pour obtenir des informations sur les erreurs.
Vous pouvez voir le contenu du GV, mais ne pouvez pas le récupérer ?
Eh bien, les variables globales affichent à la fois le nom et la valeur, ..... Je n'arrive pas à obtenir la valeur d'une variable globale dans mon code via la variable globale (nom-paramètre), je dois spécifier le nom de la chaîne, alors pas de problème, il trouve tout.
Eh bien, les variables globales affichent à la fois le nom et la valeur, ...... Je ne peux pas obtenir la valeur de la variable globale dans mon code via (nom-paramètre) de la variable globale, je dois spécifier le nom de la chaîne de caractères, alors il ne trouve aucun problème.
Remplacer
si (symb==EUR) {valuta=EUR;}
à
if (symb=="EURUSD") {valuta="EUR";}
Si l'EA vérifie la valeur sauvegardée par l'indicateur, alors il serait logique de supposer que la valeur du paramètre valuta devrait correspondre au nom de l'instrument, c'est-à-dire EURUSD ou GBPUSD...
Par conséquent, si le conseiller vérifie la valeur du symbole courant, alors
chaîne de caractères valuta = Symbol() ;
int i= GlobalVariableGet(valuta) ;Oui, ça marche)) C'est plus facile qu'il n'y paraît.)
Un grand merci à tous ceux qui nous rendent visite et nous aident !
Mes amis, dites-moi où j'ai merdé... Je n'arrive pas à comprendre. L'indicateur lit les données, mais ensuite il ne fonctionne pas. Je n'arrive pas à le trouver. Peut-être que quelqu'un peut me dire ce que je ne comprends pas :
Le journal affiche toujours les données du tableau des valeurs de l'indicateur, mais s'arrête ensuite...
... seulement une cellule zéro... et seulement zéro... Aidez-nous s'il vous plaît...
Désolé, il y a eu une erreur ..... voici l'original
Odyssey, si vous ne les avez pas, vous devriez les ajouter :))
Mes amis, dites-moi où j'ai merdé... Je n'arrive pas à comprendre. L'indicateur lit les données, mais ensuite il ne fonctionne pas. Je n'arrive pas à le trouver. Peut-être que quelqu'un peut me dire ce que je ne comprends pas :
Le journal affiche toujours les données du tableau des valeurs de l'indicateur, mais s'arrête ensuite...
... seulement une cellule zéro... et seulement zéro... Aidez-nous s'il vous plaît...
Artyom, j'ai trouvé la première erreur jusqu'à présent :
Les tableaux PeakUP[] et PeakDN[], sont déclarés sans quantité spécifiée d'éléments, c'est-à-dire, vous les avez créés sans cellules du tout, et plus loin dans un code essayer d'écrire quelque chose en eux, mais comme ils ne contiennent pas en eux-mêmes des éléments, naturellement en eux rien n'est écrit, et dans l'imprimante constamment zéro. Comme vous ne savez pas exactement combien de pics et de creux il y aura, je vous recommande d'augmenter dynamiquement le nombre d'éléments dans ces tableaux lorsque de nouvelles données arrivent, les zones corrigées sont marquées en rouge.
ArraySize() renvoie le nombre total d'éléments du tableau, mais comme l'indexation commence à zéro, le nombre réel d'éléments est ArraySize() - 1.
...comment faire, ou du moins ce qu'il faut y spécifier, pour qu'il ouvre des ordres sur d'autres paires. Je ne veux pas faire tourner plusieurs EAs ((
)
Artyom, pour l'instant j'ai trouvé la première erreur :
Les tableaux PeakUP[] et PeakDN[], sont déclarés sans quantité spécifiée d'éléments, c'est-à-dire que vous les avez créés sans cellules du tout, et plus loin dans le code essayez d'y écrire quelque chose, mais comme ils ne contiennent pas d'éléments en eux-mêmes, naturellement rien n'est écrit en eux, et dans l'imprimante constamment zéro. Comme vous ne savez pas exactement combien de pics et de creux il y aura, je vous recommande d'augmenter dynamiquement le nombre d'éléments dans ces tableaux lorsque de nouvelles données arrivent, les zones corrigées sont marquées en rouge.
ArraySize() renvoie le nombre total d'éléments du tableau, mais comme l'indexation commence à zéro, le nombre réel d'éléments est ArraySize() - 1.