Cloture systématique au début de la bougie suivante

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #223752 quote
    imencity
    Participant
    Senior

    Bonjour,

    J’ai vu le fil situé ici:

    Cloture systématique à la fin de bougie suivant le signal

    J’ai testé avec le code suivant:

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    once buybar = 0
    
    // Conditions pour ouvrir une position acheteuse
    indicator1 = BollingerDown[20](close)
    c1 = (close <= indicator1)
    
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    buybar = barindex
    ENDIF
    
    // Conditions pour fermer une position acheteuse
    if buybar<>0 and barindex-buybar=1 then
    SELL AT MARKET
    endif
    

    mais on dirait que les fermetures de position se font au hasard.

    Je voudrais que la position ne dure qu’une seule journée en Daily (ici c’est le SP500 SPTRD) c’est à dire:
    Achat à l’open dès que les conditions sont OK, puis sortie à l’open suivant dans tous les cas. Aucune conservation.

    Ci-joint la capture d’écran du backtest. On voit que pour le 1er achat présent, la position est clôturé 5 bougies plus tard au lieu de la suivante.

    Comment modifier cela ?
    Merci.

    open-close.jpg open-close.jpg
    #223814 quote
    Alain
    Participant
    Senior

    La raison est que, sur les 4 bougies qui suivent l’achat, la condition c1 est vraie. Du coup, le code devrait exécuter l’instruction BUY, mais elle n’est pas exécutée à cause de l’instruction  “DEFPARAM CumulateOrders = False”. Par contre, l’instruction “buybar = barindex” est bien exécutée, ce qui fait que la condition de sortie “barindexbuybar=1″ est fausse.

    Si vous voulez un code propre et simple, vous pourriez faire ceci :

     

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    // Conditions pour fermer une position acheteuse
    if OnMarket  then
       SELL AT MARKET
    endif
    
    // Conditions pour ouvrir une position acheteuse
    indicator1 = BollingerDown[20](close)
    c1 = (close <= indicator1)
     
    IF c1 THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
     
    
    #223817 quote
    imencity
    Participant
    Senior

    Merci de la réponse.

    Ah bien oui, cela à l’air efficace.
    Je vais tester 😉

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

Cloture systématique au début de la bougie suivante


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
imencity @imencity Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by imencity
2 years, 3 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 11/15/2023
Status: Active
Attachments: 1 files
Logo Logo
Loading...