Première approche sur le multi timeframe avec ProRealTime

Forums ProRealTime forum Français Support ProOrder Première approche sur le multi timeframe avec ProRealTime

Viewing 15 posts - 46 through 60 (of 80 total)
  • #106788

    RE-BONJOUR NICOLAS, Je reviens vers vous après une période d’absence, indépendante de ma volonté. C’est encore à propos DU MTF présenté au début de l’été, si mon souvenir est exact.

    Je vous avais fait le courriel ci-dessous.

    Je n’ai pas terminé ma prime apprentissage de la programmation, mais j’ai repris et j’avance calmement.

    Comme j’ai eu l’opportunité de commenter un peu l’arrivée de la stratégie MTF, j’en ai bien compris l’intérêt après lecture de votre présentation. Je viens ici te demander de bien vouloir préciser une partie que je n’ai pas bien saisie : c’est le paragraphe

     

    « Différence entre UpdateOnClose et le mode « default »

     

    On peut utiliser l’instruction GRAPH pour visualiser nos différentes variables se calculant dans les TF différents : peut-être est-ce par ce que je ne sais pas encore bien lire l’instruction « graph » et bien analyser les résultats. Je suis en train de regarder et souhaiterais une précision de ta part sur le fait que la mise à jour de l’UT sup à partir de l’ut default :

    « En mode « default », les variables de l’unité de temps 5 minutes se calcule à chaque update du timeframe default, on remarque donc que les ordres sont différents, puisqu’il ne s’agit plus alors de la même stratégie !!

    Je voudrais comprendre pourquoi et comment la stratégie change, et change donc les ordres !

    Peux-tu m’éclairer sur ce point ?

    Par contre j’ai bien saisi l’avantage du MTF. Tu ne sais pas si bien dire ! Que seul le blocage sera notre imagination…

    Pour moi, LA TRES GRANDE INNOVATION DE CE SYSTEME C’EST L’HISTORICISATION, comme tu as dit « QUI OUVRE DES OUVERTURES ». L’historicisation C’est bien…

    Si condition…. Alors

    AncienTruc=truc

    Truc=0

    Fin de la condition

    …EN GROS

    L’historicisation permettra de travailler en anticipation d’au moins une partie de la barre courante sinon la barre au-delà. (Il suffit de trouver la formule en transformant la technique visuelle jusqu’ici appliquée en une bonne ligne de code ou d’intelligence. J’Y REVIENDRAI

     

    J’avais écrit ceci :

    J’ai regardé le forum ces jours-ci et ai lu un article qui parle de  multitimeframe:

    “Première approche sur le multi timeframe avec ProRealTime”

    J’avoue que je ne comprends pas très bien et je me demandais si vous pouviez faire une vidéo explicative à ce propos!

    J’ai de la chance d’arriver sur le trading automatique juste lorsque prorealtime propose de travailler sur plusieurs UT en réel et sur le probacktest.

    Je travaille et ai toujours travaillé avec plusieurs ut, car pour moi  on ne peut prendre position si on ignore l’environnement dans lequel on se trouve: c’est l’ut supérieure qui indique la tendance, et la puissance du mouvement est donnée par l’interaction des indicateurs sur l’ut default.

    Mais le timing d’entrée en position est donné par le faible ut et j’utilise « des indicateurs » comme stoploss dans un premier temps. Je les remplace par un stop suiveur à partir du prix d’achat lorsque le système est gagnant.

    Il est évident que, pour une tendance haussière par exemple, sur un ut supérieur, combien de périodes doit-on prendre en compte? Le code n’aime pas les imprécisions. Un coup d’œil nous “suffit” et là il faut renseigner la machine!! Les plus bas, plus haut et/ou les plus hauts, plus hauts? La MM? ETC.

    En tout cas je crois que je trouverai. Ce que je ne comprends pas est le paragraphe «cadence des calculs et mise à jour des variables”

    Tout à fait autre chose je suis en train de coder les non croisements entre mm courte et longue.

    J’ai parcouru à ce propos le forum et il y a des “évocations”. Je n’y arrive pas encore et pourtant j’ai bien posé le problème. Je veux le faire par le calcul des écarts de prix qui diminuent jusqu’à zéro ou un certain %ge. .

    CORDIALEMENT.

    GENTRY

    #106795

    J’ai voulu créer un compte PRT Sofware pour mieux regarder la stratégie MTF.
    je tombe sur le site donc les indications figurent sur ce fichier attaché.
    Apparemment rien à voir.
    Puis je avoir plus d’indication stp? ADRESSE DU SITE PAR EX? PAYANT? NON PAYANT,
    ICI Il n’est même pas fait allusion au MTF….
    CORDIALEMENT.
    GENTRY

    #106802

    bonjour

    prend une version beta pour debuter

    https://www.prorealtime.com/fr/workstation

    cordialement

    #106907

    Pour ce point: « En mode « default », les variables de l’unité de temps 5 minutes se calcule à chaque update du timeframe default

    Si le timeframe default est une unité de temps 1-minute par exemple, cela  signifie que les infos du TF 5-minute se mettront à jour toutes les minutes.

    Exemple: tu déclares un indicateur RSI dans le TF 5-minute, entre l’ouverture et la fermeture de la barre, tu pourras récupérer 5 fois sa valeur, à chaque fermeture d’une bougie 1-minute, cela permettant d’anticiper une prise de position par exemple. Il est vrai qu’il est plus commun de prendre en compte les indications des indicateurs à leurs fermetures cependant, mais chacun ira de sa propre stratégie en profitant de cette possibilité.

     

    #112704
    Bonjour,
    Je viens vers vous car depuis plusieurs mois je travaille sur un programme sur pro-order (DAX 1€ en M15) qui donnait des résultats très encourageants sur les backtests.
    Au fil des semaines, j’ai tracé les résultats et les différentes évolutions. Mais à ma grande stupeur, je mes suis rendu compte aujourd’hui que les résultats des backtests ne sont plus du tout, du tout, du tout les mêmes qu’il y a 2 jours lorsque j’ai travaillé dessus pour la dernière fois avant le constat de ce soir. Les plus-values sur 8 ans ont été réduites de 40%, le nombre de positions prises divisées par 2 alors que ma plateforme est configurée exactement à l’identique. Vu que les 200000 barres sont glissantes, j’ai refait des tests sur des périodes identiques, mais rien n’y fait les résultats ne sont plus là.
    Après de nombreuses recherches de l’anomalie, il s’avère que le soucis se situe en MTF et en “updateonclose”. En effet, si par exemple on prend une condition simple (croisement de moyenne mobile) et que l’on utilise la fonction graph, on s’aperçoit que si on ne met pas pas “updateonclose” (timeframe(daily)), la fonction graph retourne bien toutes les occurences sur la totalité de la période. En revanche, si on se met en updateonclose et ce quelque soit l’UT (j’ai testé en daily/H12/H8), alors seules quelques occurences sont retournées et qui plus est que depuis mai 2018.
    Ceci est un BUG majeur qui mérite je pense une attention toute particulière et un correctif de la part de prorealtime.
    Merci d’avance pour votre éclairage.
    Nicolas
    #112712

    Ceci n’est pas un bug, il faut relire le sujet de la première page, au paragraphe: La cadence de calcul et les mises à jour des variables (syntax).

    “UpdateOnClose” est utilisé pour ne lire qu’une seule fois par chandelier (au Close donc), le code de l’unité de temps concerné. Et c’est tout l’intérêt du multi timeframe justement, c’est de pouvoir vérifier en cours de chandelier des informations qui n’était pas accessible jusque là, avant l’utilisation du MTF.

    Si on ne met pas UpdateOnClose dans l’instruction TIMEFRAME, alors l’UT concerné va se mettre à jour à chaque fermeture de chandelier de l’unité de temps la plus courte utilisé par la stratégie, celle qu’on appelle la “default”.

    #112739

    Merci de votre réponse mais je connais bien l’utilisation de cette fonction, je l’utilise d’ailleurs depuis plusieurs mois avec des systèmes qui tournent en réel.  Mais depuis le début de cette semaine seulement, les back tests ne reproduisent plus correctement les conditions en « updateonclose ». J’ai refait un test ce soir avec un système simple: 1 condition en Daily updateonclose (close>mm 20) et une condition d’achat sur une UT inférieure.
    Dans ces conditions, que ce soit en back tests ou en démo, aucune position n’est prise alors que les conditions sont là. Résultat: les back tests sont complètement faussés au moins sur le compte démo car sur le compte réel il semble que mes systèmes qui tournent ne subissent pas cette erreur.

    1 user thanked author for this post.
    #112749

    On m’a rapporté un autre problème qui semble identique, je vais me renseigner.

    #112758

    Je confirme avoir eu de sérieux écarts entre des back tests réalisés la semaine passée et cette semaine sur des systèmes fonctionnant en MTF. Ce qui m’a donné un sérieux coup de blues… Je pensais m’être planté dans mes sauvegardes (que j’exporte pourtant chaque fois après travail). Peut-être pas du coup… Mais plusieurs systèmes étaient concernés.

    #112778

    Un rollback d’un update récent vient d’avoir lieu, il faut relancer la plateforme pour revenir à une situation normale, concernant ce décalage de résultat survenu récemment dans les backtests.

    1 user thanked author for this post.
    #112833

    Merci beaucoup pour la réactivité, finalement juste une petite frayeur et tout est rentré dans l’ordre.

    #119026

    Bonjour Nicolas,

    J’ai un petit souci de compréhension au sujet du mtf. Je n’arrive pas à obtenir les mêmes résultats d’une ut à l’autre.

    Par exemple voici une stratégie totalement lambda sur le Dax:

    • version sans mtf en ut 4h
      <pre class=”lang:probuilder decode:true” title=”Lambda ut 4h sans mtf”>DEFPARAM CumulateOrders = False // Cumul des positions désactivéc1 = (Average[20](close) CROSSES OVER Average[50](close))
      c2=(Average[20](close) CROSSES under Average[50](close))

      IF c1 THEN
      BUY 1 CONTRACT AT MARKET
      ENDIF

      IF c2 THEN
      sell AT MARKET
      ENDIF
      SET STOP %LOSS 2

    • la même stratégie en version avec mtf en ut 2h

    <pre class=”lang:probuilder decode:true” title=”Lambda mtf 2h”>DEFPARAM CumulateOrders = False // Cumul des positions désactivé

    timeframe(4 hours,updateonclose)
    c1 = (Average[20](close) CROSSES OVER Average[50](close))
    c2=(Average[20](close) CROSSES under Average[50](close))

    timeframe(Default)
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    IF c2 THEN
    sell AT MARKET
    ENDIF
    SET STOP %LOSS 2

    Ces 2 stratégies ne devraient-elles pas produire les mêmes résultats ? Si oui, où se situe mon erreur ?

    Merci par avance!

    #119029

    La seule erreur que vous avez commise est de comparer les résultats entre deux unités de temps différentes!

    Cependant, même si vous n’utilisez qu’une seule unité de temps, gardez à l’esprit que sans MTF, la stratégie n’est exécutée qu’une seule fois (par exemple toutes les 4 heures), tandis que si vous utilisez MTF avec la valeur par défaut de 1 minute, la même stratégie est exécutée 240 fois en 4 heures, même si ayant toujours les mêmes conditions d’entrée, cela signifie que si votre profit ou perte se produit dans les mêmes 4 heures, la stratégie réintégrera le marché.

    Sans MTF, il n’y aura qu’une seule entrée sur le marché toutes les 4 heures, avec MTF il peut y en avoir 2 ou plus!

    1 user thanked author for this post.
    #119031

    avec MTF il peut y en avoir 2 ou plus!

    Merci beaucoup Roberto pour l’explication ! C’est ce qui me manquait à mon raisonnement, le code est donc exécuté deux fois.

    #119038

    1 fois toutes les 2 heures, donc 2 fois toutes les 4 heures en effet.  Le timeframe default est celui qui rythme les lectures du code.

    1 user thanked author for this post.
Viewing 15 posts - 46 through 60 (of 80 total)

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