Aide pour création code Proorder avec RSI

Forums ProRealTime forum Français Support ProOrder Aide pour création code Proorder avec RSI

Viewing 10 posts - 1 through 10 (of 10 total)
  • #186821

    Bonjour,

    Je poste ce message pour avoir de l’aide sur la creation d’un code sur une stratégie assez simple avec indicateur RSI 14, dont voici les caractéristiques :

    Stratégie uniquement basé sur ACHAT de 5 mini lot FRANCE 40 lorsque RSI <30 à la fin de la bougie (achat sur ouverture bougie suivante).

    Si cours diminue de 40 points, alors achat de 5 lots supplémentaire
    Si cours diminue de 80 points, alors achat de 5 lots supplémentaire
    Si cours diminue de 120 points, alors achat de 5 lots supplémentaire.

    Si cours diminue de 160 points, alors fermeture des 3 positions en perte.

    Limite = RSI croise 70 immédiatement

     

    Merci pour votre aide.

    Bonne journée.

    #187207

    Bonjour,

    à tester, avec beaucoup de méfiance, pas seulement en cas de mauvaise interprétation de ma part, ou d’erreur de codage, mais aussi parce que ce genre de système “semble” rapporter sur certaines phases favorables, mais cause des pertes conséquentes sur phases défavorables qui peuvent aller jusqu’à vider un compte. Il n’est pas dit que le bilan sera toujours positif. Pour se faire une idée du bilan global, et ne pas vider le compte “avant” qu’éventuellement ça rapporte (et si ça rapporte), la prudence impose de beaucoup backtester sur toutes sortes d’UT et de phases de marché.

    Un léger doute lié à 4 entrées (une en ouverture de bougie quand RSI passe sous 30 + les 3 renforts) contre mention de coupure de “3 ^psitions en perte”, dans le doute j’ai codé pour sortir les 4 (annotée “A” ligne 43) et ajouté en commentaires les lignes 45 à 48 qui correspondent à en couper seulement 3 (“B”).

     

    1 user thanked author for this post.
    #187242

    Bonjour JC_Bywan,

    Je vous remercie beaucoup pour votre aide et votre temps pour ce code.

    Je sais qu’il doit être optimisé avant de le mettre en réel, mais je voudrai tester plusieurs paramètres avant.

    J’ai une erreur sur la ligne 3 apparemment lorsque je lance le backtest, et je constate qu’il n’ouvre pas une 2eme, ni 3eme  position si le cours tombe de 40 points.

    Ou est l’erreur?

    Pour info il y a max 3 positions ouvertes et fermetures sur -160 points.

    #187287

    Là je suis perdu 2 fois, la première parce que ça ne me renvoie pas d’erreur en ligne 3, et la 2e parce qu’autant j’avais un doute sur s’il fallait en fermer 3 ou 4 sur les 4, autant je n’ai pas compris du tout qu’il n’y en a que 3 en tout. J’essaye de relire le post de départ en ce sens, mais j’en compte une (de 5) dès que rsi passe sous 30, puis si chute de 40 la requête parle de 5 supplémentaires (donc le mot supplémentaire qui confirme qu’on en est à une 2ème de 5), puis encore 2 autres fois 5 supplémentaires, j’en suis à 4. S’il n’y en a que 3, et en supposant que celle de trop n’est pas celle de 40 de chute ni celle de 80, faut-il supprimer la première dès que RSI<30 ou la quatrième quand chute de 120? Quelque chose me dit que c’est probablement la première quand rsi passe sous 30 avant chute de 40 points qui n’en est pas une et que c’est le mot “supplémentaire” qui est de trop sur la chute à 40 et l’a fait passer pour une 2ème au lieu d’une première, mais bon, je préfèrerais en être sûr avant de revoir le code…

    #187315
    Bonjour JC_Bywan,
    Effectivement mon explication n’était pas très claire, je m’en excuse. J’ai revu mon texte, et je vous ai mis 3 exemples ci-dessous pour que ce soit plus clair:
    Stratégie uniquement basé sur ACHAT de 5 mini lot FRANCE 40 lorsque RSI <30 à la fin de la bougie (achat sur ouverture bougie suivante).
    1/ Achat 1 position 5 lots sur bougie suivante dès que RSI ferme en dessous de 30.
    2/ Si cours diminue de 40 points, alors achat de 5 lots supplémentaire
    3/ Si cours diminue de 80 points, alors achat de 5 lots supplémentaire
    4/ Si cours diminue de 120 points, alors achat de 5 lots supplémentaire.
    5/ Si cours diminue de 160 points : FERMETURE DE TOUTES LES POSITIONS EN PERTE
    Fermeture de toutes les positions = RSI croise 70 immédiatement
    Exemple 1:
    Bougie X minutes ferme avec RSI < 30. Sur Bougie suivante ouverture position 5 unités (à 7160 points par exemple).
    Si cours descend à 7120 points, alors ouverture 2ème position de 5 unités.
    Si cours descend à 7080 points, alors ouverture 3ème position de 5 unités
    Si cours descend à 7040 points, alors ouverture 4ème position de 5 unités
    Si cours descend à 7000 points : FERMETURE EN PERTE DE TOUTES LE POSITIONS
    Dans tous les cas, fermeture immédiate de 1 ou toutes les positions dès que RSI croise 70. (Et non à la fin de la bougie)
    Exemple 2:
    Bougie X minutes ferme avec RSI < 30.
    Sur Bougie suivante ouverture position 5 unités (à 7160 points par exemple).
    Si cours descend à 7120 points, alors ouverture 2ème position de 5 unités.
    Si cours remonte et RSI croise 70 à 7250 points alors fermeture immédiate des postions 1 + 2 à 7250 points.
    Exemple 3:
    Bougie X minutes ferme avec RSI < 30.
    Sur Bougie suivante ouverture position 5 unités (à 7160 points par exemple).
    Si cours descend à 7120 points, alors ouverture 2ème position de 5 unités.
    Si cours descend à 7080 points, alors ouverture 3ème position de 5 unités.
    Si cours remonte  RSI croise 70 à 7250 points alors fermeture immédiate des postions 1 + 2 + 3 à 7250 points.
    #187720

    Bonjour, sauf erreur que je ne vois pas (je veux bien un contre exemple graphique pour avoir une point de départ permettant de chercher l’erreur), le code proposé faisait toutes les ouvertures de position décrites, ainsi que le stop. La seule différence est la sortie, le code d’une stratégie automatique étant lu en fin de chaque bougie pour placer des ordres à éxécuter en ouverture de bougie suivante (hors éventuel slippage), le code envoie donc un ordre au marché en fin de bougie et non pas en cas de touchette 70 intra-bougie. On pourrait s’amuser à contourner la contrainte de fin de bougie en anticipant mathématiquement le niveau de cours nécessaire à un rsi à 70 et envoyer des pending orders en avance valable pendant une bougie à renouveler à chaque fois, mais ce serait beaucoup d’efforts pour pas grand chose car grande proba de se voir le pending order refusé par IG de toute façon à chaque fois que posé à moins de la distance minimale requise par IG, et donc rater la sortie.

    Ci-joint exemple pour Dax 5 minutes où les 5 et 6 janvier on a consécutivement un exemple 1 à 4 positions fermées en perte et un exemple 2 à 2 positions fermées en gain.

    Je remets le code avec les “graphonprice” rajoutés pour voir les niveaux et une modif de la ligne 61 à impact uniquement graphique (ne change pas le comportement des ordres par rapport au premier code):

     

    #188304

    Bonjour JC,

    Je ne suis pas revenu vers vous de suite car je voulais laisser tourner l’algo pour voir les résultats.

    Merci encore pour le code, ça fonctionne très bien et conforme à mon besoin.

    Cependant, l’algo a de moins bon résultats en phase de baisse. Pour cela je voudrai insérer un filtre dans le code qui empêche toutes ouvertures de positions en phase de baisse.

    Est-il possible de rajouter au code un blocage (ou non ouverture de positions) quand le cours ferme en dessous de la Moyenne mobile 50 sur unité de temps 1 heure ? (et inversement redémarre dès que le cours clôture au dessus de la Moyenne mobile 50 1H )

    Merci par avance.

    #188444

    En utilisant le dernier code fournit par Noobywan, voici la version avec le filtre de la moyenne mobile 50 sur l’unité de temps H1:

    Non testé!

    #188465

    Bonjour Nicolas,

    Je vous remercie pour votre aide. En revanche, avec la ligne “filtre <span class=”crayon-o”>=</span> <span class=”crayon-st”>close</span><span class=”crayon-o”>></span><span class=”crayon-r”>average</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>50</span><span class=”crayon-o”>]” cela ferme toutes les positions dès que le cours croise/atteint la MM50.</span>

    Mon souhait serait différent: Je voudrai que le système fonctionne (ouverture de positions) quand le cours est au dessus de MM50 H1, et inversement s’arrête (aucune ouverture de positions)  lorsque le cours est en dessous de MM50 H1, et cela sans incidence sur la fermeture de positions.

    Les positions se fermeront comme précédemment, lorsque le RSI touchera la zone 70.

    Cela revient à un ON/OFF pour les ouvertures de positions en dessous de MM50 H1 et garde les positions ouvertes précédemment.

    Merci par avance.

    #188668

    Bonjour, à tester:

     

Viewing 10 posts - 1 through 10 (of 10 total)

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