Questions des débutants MQL5 MT5 MetaTrader 5 - page 195
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
Regardez à nouveau le code de l'indicateur dans l'aide https://www.mql5.com/ru/docs/indicators/ima . Notez les lignes dans OnInit() :
Cela crée le manche de l'indicateur pour la période - "période".
Bon après-midi.
J'essaie d'obtenir la dernière valeur d'une fractale :
Poignée [Nombre]=iFractals(Symbole_,0) ;
CopyBuffer(Handle[Number],UPPER_LINE,4,100,Upper)
upenv[Nombre]=Upper[0] ;
mais parfois j'obtiens un nombre étrange upenv[Number]=1.797693134862316e+308
Si ce nombre était égal à 0, le problème serait résolu de la façon suivante
if(upenv[Number]=Upper[0] && Upper[0]!=0)
upenv[Nombre]=Upper[0] ;
Où est mon erreur ? Qu'est-ce que je fais de mal ? Comment puis-je obtenir la dernière valeur de la fractale avant qu'elle ne change ?
Une fois encore, vous devez examiner le code de l'indicateur à partir de https://www.mql5.com/ru/docs/indicators/ima . Notez les lignes dans OnInit() :
C'est ici que lemanche de l'indicateur pour la périodeest créé- "période".
J'ai trouvé l'erreur dans la taille du tableau, c'était ma principale erreur du code initial. Je n'arrive pas à comprendre pourquoi le graphique du terminal se comporte de manière inadéquate (flous, mises à jour, décalages, etc.). Merci.
Vous avez créé un handle d'indicateur à chaque tick (c'est-à-dire dans la fonction OnCalculate()). Ce n'est pas correct. La poignée de l'indicateur doit être créée dans OnInit().
Tous ont trouvé une erreur dans la taille du tableau, c'était ma principale erreur dans le code original. Mais pourquoi la carte du terminal se comporte-t-elle de manière inadéquate (clignotement, mise à jour, décalage, etc.). Merci.
Vous avez créé un handle d'indicateur à chaque tick (c'est-à-dire dans la fonction OnCalculate()). Ce n'est pas correct. La poignée de l'indicateur doit être créée dans OnInit().
Et si j'ai besoin des lectures MACD dans un indicateur (M1;M5;M15;H1;H4;D1;W1), alors je dois créer une poignée pour chaque période ?
Oui, créez autant de poignées d'indicateurs que nécessaire dans OnInit.
Tous ont trouvé une erreur dans la taille du tableau, c'était ma principale erreur dans le code original. Mais pourquoi la carte du terminal se comporte-t-elle de manière inadéquate (clignotement, mise à jour, décalage, etc.). Merci.
Vous avez créé un handle d'indicateur à chaque tick (c'est-à-dire dans la fonction OnCalculate()). Ce n'est pas correct. La poignée de l'indicateur doit être créée dans OnInit().
Il est plus probable que le graphique M15 utilise des données D1, ou je me trompe.
Vous créez un handle d'indicateur à chaque tick (c'est-à-dire dans OnCalculate()). Ceci est incorrect. Le manche de l'indicateur doit être créé dans OnInit(). Sur le graphique M15, vous pouvez utiliser les données de D1. Cependant, dans ce cas, les données peuvent être incomplètes - lire "Organiser l'accès aux données" https://www.mql5.com/ru/docs/series/timeseries_access.