Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1448
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
Eh bien, merci... Au moins, je me suis vu il y a six ans... J'étais comme toi maintenant. Je n'ai pas hésité à donner des conseils dans le mauvais sens.
En ce qui concerne le modèle : Si le modèle a un indicateur, mais pas d'EA, alors le modèle sera chargé sans l'EA... Et si le modèle a un EA ? Êtes-vous sûr que l'EA, chargé sur le modèle, n'appliquera pas le modèle et donc fixera et bloquera le terminal ?
ce n'est pas le cas - tout fonctionne bien !
Je n'ai pas de problème - tout fonctionne bien !
Ne soyez pas paresseux comme moi. Faites une vidéo de ces manipulations :-))))
J'en suis maintenant à déboguer la construction "SmoothedMAOnBuffer()" dans mt4.
Qu'est-ce qui ne va pas, je ne comprends pas du tout.
Je l'ai écrit une centaine de fois - retirer la fonction de la boucle.
Au lieu de ces conneries:
Ecris comme ça:
Je vous le dis - l'appel de cette fonction est une boucle complète de lissage des données dans Array. Les données lissées de ce tableau seront dans le tableau buff - il suffit ensuite de prendre les données lissées dont vous avez besoin.
Ne soyez pas paresseux comme moi. Faites une vidéo de ces manipulations :-))))
C'est dommage - que je n'aie pas visité votre profil auparavant. Vous avez de si bons codes ici. J'aime beaucoup celui-ci.https://www.mql5.com/ru/code/16396
Je vous l'ai dit des centaines de fois - retirez la fonction de la boucle.
Au lieu de ces conneries:
écrivez-le comme ceci:
Je vous le dis - l'appel de cette fonction est un cycle complet de lissage des données dans Array. Les données lissées de ce tableau seront dans le tableau buff - il suffit ensuite de prendre les données lissées dont vous avez besoin.
Merci !, ça marche.
Je ne comprends pas comment cela fonctionne, je vais essayer de le découvrir maintenant.
Je vous l'ai dit des centaines de fois - retirez la fonction de la boucle.
Au lieu de ces conneries:
écrivez-le comme ceci:
Je vous le dis - l'appel de cette fonction est un cycle complet de lissage des données dans Array. Les données lissées de ce tableau seront dans le tableau buff - allez plus loin et prenez les données lissées dont vous avez besoin.
Je n'ai pas réussi à tout appliquer, loin de là, j'ai passé plus de 4 heures.
Au premier démarrage, il s'affiche correctement, puis pas de rafraîchissement - il se fige, avec le standard qui fonctionne bien.
---
Que dois-je faire pour participer ?
Dans MT5, il ne me montre rien du tout.
Je n'ai pas pu tout appliquer, j'ai passé plus de 4 heures.
Au premier démarrage, il s'affiche correctement, puis il n'y a plus de mise à jour - il se fige, mais il fonctionne bien avec la version standard.
---
Que dois-je faire pour participer ?
Je ne sais pas ce qui se passe dans MT5.
Pouvez-vous expliquer ce que vous voulez obtenir comme résultat ?
Votre indicateur est construit de la manière dont vous devez montrer aux gens comment ne pas le faire :)
Les tampons dessinés et calculés sont tous mélangés. Ceux qui sont calculés devraient être les derniers - vous ne pouvez pas les mélanger au hasard, malheureusement.
Cela ne fonctionnera pas pour un cinq car la fonction ma_1() dans un cinq retournera un handle, pas une valeur MA.
Dans la fonction SmoothedMAOnBuffer(), vous passez prev_calculated au lieu du début des données significatives dans le tableau - pourquoi ? Vous devez y passer au moins 0, et au plus - une valeur calculée en fonction de la période de calcul des données MA stockées dans Array_1 - bien, au moins la période
Dans le bloc de choix de la couleur à dessiner, vous avez une erreur logique - vous écrasez les tampons - il suffit de mettre une valeur vide à l'extérieur des parenthèses. Vous avez une condition, et ce qui devrait être fait en cas de vérité est mis entre parenthèses. C'est-à-dire qu'il est toujours exécuté. C'est une conséquence de l'habitude de disposer les parenthèses - lorsque leur emplacement n'est pas clairement visible.
Array_1 et Array_2 - pourquoi ne sont-ils pas des tampons calculés ?
En somme, il y a beaucoup de questions.
La valeur de la variable a est strictement définie. Pourquoi calculer la valeur de la variable val à chaque tick ?
Faire deux tampons calculés pour deux variables, calculées avec la période a et val à OnInit(). A partir de ces tampons et prendre des valeurs - cela fonctionnera pour les deux plates-formes alors.
Pouvez-vous mettre des mots sur ce que vous voulez obtenir ?
Votre indicateur est construit de la façon dont vous devez montrer aux gens comment ne pas le faire :)
Les tampons de dessin et de calcul sont tous mélangés. Ceux qui sont calculés devraient être les derniers - vous ne pouvez pas les mélanger au hasard, malheureusement.
Cela ne fonctionnera pas pour un cinq car la fonction ma_1() dans un cinq retournera un handle, pas une valeur MA.
Dans la fonction SmoothedMAOnBuffer(), vous passez prev_calculated au lieu du début des données significatives dans le tableau - pourquoi ? Vous devez y passer le minimum 0, et le maximum - une valeur calculée en fonction de la période de calcul des données MA stockées dans Array_1 - enfin, au moins la période
Dans le bloc de choix de la couleur à dessiner, vous avez une erreur logique - vous écrasez les tampons - il suffit de mettre une valeur vide en dehors des crochets. Vous avez une condition, et ce qui devrait être fait en cas de vérité est mis entre parenthèses. C'est-à-dire qu'il est toujours exécuté. C'est une conséquence de l'habitude de disposer les parenthèses - lorsque leur emplacement n'est pas clairement visible.
Array_1 et Array_2 - pourquoi ne sont-ils pas des tampons calculés ?
En somme, il y a beaucoup de questions.
La valeur de la variable a est strictement définie. Pourquoi calculer la valeur de la variable val à chaque tick ?
Faire deux tampons calculés pour deux variables, calculées avec la période a et val à OnInit(). A partir de ces tampons et prendre des valeurs - cela fonctionnera pour les deux plateformes alors.
Si je connaissais la solution, je ne l'aurais pas écrit.
L'indicateur n'est pas à moi, je n'ai même pas regardé en dessous de iMAOnArray(), la tâche entière est seulement de remplacer iMAOnArray() par quelque chose.
Puis-je avoir un exemple concret de ce que cela devrait être ?
Merci !
P.S. Pour mt5 les poignées sont bienPuis-je avoir un exemple concret de ce que cela devrait être ?
Un exemple concret de quoi ? Un indicateur de quatre qui fonctionne dans cinq ? Alors donnez-moi un indicateur entièrement fonctionnel à partir de quatre.
Ou un exemple de la façon de travailler avec la fonction SmoothedMAOnBuffer() ?
Un exemple concret de quoi ? Un indicateur de quatre qui fonctionne dans cinq ? Alors donnez-moi un indicateur entièrement fonctionnel à partir de quatre.
Ou un exemple de la façon de travailler avec la fonction SmoothedMAOnBuffer() ?
Un exemple de travail à partir de mt4, avec le standard iMAOnArray se met à jour, mais SmoothedMAOnBuffer à la première exécution est ok, et puis aucune mise à jour
J'ai besoin d'un exemple de travail avecSmoothedMAOnBuffer()