Signaux de l'indicateur appelé non respecté par ProBacktest

Forums ProRealTime forum Français Support ProOrder Signaux de l'indicateur appelé non respecté par ProBacktest

Viewing 12 posts - 1 through 12 (of 12 total)
  • #131362

    Bonjour,

    Je viens demander de l’aide car je ne comprends pas le comportement de ProBacktest dans le cas suivant :

    J’effectue un simple achat à l’aide du code ci-après (stoppé aussitôt juste pour vérifier la fiabilité des signaux d’entrée). Achat dès que le signal de l’indicateur appelé passe à 1 (0 le reste du temps).

    Voici le code de l’indicateur appelé (trouvé à cet endroit sur le forum https://www.prorealcode.com/prorealtime-indicators/stair-step-moving-average/) :

    Le but ici étant d’acheter au marché dès que le signal d’achat passe à 1.

    En pièce jointe l’exemple du Backtest qui montre clairement que les signaux ne sont pas pris au moment où le signal est envoyé (indicateur du signal d’achat en bas du graphique en histogramme vert et correspondant au code de l’indicateur ci-dessus). Il semble que le signal soit pris systématiquement avant… Il ne semble pas y avoir de période définie entre l’entrée probacktest et le signal émis non plus…

    Ceci est une “Proof Of Concept” avec un code simple afin d’identifier le problème que je retrouve sur un plus gros algo…

    J’ai bien sûr essayé différentes choses avant de poster ici mais rien ne fonctionne… J’imagine que le problème vient certainement de l’interface chaise-clavier… Si tel n’est pas le cas peut être est-ce un bug connu ou non ? Ou peut être une impossibilité de faire certaine chose ?

    Merci d’avance pour l’aide qui me sera apporté. J’ai hâte de savoir ce qu’il en est…

    #131525

    Pour débugger une variable, faire un GRAPH, soit :

    La valeur du CALL est elle bien la même que celle de l’indicateur sur le graphique ?

    1 user thanked author for this post.
    #131543

    En effet cette fonction va me faciliter la tâche. Merci pour votre réponse et votre réactivité.

    Du coup, les signaux respectent en effet bien le “GRAPH” donc pas d’erreur à ce niveau. En revanche, pourquoi la ligne sur le GRAPH ne correspond pas à celle de l’indicateur ?
    Je pense que la réponse vient du fait que l’on prend la première fois le close puis ensuite l’indicateur calcule les valeurs suivantes à partir de là, donc il semble que la première valeur soit différente si appelé dans ProBacktest ou ProBuilder. En effet, ProBuilder prend la première valeur de l’historique affiché, mais quelle valeur prend ProBacktest ?

    Dans tous les cas, ceci n’est pas la bonne façon de calculer cette indicateur… Mais comment alors fiabiliser cet indicateur (https://www.prorealcode.com/prorealtime-indicators/stair-step-moving-average/) pour que le GRAPH et l’indicateur affiché sur le graphique correspondent ?

    #131610

    Tu peux essayer avec un preloadbars=0. Mais le principal reste le fait que l’indicateur soit bien calculé et que les signaux soient corrects vis à vis de celui-ci. Comme tu le remarques, ces valeurs en escalier sont issues d’un écart entre chaque marche, donc la valeur de cette moyenne mobile sera différente selon là où débute l’historique, un peu comme un graphique renko.

    #131702

    Oui en effet un preloadbars=0 fonctionne. Oui c’est ça… Je vais tout de même réfléchir à un moyen de commencer tout le temps au même moment sinon selon l’endroit où débute l’historique les signaux de trading seront différents, ce qui n’est pas l’idéal pour une stratégie automatique… Peut être preload suffisamment d’historique et faire commencer l’indicateur sur un signal caractéristique évident, je sais pas je vais voir mais en tout cas merci beaucoup pour ces réponses.

    #131707

    Cependant, on peut voir avec les 2 images jointes qu’il existe malgré tout une divergence de calcul. En effet, avec un preload à 0 l’indicateur et le tracé de son “graph” sont identique au départ, comme il se doit, mais diverge ensuite… Comment expliquer cela ? (je note ici une belle divergence sur le passage du 1er mai au 4 mai -visible sur la 2e image jointe- / on semble également dévier peu à peu dans la journée du 27 avril…)

    #131739

    Avec

    l’indicateur sera aussi tracé sur le graphique et te permettra de mieux cerner où se trouve la divergence, à quel moment elle démarre.

    1 user thanked author for this post.
    #131820

    En effet très pratique merci. Je vais lire toute la doc ProBacktest ce WE.

    En revanche, ces décorrélations me paraissent anormal… Pour l’instant ce n’est bien sûr qu’un prémisse, mais je souhaite comprendre car il me sera impossible de faire confiance à un algo automatique ensuite dont les signaux ne correspondent pas…

    Par exemple, avec un preload à 0 les 2 signaux ne commencent pas au même endroit (cf. Preload_NOK.png), l’indicateur en vert prend bien le close alors que le même indicateur appelé dans ProBacktest avec le call n’a pas la même valeur (nous appellerons ce dernier graph par la suite pour plus de simplicité). Après tests, il semblerait que l’indicateur graph prenne le close précédent… Est-ce un bug ou est-ce voulu ?
    Ensuite en mettant une valeur de départ plutôt que le close l’indicateur et le graph sont bien corrélés au départ cette fois, mais diverge ensuite : souvent la décorrélation se produit le weekend, donc entre un vendredi et un lundi (cf. Decalage_WE.png), ou de manière plus aléatoire (et plus infime mais tout de même divergeant sans raison apparente…) comme le montre la dernière image (cf. Decorrelation.png). Auriez-vous une explication à cela ?
    Pour info, mettre directement le code de l’indicateur dans ProBacktest sans passer par la fonction call produit le même résultat… Ce qui signifierait que, si bug il y a, il ne viendrait pas de la function mais du module ProBacktest.

    #131823

    Re-post première image qui ne s’est pas chargé…

    #132073

    Je pense que ton problème vient du fait que tu n’affiches pas les données du weekend, est-ce bien le cas ?

    1 user thanked author for this post.
    #132094

    En effet, c’est bien le cas. Grand merci pour votre aide c’est parfait.

    Dernière question avant de clore le sujet, je lis dans la doc : “Les données du week-end sont toujours prises en compte pour les backtests.” dois-je en conclure qu’il n’est pas possible d’appliquer un indicateur uniquement sur certains horaires ou en excluant les données du week-end ? Aucune option n’est prévue pour ça ?

    #132121

    Ne pas inclure les données du week end c’est purement visuel. ProOrder ne trade que les vrais données du marché et pas celles qu’on modifie visuellement.

    1 user thanked author for this post.
Viewing 12 posts - 1 through 12 (of 12 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login