ProBackTest : les ordres ne passent pas

Forums ProRealTime forum Français Support ProOrder ProBackTest : les ordres ne passent pas

Viewing 15 posts - 1 through 15 (of 16 total)
  • #121562

    Bonjour,
    Lorsque je backtest ce système il ne se passe strictement rien : aucun ordre n’est simulé.
    Le système est hyper simple : un stop suiveur à l’achat, un autre stop suiveur à la vente. Les seules positions autorisées sont seulement les positions longues.
    Il doit y avoir une erreur évidente dans mon code, mais je ne la vois pas.
    Help! 😉

    #121569

    Je n’ai pas testé, mais est-ce que “ConditionAchat” est bien vérifié au moins une fois ?

    #121578

    bonjour,

    je ne comprend pas pourquoi quand je

    graph DropConfirmationPrice

    rien ne s’affiche

    et quand je

    graph  PriceBaseStage * (ROUND(Close / PriceBaseStage) – 1) + DropConfirmationLevel

    j’obtiens une valeur

    #121587

    j’ai crée un indicateur pour chercher ou été l’erreur.

    voici le code

     

    l’indicateur retourne bien les valeurs mais  dans proorder

    DropConfirmationPrice  ne retourne rien dans proorder

     

    #121594

    Merci pour vos réponses.

    Nicolas, manifestement “ConditionAchat” n’est jamais vérifié.
    Fifi743, effectivement il semble que l’affectation de mes variables StopLossBuy, RaiseConfirmationPrice, StopLossSell et DropConfirmationPrice ne fonctionne pas puisqu’elles valent toujours 0. Pourtant lorsqu’on graphe les formules permettant de les calculer, on a bien des valeurs.

    J’ai déplacé toutes mes commandes “ONCE” au début du code, sans amélioration. Aurais-je oublié une instruction d’initialisation ?

    #121602

    Voici une version peut-être plus lisible ?
    Je ne comprends vraiment pas ce qui ne va pas.
    Tout se passe comme si “Close” valait 0 dans toutes les instructions “ONCE” d’initialisation puis tout le reste du code était inactif.

    #121606

    pour résoudre le problème il faut faire appele a l’indicateur

    #121607

    pourquoi l’indicateur fonctionne et pas le code dans proorder ?

    #121610

    j’ai fais l’indicateur et algo

    dans l’ago tu peux faire varier les valeurs.

    sur le graph l’algo retourne bien les valeurs

    il y a bien une erreur ,mais ou

    1 user thanked author for this post.
    #121613

    la condition fonctionne

    tous ce qui est en remarque c’est qu’il y a un probleme

     

    1 user thanked author for this post.
    #121637

    Un autre sujet a été ouvert dans le forum anglophone: https://www.prorealcode.com/topic/initialization-not-working/

    Je continuerai donc à répondre là bas, merci d’éviter les doubles posts. Les pistes de débuggage “classiques” avec ProOrder : éviter les calculs non nécessaires avant le début d’un backtest (avec un preloadbar nul) et vérifier les erreurs de division par zéro.

    #121709

    Merci encore Fifi743 pour tous tes efforts.
    Ta réponse m’aide concrètement en ce qu’elle me rappelle d’utiliser un indicateur plutôt que de faire les calculs dans le système.
    Malheureusement cela n’est pas suffisant. J’ai l’impression que le problème est dû au fait que les calculs ne sont pas identiques à l’initialisation des seuils et niveaux de stops et ensuite.
    Cf l’indicateur et le système, ci-dessous. Les valeurs retournées par l’indicateur sont toujours incorrectes, valant 250 ou -1250 selon les cas, sur toute la période temporelle.

    PS Nicolas : PriceBaseStage ne vaut pas 0 au début, c’est une variable du système en l’occurrence fixée à 1000. DEFPARAM PreLoadBars = 0 n’améliore malheureusement pas la situation.

    #121710
    #121711
    #121796

    Attention avec des écritures de type variable = variable[1] sans condition sur le barindex pour voir si on ne crée pas un problème de première barre, car la barre avant la première, la variable[1] est undefined… et donc de bougie en bougie on propage le undefined

    Il semble assez probable qu’il faille encadrer les lignes concernées par un “if barindex>1 then … endif”:

    Après, est-ce qu’il y a d’autres choses à corriger au-delà j’ai pas regardé, mais faut au moins déjà vérifier que ça trace ces 4 valeurs correctement  dans l’indicateur avec ce if barindex>1

    3 users thanked author for this post.
Viewing 15 posts - 1 through 15 (of 16 total)

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