Bonsoir.
Je n'ai pas trouvé l'erreur dans ton code.
La première erreur c'est que les array ne peuvent pas être passé en paramètre dans une signature de fonction. Il faut rajouter un & devant dans la fonction.
La deuxième, tu as un souci avec une parenthèse en trop ouh en moins
Merci beaucoup pour ton aide.
Je vais fouiller tout cela.
Je vais fouiller tout cela.
Me voilà de retour
Ok pour double _series j'ai ajouté &
Et une erreur de moins mais alors pour la parenthèse, je ne trouve pas.
Dès que je modifie, j'ai une floppée d'erreur.
Merci
Ok pour double _series j'ai ajouté &
Et une erreur de moins mais alors pour la parenthèse, je ne trouve pas.
Dès que je modifie, j'ai une floppée d'erreur.
Merci
Bonjour
sans promesse, essaye de faire passer ton code bien formaté et pas en copier coller violent
sans promesse, essaye de faire passer ton code bien formaté et pas en copier coller violent
Un grand merci pour ton aide.
Est ce que c'est mieux comme cela ?
Est ce que c'est mieux comme cela ?
// Définition des variables input int Period_zerolagema = 20; // Période de l'EMA sans décalage double EMA1_zerolagema, EMA2_zerolagema, Difference_zerolagema, ZeroLagEMA; // Fonction pour calculer l'EMA double iMA(int _handle, int _shift, double &_series[], int period, int _method, int _mode, int _price) { if (period < 1) { return INVALID_HANDLE; } int i, limit, start; // Correction de la première erreur limit = ArraySize(_series) - 1; start = _shift < 0 ? _shift : 0; double sum = 0.0; double k = 2.0 / (double)(period + 1); for (i = start; i <= limit; i++) { if (_mode == MODE_EMA) { sum += _series[i] * k; } else if (_mode == MODE_SMA) { sum += _series[i]; } } if (_mode == MODE_EMA) { if (_shift >= 0) { return sum; } double ema = sum; for (i = start + 1; i < limit; i++) { ema += (_series[i] - _series[i - 1]) * k; } return ema; } else if (_mode == MODE_SMA) { if (_shift >= 0) { return sum / (double)(limit - start + 1); } double sma = sum; for (i = start + 1; i < limit; i++) { sma += _series[i] - _series[i - 1]; } return sma / (double)(limit - start); } return INVALID_HANDLE; } // Fonction principale void OnStart() { // Calcul de l'EMA1 EMA1_zerolagema = iMA(NULL, 0, **close**, Period_zerolagema, 0, MODE_EMA, PRICE_CLOSE); // Calcul de l'EMA2 EMA2_zerolagema = iMA(NULL, 0, EMA1_zerolagema, Period_zerolagema, 0, MODE_EMA, PRICE_CLOSE); // Boucle sur les barres for (int i = 0; i < Bars; i++) { // Calcul de la différence et de l'EMA sans décalage Difference_zerolagema = EMA1_zerolagema - EMA2_zerolagema; ZeroLagEMA = EMA1_zerolagema + Difference_zerolagema; } // Affichage de l'EMA sans décalage plotMerci d'avance pour ton aide.
Salut,
Je ne pige pas ... C'est ton code complet ?
Parce que pour le coup il manque semble-t-il pas mal de chose après "plot" tout en bas.
Egalement les déclarations des iMA ne sont pas bonnes (voir la doc : https://www.mql5.com/en/docs/indicators/ima)
Documentation on MQL5: Technical Indicators / iMA
- www.mql5.com
iMA - Technical Indicators - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
Merci je vais me pencher la dessus.
Je suis un petit nouveau qui tente ;)
Je suis un petit nouveau qui tente ;)
Bonjour
Je te propose de regarder ce code
Il est volontairement simple pour t'aider à faite tes codes
Free download of the 'Moving average code for beginners by William210' indicator by 'William210' for MetaTrader 5 in the MQL5 Code Base, 2023.08.24
Je te propose de regarder ce code
Il est volontairement simple pour t'aider à faite tes codes
Free download of the 'Moving average code for beginners by William210' indicator by 'William210' for MetaTrader 5 in the MQL5 Code Base, 2023.08.24
Moving average code for beginners by William210
- www.mql5.com
Moving average beginner tutorial to learn how to code in MQL5
Merci. Je regarde tout cela.
penses à mettre une étoile pour le référencement STP
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
Pouvez vous m'aider pour un code. Je n'arrive pas à trouver les erreurs. Une piste m'aiderait beaucoup.
Merci d'avance.
plot
'_series' - arrays are passed by reference only zero lag EMA.mq5 7 44
'{' - unbalanced parentheses zero lag EMA.mq5 57 16
Merci