ProBacktest ouvre des ordres prématurément et les ferme trop tard

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #57632 quote
    Olivier Martinez
    Participant
    Junior

    Bonjour

    J’ai créé un algorithme de base tout simple or il y’a des achats et des rachats que je ne comprends pas.

    En effet voici le code:

    REM calcules la différence entre la cloture et la MM60 simple
    diff = CLOSE - AVERAGE[60]
    
    REM calcule la somme des barres positives
    pos = summation[30](max(diff,0))
    
    REM calcule la somme des barres négatives
    neg = summation[30](min(diff,0))
    
    RETURN 100 * pos / (pos - neg) AS"oscillateur"

     

     

    [attachment file=57633]
    Ce code m’ouvre des ordres prématurément et les ferme trop tard.

    Je ne vois pas d’où vient l’erreur (si il y’en a une) et elle arrive très régulièrement sur plusieurs de mes backtests

    Merci d’avance

    #57769 quote
    Nicolas
    Keymaster
    Master

    Le code posté est celui d’un indicateur qui semble ne rien avoir à faire avec l’image posté 🙂

    J’ai édité ton message, merci d’utiliser le bouton <> “insert PRT code” pour poster du code la prochaine fois. J’ai également changé le titre “erreur probacktest” … Les règles pour poster sont simples, elles sont d’ailleurs indiqués au dessus du champ de saisie dans ce fameux rectangle jaune ! Merci.

    #58721 quote
    Olivier Martinez
    Participant
    Junior

    Bonjour

    Merci pour votre réponse

    effectivement je me suis trompé d’algorithme aha

    Donc je suis un débutant en programmation et je crée d’abord des algorithmes avec la création simplifié pour ensuite regarder le code de l’algo mais régulièrement je ne comprends pas pourquoi des ordres se ferment ou s’ouvrent en ne suivant pas mes conditions, j’essaye de prendre en compte la volatilité mais rien n’y fait.

    Voila l’algorithme:

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    // Conditions pour ouvrir une position acheteuse
    indicator1, ignored, indicator2, ignored = CALL "PRC_Regularized Momentum"[11, 3, 11, 90, 10]
    c1 = (indicator1 CROSSES OVER indicator2)
    
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Conditions pour fermer une position acheteuse
    indicator3, indicator4, ignored, ignored = CALL "PRC_Regularized Momentum"[11, 3, 11, 90, 10]
    c2 = (indicator3 CROSSES UNDER indicator4)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF

    Voici par exemple une photo de quelques ordres en fonction de l’indicateur:

     

    Merci d’avance.

    #58733 quote
    Nicolas
    Keymaster
    Master

    Pour vérifier que les valeurs des variables de l’indicateur sont bien les mêmes que celles de l’indicateur affichée, tu peux utiliser l’instruction GRAPH, par exemple :

    [scode] graph indicateur1 [/scode]

    à placer à la fin du code.

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

ProBacktest ouvre des ordres prématurément et les ferme trop tard


Support ProOrder

New Reply
Author
Summary

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

Topic Details
Forum: Support ProOrder
Language: French
Started: 01/07/2018
Status: Active
Attachments: 2 files
Logo Logo
Loading...