acheter toutes les fins de mois

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #221584 quote
    arrotarrot
    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
    NicolasNicolas
    Keymaster
    Legend

    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.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

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 NicolasNicolas
4 months, 4 weeks ago.

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