Backtest ne déclenche pas achat et vente quand il faut

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

    Bonjour

    Je débute, aussi programme très très simple basé sur indicateurs DMI, pour développer ensuite la méthode pas à pas:

    Position longue:

    achat lorsque, DIplus étant supérieur à DIMinus,  DI traverse de bas en haut DIminus

    vente  soit lorsque DIminus devient supérieur DIplus, soit lorsque DI devient supérieur à DIplus

    Le backtest donne des résultats à priori surprenants:

    parfois n’achète pas lorsqu’il faudrait, achète aussi alors que les indicateurs ne l’indiquent pas (ou  plusieurs barres après?)

    la vente est souvent tardive par rapport aux indicateurs….

    J’ai essayé avec “crosses over” au lieu des deux conditions, cela ne résoud pas le problème

    Quant aux positions courtes, le code est strictement symétrique, on remplace DIplus par DIminus (sauf erreur de ma part), mais ne déclenche jamais de vente (ne prend jamais de positon), alors que les occasions ne manquent pas

    Evidemment cela m’empêche d’aller plus loin, ceci n’étant clairement qu’un embryon

    Merci de m’indiquer  ce qui cloche

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    DIP = DIplus[14](close)
    DIX = DI[14](close)
    DIM = DIminus[14](close)
    
    // Conditions pour ouvrir une position acheteuse
    c1 = (DIX > DIM)
    c2 = (DIX[1] < DIM[1])
    c3 = (DIP > DIM)
    IF c1 AND C2  and C3 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions pour fermer une position acheteuse
    c4 = (DIM > DIP)
    c5 = (DIX > DIP)
    IF c4 OR c5 THEN
    SELL AT MARKET
    ENDIF
    
    // Conditions pour ouvrir une position en vente à découvert
    c11 = (DIX > DIP)
    c12 = (DIX[1] < DIP[1])
    c13 = (DIM > DIP)
    IF c11 AND c12 AND c13 THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions pour fermer une position en vente à découvert
    c14 = (DIP > DIM)
    c15= (DIX > DIM)
    IF c14 OR c15 THEN
    EXITSHORT AT MARKET
    ENDIF
    
    Test1.docx
    #132065 quote
    Nicolas
    Keymaster
    Master

    J’ai ajouté le code à ton message, plus simple et rapide, plutôt que de télécharger un fichier Word ! Merci d’ajouter du code au corps des messages avec le bouton dédié la prochaine fois.

    A première lecture, je ne vois pas d’erreurs dans ton programme, afin d’être sûr que les indicateurs retournent les mêmes valeurs que ceux appliqués à ton graphique, je te suggère de les GRAPHer:

    graph DIP
    graph DIX
    graph DIM
    #132158 quote
    Gues
    Participant
    New

    Effectivement backtest déclenche suivant les valeurs indiquées par Graph.

    Merci.

    Mais, outre la surprise, cela pose question: que penser de cette différence: pourquoi les valeurs des indicateurs sont elles différentes, ou autrement dit comment vérifier les paramètres de calcul des indicateurs dans les deux cas, si c’est de là que vient la différence?  Sinon?????

    Merci

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

Backtest ne déclenche pas achat et vente quand il faut


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Gues @gues Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by Gues
5 years, 9 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 05/17/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...