Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Barres pour EA

  • ElPadre

    Bonjour, depuis quelques jours, je me bats avec un EA qui refuse de bien fonctionner. Le code utilisé se base entre autres sur la fonction Bars, et j'ai constaté que la valeur renvoyée par celle-ci est plutot quelconque et non pas chronologique, ce qui fait "déconner" le système. J'ai cherché dans le peu de documentation dont je dispose, et sur le net dans l'espoir de trouver une fonction <onCandle> plutot que <onTick> , ce qui devrait résoudre le problème, mais apparemment elle n'existe pas.
    Les autres EA que j'ai déjà pu tester utilisent des fonctions standard du type BB, MMA, RSI.... et là, pas de problème ça roule ! Ici, je suis parti d'un indicateur qui me donnait de bons résultats, donc , j'ai voulu le transposer en EA, mais cela coince totalement.
    Quelqu'un dans la communauté aurait-il déjà eu un problème similaire, et si oui, quelles pistes ont été explorées ?
  • stani

    Heu... "Bars" n'est pas une fonction, c'est une variable! ;)
    Modifié le 2015-01-21 18:04:13 par stani
  • ElPadre — en réponse à stani dans son message #99441

    C'est défini comme une variable par MT, mais n'en est toutefois pas une, au sens du langage C. Ci-dessous l'explication :
    (extrait de MT4 development course)
    Today we are going to talk about a very important topic, the Predefined variables.
    I still considering them functions (I'm going to tell you why later) but I'll use Predefined variables as
    MetaQuotes has mentioned them.
    What are the Predefined variables?
    The Predefined variables are set of the most important variables which MetaTrader set continuously for
    every loaded chart. They are price related variables that reflect the current price data the chart had got.
    These is the list of the predefined variables:
    Ask, Bid, Bars, Close, Open, High, Low, Time, Digits, Point and Volume
    I'm calling them functions because:
    Ask, Bid, Bars, Close, Open, High, Low, Time, Digits, Point and Volume are functions Although
    MetaQuotes called them predefined variables.
    Variable means "a space in memory and data type you specify", while function means "do something and
    return some value". For example Bars collects and returns the number of the bars in chart. So, is it a
    variable?
    Another example will proof for you that they are not variables:
    If you type and compile this line of code:
    Bars=1;
    You will get this error:
    'Bars' - unexpected token
    That’s because they are not variables hence you can’t assign a value to them.
    Voilà, c'est parfois subtil....
  • stani — en réponse à ElPadre dans son message #99449

    Non, je ne trouve pas cela tellement subtile, ce n'est pas parce que tu n'a qu'un accès en lecture que c'est une fonction, loin de là!
    En tant qu'utilisateur, c'est une variable stricto-sensus, et tu ne peut donc pas l'utiliser autrement, les reste, c'est des plans sur la comète!
    Si tu veux, tu peut dire exactement l'inverse sur toutes les fonctions ayant trait par exemple aux ordres en cours, en première approximation tu pourrais croire que c'est vrai, mais si tu détaille le fonctionnement de ces fonctions(sic!), le simple adressage du buffer fait que ce sont réellement des fonctions. Même choses ,a l'inverse, pour les variables prédéfinies comme Bars.
    MQL n'est pas du C, et n'en respecte donc pas le sens.