ajouter un critere dans l’instruction BUY

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

    bjr, j’ai du mal à trouver la solution à mon petit problème
    Dans l’instruction buy du code ci-aprés , je voudrais rajouter la condition qui ne m’autorise à acheter que si je n’ai pas plus d’un achat réalisé dans la période précédente; ici 200 séances

    merci de votre aide

    ________________________________________

    //la vente de la position est effectuée quand la baisse est sensible sur une petite periode de temps. On cherche à capter le KRACH.
    //les paramétres sont choisis en observant l'Historique et notamment les krach passés
    //cette stratégie ne capte pas forcément les krach larvés comme celui de 2022 du fait de la dynamique baissière de faible intensité
    //je me fixe une periode suffisamment longue pour capter un peu mmieux le krach larvé
    // S' APPLIQUE aux INDICES mais pas AUX ACTIONS plus VOLATILES
    
    // utilisable pour les actions fonds de portefeuille. ACHATS de RENFORCEMENT - comme sur AIR LIQUIDE
    
    // Conditions pour ouvrir une position acheteuse
    DEFPARAM cumulateorders=true
    
    capital =7500
    rem + strategyprofit
    n = (capital/close)
    
    
    rem achat au croisement haussier du MACd en territoire négatif
    
    ind1= MACD[30,31,12](close)
    ind2= MACDline[30,31,12](close)
    
    
    c1=ind1[1]<0
    c2=ind1>0
    c3= ind2<-mcdline
    
    if (not longonmarket and (  c3 and c2 and c1 )) then
    
    BUY n shares at MARKET
    
    endif
    // cumulate
    MAXSHARES = abs(countoflongshares) <= 200
    
    IF ( MAXSHARES and longonmarket and(  c3 and c2 and c1 )) THEN
    BUY n shares at MARKET
    
    
    
    ENDIF
    
    // Conditions pour fermer une position acheteuse
    rem recherche du dernier plus haut sur X périodes
    PH10  = highest[period](close)
    
    rem test de la VL inférieure à la perte admise depui le dernier plus haut pour vendre la position
    
    If LongOnMarket AND close<(perte*PH10) THEN
    SELL AT MARKET
    ENDIF
    #236700 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    quelques points à la lecture du code:

    – je ne vois pas à quoi correspond -mcdline  qui définit c3 et donc impacte le IF de la ligne 35 pour le BUY (variable non définie ou en code caché? ou erreur de syntaxe?)

    – en ligne 44 n’est pas défini le plus haut tel qu’expliqué en ligne 43, mais la clôture la plus haute. Pour le plus haut il faut remplacer par:

    PH10= highest[period](high)

    – le 200 de la ligne 33 correspond à un nombre d’actions achetées plafonné par 200. Est-ce le 200 du texte du post qui doit en fait correspondre à un nombre de séances plutôt qu’un nombre d’actions? Car si oui, il ne suffit pas d’ajouter du code pour vérifier qu’il n’y a eu qu’un seul achat max dans les 200 séances, il faut aussi supprimer(/remplacer) ce maxshares.

    On peut tester la création d’une condition:

    UnAchatSur200= summation[200](countoflongshares>countoflongshares[1])<=1

    et l’ajouter (ou, si le même 200 car confondu séances et total d’actions, “remplacer maxshares par UnAchatSur200”) au IF de la ligne 35.

    #236713 quote
    arrot
    Participant
    Junior
    // Conditions pour ouvrir une position acheteuse
    DEFPARAM cumulateorders=true
    
    capital =7500
    rem + strategyprofit
    n = (capital/close)
    
    ind1= MACD[30,31,12](close)
    ind2= MACDline[30,31,12](close)
    
    
    c1=ind1[1]<0
    c2=ind1>0
    c3= ind2<-mcdline
    
    // je ne veux réaliser qu'un achat sur la periode de 200 jours glissants
    
    UnAchatSur200= summation[200](countoflongshares>countoflongshares[1])<=1
    
    IF ( UnAchatSur200 and( c3 and c2 and c1 )) THEN
    BUY n shares at MARKET
    
    endif
    
    
    
    
    // Conditions pour fermer une position acheteuse
    rem recherche du dernier plus haut sur X périodes
    PH10 = highest[period](high)
    
    rem test de la VL inférieure à la perte admise depui le dernier plus haut pour vendre la position
    
    If LongOnMarket AND close<(perte*PH10) THEN
    SELL AT MARKET
    ENDIF

    bonjour,

    merci d evotre aide

    c3 est une condition qui porte sur le macdline. mcdline est une variable qui fixe un seuil pour le macdline en territoire négatif

    j’ai port la correction pour n’avoir qu’un achat dans les 200 jours. ca ne marche pas..

    pouvez vous regarder

    merci

     

    AT

    #237299 quote
    arrot
    Participant
    Junior

    bonjour Bywan,

    désolé , aprés avoir mieux regardé le code fonctionne. merci beaucoup. André

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

ajouter un critere dans l’instruction BUY


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
arrot @arrot Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by arrot
1 year, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 08/24/2024
Status: Active
Attachments: No files
Logo Logo
Loading...