Fermer une position en fonction de lӎvolution des cours

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #244630 quote
    TommyLee
    Participant
    New

    Bonjour,

    Je ne suis pas doué en programmation. Je vous remercie donc par avance de votre aide pour arriver à coder la stratégie que je viens décrire:

    1 – ma stratégie consiste à prendre positon quand le prix opère un rebond sur la kijunsen

    2- Je définis un stop fixe à -5% de niveau de ma prise de position. Donc, si mon analyse est prise en défaut, mon stop me protège d’une chute des cours ( sauf plongeon particulièrement brutal).

    3- Je ne définis pas d’objectif fixe à priori pour laisser se développer le plus possible ma position. La première phase est de la laisser se développer pour que le prix passe au-dessus du niveau de la Moyenne Mobile 30 et de le laisser progresser.

    4-  La deuxième phase , c’est de fermer la position Quand et – UNIQUEMENT quand le prix, une fois après avoir dépassé à la hausse, plus ou moins tôt lors de son développement, la MM30,  décide de fléchir et de croiser à la baisse cette même MM30.

    On  ferme donc la position si le prix est, dans un premier temps, d’abord passé au-dessus et qu’il décide à un autre moment de clôturer après être repasser sous ce même  moyenne mobile30

     

    C’est ce codage que je n’arrive pas à faire : solder la position quand  ces deux conditions sont réunies : d’abord passer cette mm30, puis fermer la position quand elle repasse et clôture en-dessous.

    //Conditions d’achat :

    DEFPARAM cumulateOrders = False
    //Kijun = (highest[26](high)+lowest[26](low))/2

    C1 = Close[1] > kijun[1] and Close[2] >kijun[2]

    C2 = low[1] > kijun[1] and low[2] >kijun[2]

    C3 = low  < kijun  and  close > kijun

    Achat = C1 and  C2 and C3

     

    if  Achat then
    buy x € cash at market
    set stop %loss 5

    Merci d’avoir la gentillesse de compléter le codage pour indiquer qu’il faut solder la position quand après, dans un premier temps, le prix a dépasser le niveau de la MM30, il finit un jour ou l’autre par repasser au-dessous et de clôturer sous la MM30

    Merci pour votre aide.

    #244648 quote
    Iván González
    Moderator
    Master

    En analysant votre stratégie, nous avons remarqué que la condition C1 n’est pas nécessaire. En effet, si la condition C2 est remplie (low[1] > kijun[1] AND low[2] > kijun[2]), alors cela implique automatiquement que C1 (Close[1] > kijun[1] AND Close[2] > kijun[2]) est également vraie.

    Cela signifie que nous pouvons simplifier votre code en supprimant C1, tout en conservant la logique intacte.

    Votre stratégie fonctionnera exactement de la même manière mais avec un code plus simple et plus efficace.

    // Désactiver l’accumulation des ordres
    DEFPARAM cumulateOrders = False
    
    // Définition de la Kijun-sen (Ichimoku)
    kijun = (highest[26](high) + lowest[26](low)) / 2
    
    // Définition de la moyenne mobile à 30 périodes
    MM30 = average[30](close)
    
    //----------------- CONDITIONS D'ACHAT -----------------
    
    // Vérification que le prix reste au-dessus de la Kijun-sen sur les dernières bougies
    //C1 = Close[1] > kijun[1] AND Close[2] > kijun[2]
    C2 = low[1] > kijun[1] AND low[2] > kijun[2]
    C3 = low < kijun AND close > kijun  // Rebond sur la Kijun-sen
    
    Achat = C2 AND C3  // Condition finale d'achat
    
    // Achat avec un stop-loss de 5%
    IF Achat THEN
        BUY 1 CONTRACT AT MARKET
        SET STOP %LOSS 5
    ENDIF
    
    //----------------- CONDITION DE SORTIE -----------------
    
    // Vérifier si le prix est passé au-dessus de la MM30 au moins une fois
    ONCE aboveMM30 = 0  // Initialisation de la variable
    
    IF onmarket and close > MM30 THEN
        aboveMM30 = 1  // Enregistrer que le prix a dépassé la MM30
    ENDIF
    
    // Condition de sortie : fermer la position si le prix a dépassé la MM30 puis clôture en dessous
    IF onmarket and aboveMM30 AND close crosses under MM30 THEN
        SELL AT MARKET
        aboveMM30 = 0  // Réinitialisation de la condition pour les prochaines transactions
    ENDIF
    
    // Affichage des lignes Kijun et MM30 sur le graphique
    graphonprice kijun coloured("blue")
    graphonprice MM30 coloured("red")
    
    robertogozzi thanked this post
    #244658 quote
    TommyLee
    Participant
    New

    Merci beaucoup Ivan

    C’est exactement ce que je recherchais.

    Je vais mettre cela en place et le tester pour valider ou non la stratégie que je voulais travailler.

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

Fermer une position en fonction de lӎvolution des cours


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
TommyLee @tommylee Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by TommyLee
1 year ago.

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