acheter toutes les fins de mois

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

    bonjour,

    j’ai des notions de programmation  assez simples sur PROBUILDER

    mais pour le coup je suis en panne.

    je cherche à acheter 3 jours avant le début de mois (soit à j-3) au cours d’ouverture (par exemple) et vendre 3 jours après le début de mois soit à j+3 au cours de clôture (par exemple)

    pouvez vous m’aider svp

    merci

    #260519 quote
    Nicolas
    Keymaster
    Master

    Bonjour, voici un code qui achète en fin de mois et revend 3 jours après le début du mois suivant.

    La logique repose sur un principe simple : on ne peut pas connaître le futur, donc on utilise le nombre de barres du mois précédent comme proxy pour le mois courant. En pratique les mois boursiers varient peu (20 à 23 jours), donc le total du mois précédent est une très bonne approximation.


    Le détail du comptage :

    • barsDuMois = 1 → c’est le 1er jour du mois
    • barsDuMois = totalMoisPrec – 2 → c’est j-3 avant la fin (ex: si le mois fait 21 jours, ça tire à la barre 19)
    • barsDuMois = 4 → c’est le 4ème jour du nouveau mois, soit 3 jours après le 1er


    À noter : AT MARKET exécute à l’ouverture de la barre suivante, ce qui correspond bien à “j’achète/vends à l’ouverture du lendemain du signal”.

    DEFPARAM CumulateOrders = False
    
    
    // --- Détection du changement de mois ---
    nouveauMois = (Month <> Month[1])
    
    
    // --- Compteur de barres dans le mois courant ---
    // Repart à 1 le 1er jour du mois, s'incrémente ensuite
    IF nouveauMois THEN
        barsDuMois = 1
    ELSE
        barsDuMois = barsDuMois[1] + 1
    ENDIF
    
    
    // --- Au changement de mois : on sauvegarde le total de barres du mois qui vient de se terminer ---
    // À ce moment, barsDuMois[1] contient le compteur final du mois précédent
    IF nouveauMois THEN
        totalMoisPrec = barsDuMois[1]
    ENDIF
    
    
    // --- Seuil d'achat : 3 barres avant la fin du mois ---
    // barsDuMois commence à 1, donc j-3 = totalMoisPrec - 2
    seuilAchat = totalMoisPrec - 2
    
    
    // --- ORDRES ---
    
    
    // ACHAT à j-3 avant la fin du mois, au cours d'ouverture de la barre suivante
    IF barsDuMois = seuilAchat AND NOT LongOnMarket THEN
        BUY 1 CONTRACT AT MARKET
    ENDIF
    
    
    // VENTE à j+3 après le début du nouveau mois
    // barsDuMois = 1 → 1er jour, barsDuMois = 4 → 3 jours après le 1er
    IF LongOnMarket AND barsDuMois = 4 THEN
        SELL 1 CONTRACT AT MARKET
    ENDIF
    
    robertogozzi thanked this post
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

acheter toutes les fins de mois


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
arrot @arrot Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by Nicolas
1 week, 4 days ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 09/25/2023
Status: Active
Attachments: No files
Logo Logo
Loading...