question sur un code de la documentation: IF MyIndex + NbBarLimit

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #211895 quote
    ZeroCafeine
    Participant
    Senior

    Hello,

    J’ai trouvé ce code dans la documentation et j’ai un peu de mal à comprendre la ligne ” IF MyIndex + NbBarLimit

    // Définition de la durée de validité de l'ordre
    ONCE NbBarLimit = 10
    
    MM20 = Average[20](close)
    MM50 = Average[50](close)
    
    // Si la MM20 croise à la hausse la MM50, nous définissons 2 variables : "MyLimitBuy" et "MyIndex", qui contiennent respectivement le prix de clôture actuel et l'index de la barre concernée par le croisement.
    IF MM20 CROSSES OVER MM50 THEN
    MyLimitBuy = Close
    MyIndex = Barindex
    ENDIF
    
    IF BarIndex >= MyIndex + NbBarLimit THEN
    MyLimitBuy = 0
    ENDIF
    
    // Place un ordre au prix correspondant de MyLimitBuy, valable tant que cette variable est supérieure à 0 et que nous ne sommes pas en position long.
    // Rappel : MyLimitBuy est supérieur à 0 pendant les 10 barres qui suivent le croisement
    IF MyLimitBuy > 0 AND NOT LongOnMarket THEN
    BUY 1 SHARES AT MyLimitBuy LIMIT
    ENDIF
    
    // Si un ordre n'est pas exécuté, il est possible de remplacer l'ordre d’achat limite expiré par un ordre d'achat au marché. Le bloc de code vous en donnera la possibilité s'il est ajouté à la suite du bloc précédent :
    IF MyIndex + NbBarLimit AND MyLimitBuy > 0 AND NOT LongOnMarket THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    

    une fois que la variable MyIndex est initier elle sera donc toujours positif, donc la condition toujours vrais ? J’ai un peu du mal à comprendre

    merci pour vos lumières 😊

    #211909 quote
    Nicolas
    Keymaster
    Master

    MyIndex est le numéro du chandelier qui a vu le croisement des moyennes mobiles 20 et 50, lignes 8 à 11. Donc si on est sur le chandelier courante (BARINDEX) + NbBarLimit, soit 10 barres plus loin, alors on reset la variable MyLimitBuy et donc on ne pose plus de BUY LIMIT (lignes 19 à 21).

    ZeroCafeine thanked this post
    #211956 quote
    ZeroCafeine
    Participant
    Senior

    Merci @Nicolas,

    Tout à fait votre réponse, mais j’ai peut-être mal formulé ma question, mon incompréhension réside à la ligne 24 du code, je ne comprends pas la première condition qui est “MyIndex + NbBarLimit” :

    IF MyIndex + NbBarLimit AND MyLimitBuy > 0 AND NOT LongOnMarket THEN

    Une fois que la variable MyIndex est initié elle sera toujours positif donc quelque soit la valeur de NbBarLimit alors on aura : MyIndex + NbBarLimit > 0, est-ce qu’il n’est pas possible par exemple de remplacer la ligne 24 par la suivante  ? :

    IF MyIndex AND MyLimitBuy > 0 AND NOT LongOnMarket THEN
    #211968 quote
    Nicolas
    Keymaster
    Master

    En effet il y a un truc qui va pas, mais je n’arrive pas à saisir la logique de l’exemple, puisque dés qu’on aura dépasser la quantité de chandeliers pour placer des ordres LIMIT, MyLImitBuy repassera à 0.

    Aussi, avec ta correction ça signifie qu’on rentre directement au marché sans attendre une expiration, donc placer un ordre LIMIT devient inutile.. Je vais me renseigner sur cet exemple.

    ZeroCafeine thanked this post
    #212742 quote
    ZeroCafeine
    Participant
    Senior

    Hello
    c’est bon j’ai commpris :

    IF MyIndex + NbBarLimit AND MyLimitBuy > 0 AND NOT LongOnMarket THEN

    la variable NbBarLimit la variable est déclaré une seule fois avec la fonction Once, ce qui signifie après sa premiere lecture sur la ligne 13 elle sera alors indéfini, ou si on ajoute le deuxième titre avec la variable MyIndex qui ne sera déclaré et donc positif seulement si notre condition de croisement de moyenne mobile a eu lieu

    Donc il est bien possible que les deux variables ne soit pas déclaré et ça nous donnerait donc un résultat éliminatoire pour la dernière condition :

    IF 0 + 0 AND MyLimitBuy > 0 AND NOT LongOnMarket THEN
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

question sur un code de la documentation: IF MyIndex + NbBarLimit


ProOrder : Trading Automatique & Backtests

New Reply
Author
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by ZeroCafeine
2 years, 11 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 03/21/2023
Status: Active
Attachments: No files
Logo Logo
Loading...