Les bonnes pratiques: IF imbriqués ? Déclaration des conditions

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #127560 quote
    MonsieurZ
    Participant
    Junior

    Bonjour à tous,
    Ce forum est un telle mine d’or que j’ai toujours peur en écrivant que la question ait déjà été posée. Pardonnez-moi si c’est le cas.

    Ce sont des questions très généralistes que je vous pose aujourd’hui. “J’essaie” d’écrire du code propre, maintenable facilement et si possible optimisé mais j’ignore comment ça fonctionne réellement pour optimiser les durées de calcul de backtest et soulager les serveurs IT-Finance.

    Est-il mieux d’imbriquer les IF ou d’utiliser les AND ?

    Aujourd’hui, je déclare les indicateurs et les conditions au début du code.

    Exemple:

    EMA = ExponentialAverage[Period](close)
    trendBullish = close > EMA
    trendBearish = close < EMA

    Si plusieurs conditions d’achat alors je crée une condition qui imbrique mes 2 conditions.

    Exemple:

    achatOK = trendBullish AND engulfingBullish
    IF achatOK THEN
       BUY 1 ....
    ENDIF

    Vous vous doutez que pour déterminer engulfingBullish, je dois évaluer chaque bougie et la précédente.

    Peut-être devrais-je n’évaluer les bougies QUE si j’ai une trendBullish.

    Ce ne sont peut-être pas les meilleurs exemples parce qu’ils sont simples (et improvisés lol) mais si on devait identifier d’autres formes de bougies ainsi que des patterns de bougie, cela se ressentirait forcément dans les performances surtout sur 200k unités.

    Je me rends compte en écrivant que j’ai du mal à formuler.

    Dois-je imbriquer les IF de la condition la moins restrictive à la plus restrictive en mettant les évaluations de bougies (, de stoploss et de target profit aussi par exemple) dans le IF ou puis-je continuer à déclarer en début de code puis utiliser mon IF tout “propre” ?

     

    Merci d’avance pour votre aide.

    #127575 quote
    Nicolas
    Keymaster
    Master

    Je comprends ta volonté de faire du code propre et rapide 🙂

    Une étude intéressante avait été menée par un membre il y a quelques années : Comment accélérer les calculs des codes

    MAKSIDE thanked this post
    #127582 quote
    JC_Bywan
    Moderator
    Master

    Voir aussi en page 26 du manuel proorder: https://www.prorealtime.com/fr/pdf/probacktest_c1537450255c.pdf

    Paragraphe “limiter le nombre de conditions imbriquées”: préférable d’avoir une instruction IF avec N conditions (avec des AND des OR etc…) que N instructions IF.

    Combiné avec l’étude de Maz ci-dessus, le plus rapide mais potentiellement moins agréable à lire est de combiner d’abord de la façon qu’il décrit toutes tes conditions en une quand c’est possible, puis de faire ton IF avec cette seule condition résumant le tout.

    #128323 quote
    MonsieurZ
    Participant
    Junior

    Bonjour,

    Merci pour vos réponses. Je me disais bien avoir déjà vu un début d’explication quelque part.

    C’était dans la documentation, cela aurait du être mon premier réflexe, mea culpa.

     

    Je suis content parce que ça confirme ma manière de faire en tout cas lol.

    A bientôt.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.

Les bonnes pratiques: IF imbriqués ? Déclaration des conditions


ProOrder : Trading Automatique & Backtests

New Reply
Summary

This topic contains 3 replies,
has 3 voices, and was last updated by MonsieurZ
5 years, 10 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 04/23/2020
Status: Active
Attachments: No files
Logo Logo
Loading...