ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Ajouter un SL+1 à mon robot

par Link » 03 sept. 2020 14:58

Salut tout le monde, je test en ce moment un robot avec le rsi, la stratégie est plutôt simple quand le rsi est haut on vend, quand il est bas on achète. j'ai lancé des test avec Probacktest et sélectionné les meilleurs paramètres. Je vous joins ci dessous le meilleur résultat sur le Dax en 1 minute.

J'aimerais cependant ajouter un SL+1 à mon robot afin de réduire les pertes mais je ne sais pas comment faire. De nombreuses positions perdantes étaient gagnantes à un moment et j'aimerais sécuriser ces positions avec un SL+1 que je mettrai après 5 points par exemple (la encore je ferais plusieurs test pour savoir a quel moment le SL+1 doit s'activer).

Quelqu'un serait comment faire ? ce serait super d'ajouter le code du SL+1 et le poster dans cette file.

ci dessous le code de mon robot

// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
DEFPARAM FLATBEFORE = 094500
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 200000

// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0

// Conditions pour ouvrir une position acheteuse
indicator1 = rsi[14](close)
c1 = (indicator1 < 16)

IF c1 AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF

// Conditions pour ouvrir une position en vente à découvert
indicator2 = rsi[14](close)
c2 = (indicator2 > 79)

IF c2 AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF

// Stops et objectifs
SET STOP pLOSS 110
SET TARGET pPROFIT 45
Fichiers joints
Capture.PNG
Capture.PNG (41.41 Kio) Vu 730 fois

Re: Ajouter un SL+1 à mon robot

par Link » 05 sept. 2020 14:59

Je vous partage les positions de mon robot hier sur le Dow (il tourne sur mon compte en démo). il y a 2 positions perdantes qui sont venus toucher mon SL à 130 points. Cependant après analyse ces 2 positions étaient gagnantes au début d'où l'intérêt d'ajouter un SL+1 à mon robot. J'ai lu le pdf de 97 pages sur prt concernant le codage de ProBacktest mais rien sur les changements de stop au cours d'une position. @Darkpoule à un robot SL+1 mais je ne comprends pas bien le codage et je ne vois pas comment intégrer ça à mon robot. Si il y a des codeurs parmi vous ce serait super sympas m'aider à finir ce robot. Bon week end à vous
Fichiers joints
Capture.PNG
Capture.PNG (35.14 Kio) Vu 714 fois

Re: Ajouter un SL+1 à mon robot

par Sgad » 06 sept. 2020 18:18

Salut l'ami,

Je suis peut-être dans l'erreur car pas pris le temps d'y réfléchir plus que ça ni expert, mais j'aurais fait quelque chose de ce genre-là :
Spoiler:
If /* Tes conditions d'achat que je ne connais pas */ Then
Buy 1 Contract AT Market
BreakEven = close
Endif

c1 = close > (BreakEven+1)
If c1 Then
SL1 = BreakEven+1
Endif

If Longonmarket Then
Sell AT SL1 Stop
Endif
Ca répondrait à tes attentes ?

edit : Ou alors, plus simplement, pourquoi ne pas utiliser un trailing stop dont le pas se fige à +1 ou BE ? :|

Re: Ajouter un SL+1 à mon robot

par Link » 07 sept. 2020 16:53

Salut Sgad un grand merci pour ton retour alors j'ai ajouté ton code au mien mais j'ai un message d'erreur tu serais d'où ça pourrait venir ? voici mon code avec le tien ajouté dedans.

Concernant le stop suiveur, je n'ai pas accès à ce stop avec mon compte ig donc je ne pense pas pouvoir l'inclure dans un code.

// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
DEFPARAM FLATBEFORE = 094500
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 210000

// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0

// Conditions pour ouvrir une position acheteuse
indicator1 = rsi[14](close)
c1 = (indicator1 < 17)

IF c1 AND not daysForbiddenEntry THEN

Buy 1 Contract AT Market
BreakEven = close
Endif

c1 = close > (BreakEven+1)
If c1 Then
SL1 = BreakEven+1
Endif

If Longonmarket Then
Sell AT SL1 Stop
Endif

// Conditions pour ouvrir une position en vente à découvert
indicator2 = rsi[14](close)
c2 = (indicator2 > 75)

IF c2 AND not daysForbiddenEntry THEN
sellshort 1 Contract AT Market
BreakEven = close
Endif

c1 = close > (BreakEven+1)
If c1 Then
SL1 = BreakEven+1
Endif

If Longonmarket Then
Sell AT SL1 Stop
Endif


// Stops et objectifs
SET STOP pLOSS 150
SET TARGET pPROFIT 65

Re: Ajouter un SL+1 à mon robot

par Link » 07 sept. 2020 17:30

pour revenir sur le stop suiveur, je ne pense pas pouvoir utiliser un robot qui possède ce stop avec mon compte en réel car je n'ai pas accès à ce stop j'ai uniquement le stop loss garanti. J'ai quand même essayé de remplacer stop loss par stop trailing dans le code et le résultat est un peu surprenant. les gains augmentent et les pertes aussi même si le résultat global est légèrement meilleur cependant je ne comprends pas bien comment les pertes peuvent augmenter en remplaçant un stop loss par un stop suiveur...

l'idée général serait plutot d'ajouter un stop loss +1 après x points gagnés. par exemple parmi les positions perdantes dont je parle plus haut le prix est monté de 20 points avant de venir taper mon stop loss à -130 points. si je pouvais ajouter un code qui change le stop loss en stop loss+1 après x points gagnés se serait l'idéal.

Re: Ajouter un SL+1 à mon robot

par Sgad » 07 sept. 2020 20:47

Salut Link,
Peux-tu me dire le niveau du code concerné par le message d'erreur ?

" je ne comprends pas bien comment les pertes peuvent augmenter en remplaçant un stop loss par un stop suiveur... "
=> Peut-être tout bêtement qu'un stop progressivement plus court avant de devenir BE augmente le nombre de petites pertes lorsque ça redescend avant qu'il ne soit à BE ? ;)
Ce conseil sera peut-être évident, mais rappelle-toi qu'après tes backtests, tu dois ré-étudier chaque trade pour comprendre ce qui s'est passé. On ne peut se permettre d'économiser ce temps de vérification. :top:

Autre solution éventuelle :
Pourquoi ne pas rendre directement la programmation de ton stoploss conditionnelle ? :?:

Re: Ajouter un SL+1 à mon robot

par Alex44 » 08 sept. 2020 10:04

"cependant je ne comprends pas bien comment les pertes peuvent augmenter en remplaçant un stop loss par un stop suiveur..." je te l'ai pourtant expliqué mais tu n'as rien voulu savoir.... ;)

Re: Ajouter un SL+1 à mon robot

par Link » 08 sept. 2020 11:38

Salut Sgad merci de tes retours. oui sans doute c'est l'explication la plus probable j'ai analysé quelques trade mais pas tous il y en avait environ 600 dans mon backtest lol. mais je sais que c'est un travail nécessaire. j'aimerais d'abord finaliser mon petit robot avant de prendre tout ce temps.

Je ne comprends pas bien ce que tu veux dire par la programmation d'un stop loss conditionnel ? Tu veux dire le stop loss s'active a +1 ou BE si le prix augmente de X points par exemple ? je ne sais pas si c'est possible de le coder et ça me semble assez risqué. De plus avec mon compte ig en réel j'ai l'obligation de mettre un stoploss garanti donc le stop doit être paramétré dès l'entrée en position.

En parallèle j'ai envoyé un mail à prt pour savoir s'ils peuvent m'aider à solutionner le codage de stop loss + 1 a mon robot.

Re: Ajouter un SL+1 à mon robot

par Link » 08 sept. 2020 11:48

Salut Alex tu fais référence au fait que si un stop loss +1 s'active le reflux risque de couper ma position avant qu'elle ait atteint le TP ? Je vais bien compris ton explication que je trouve très pertinentes d'ailleurs j'aimerais juste le tester ce stop loss +1 et analyser les trade pour voir si effectivement le reflux coupe mes positions trop souvent.

Le fait de transformer un stop loss en stop suiveur et que cela augmente mes pertes me surprenait un peu plus. Car au maximum le stop suiveur est égal au stop loss soit 110 points alors ça me paraissait étrange que les pertes puisse être supérieures même si comprend mieux maintenant.

Cependant je pense que l'ajout d'un stop loss +1 ne peut pas augmenter mes pertes. Au pire le stop loss +1 ne s'active pas et le prix viens toucher mon stop loss ou la position se cloture par l'ouverture d'une autre. Au mieux le stop loss +1 s'active et ma position sera gagnante. Cela risque en revanche d'affecter mais gains si le reflux viens toucher mon stop loss avant mon TP dans la plupart des positions. le résultat global peut même être négatif j'en suis conscient. A tester donc

Merci de vos retours en tout cas

Re: Ajouter un SL+1 à mon robot

par Alex44 » 08 sept. 2020 12:27

tu as raison de tout tester, mais comme je suis passé par toute sorte d'étapes je voulais t'en éviter quelques unes mais en faite c'est pas bon, il faut tout vérifier soi même et cela permet aussi d'apprendre en même temps.

Re: Ajouter un SL+1 à mon robot

par Link » 08 sept. 2020 12:53

Merci Alex ton ou tes robot tourne en réel depuis longtemps ? Tu traînes également toi-même où tu te spécialisé dans les robots de trading ?

Mon appel est toujours ouvert si l'un ou l'une d'entre vous arrive à ajoutet un SL+1 au code cu dessus ;)

Re: Ajouter un SL+1 à mon robot

par Alex44 » 08 sept. 2020 16:07

tu as mon journal ici, j'ai commencé l'auto en 2016, j'ai développé sous prt/MT4 et sur l'Api IG des robots, je ne sais pas tout loin de là mais j'ai un peu d'expérience ;)

journal-trad-auto-de-alex44-t14572-70.html

Re: Ajouter un SL+1 à mon robot

par Sgad » 08 sept. 2020 16:37

Salut Link,

"Je ne comprends pas bien ce que tu veux dire par la programmation d'un stop loss conditionnel ?"

Quelque chose d'excessivement simple dans ce genre :
Spoiler:
c1 = close > (BreakEven+5)
If Longonmarket Then
If c1 Then
Set Stop pLoss BreakEven
Else
Set Stop pLoss 150
Endif
Endif
ne fonctionnerait pas ?

Tu ne m'as pas dit le niveau de code concerné par le message d'erreur dans la première option proposée au fait. ;)

"j'ai analysé quelques trade mais pas tous il y en avait environ 600 dans mon backtest lol. mais je sais que c'est un travail nécessaire. j'aimerais d'abord finaliser mon petit robot avant de prendre tout ce temps"

J'embraye donc sur un second point et je préfère être très franc (donc un peu dur) mais c'est sincèrement pour ton bien : tu donnes l'impression de ne pas bien savoir ce que tu fais. :?
Tu ne maîtrises pas suffisamment le coding pour faire faire à ton algo ce que tu souhaites, tu demandes donc de l'aide mais comme tu ne maîtrises pas les bases de la programmation, tu as du mal à vérifier par toi-même ce qu'il y aurait à adapter dans ce qu'on te communique.
Je crois que là encore, tu as beaucoup de chemin à parcourir avant de mettre en place quoi que ce soit comme algo. ;) Pour moi, on ne commence à faire du trading algo qu'à partir du moment où :

- on maîtrise parfaitement le langage dans lequel on s'exprime à son algo ;
- on a étudié de manière approfondie les backtests et tentatives en démo dudit algo (ce qui n'est pas le cas ici, car pour toi analyser 600 trades correspond à "prendre tout ce temps" :? ) ;
- on est capable d'identifier rapidement lorsqu'il déraille (et là encore, si tu ne comprends pas à la perfection comment il fonctionne, bien souvent tu n'y parviendras pas).

Donc aucun des trois points n'est accompli ici. Je le répète, c'est vraiment pour t'aider ... :(
Travaille, apprends le coding pendant quelques mois, ça te sera assurément bénéfique.
N'essaye pas d'aller plus vite que la machine et de sauter des étapes essentielles : c'est voué à l'échec.

On ne se jette pas dans le grand bain sans savoir nager (à part lorsqu'on est poussé par certains maîtres-nageurs idiots qui pensent que ce traumatisme aidera, quels crétins :lol: ).

Re: Ajouter un SL+1 à mon robot

par Link » 08 sept. 2020 18:27

-j'irais faire un tour sur ton journal alors Alex merci ;)

-Salut Sgad, J'avais un message d'erreur de syntaxe mais lorsque je test à nouveau le code en page 1 il fonctionne :? . Cependant il y a plusieurs positions que je comprends pas (cf image). Mon robot ouvre une position à l'achat alors que le rsi est à 22 et non a 17 et clôture la position 1 points plus bas. Je pense que je veux aller trop vite en effet j'ai eu une petite idée de robot et je voulais l'essayer mais je ne sais pas coder du tout alors je demande de l'aide sur le forum. La première version est simple à comprendre mais l'ajout d'un stop loss +1 ajoute des lignes et là je suis un peu perdu... Comme je ne comprends pas le code je ne peux donc pas bien analyser les trades et réellement comprendre ce qui se passe. Je me disperse tu as entièrement raison je voulais essayer un robot en démo plusieurs mois et pourquoi pas le faire tourner en réel mais j'ai beaucoup de travail. Je vais essayer de trouver des cours de base sur le codage se sera bénéfique c'est sur. Je découvre le trading et son monde il y a énormément de chose et je me disperse un peu je dois bien l'avouer...

Merci en tout cas de vos réponses je vais commencer par le début, c'est à dire travailler, essayer de coder moi même, analyser les chose et seulement après je demanderai de l'aide si besoin :)
Fichiers joints
Capture.PNG
Capture.PNG (4.04 Kio) Vu 252 fois

Re: Ajouter un SL+1 à mon robot

par Sgad » 08 sept. 2020 18:59

Bravo pour ce nouvel état d'esprit qui me semble déjà plus à même de t'apporter une progression (car c'est surtout ça qu'il faut viser) ! :top:

"Mon robot ouvre une position à l'achat alors que le rsi est à 22 et non a 17"

Dans ton code, tu donnes une condition d'entrée à ton algo, tu lui demandes en fait quelque chose de ce genre :
"Si tu vois une Bougie qui clôture avec un RSI14 inférieur à 17, tu entres direct en position sur la suivante ! Tu cherches pas plus loin ok ?" L'algo, lui, il est très discipliné. Il suit sans réfléchir, il veut pas te fâcher. :lol:
Sur le graphique que tu montres (d'après la petite portion visible), la Bougie précédant celle d'entrée en position avait bien un RSI14 inférieur à 17 à sa clôture. Donc à la suivante, l'algo s'est dit "Ouh punez, je rentre sinon Link va m'en mettre une ! :? "

Au passage, quelle était l'unité de temps ?
Si elle était particulièrement courte, se pourrait-il sinon qu'il y ait eu une forte volatilité au moment de l'entrée en position avec une passage éclair de 17 à 22 ?

"et clôture la position 1 points plus bas"

D'après ce que je vois à nouveau (mais c'est assez tassé sur ton screenshot donc pas facile :lol: ), le trade a été coupé à +1 par rapport au close de la Bougie précédente. Ca n'est pas ce que tu voulais ?
J'y repensais : quand on trade manuellement, on ne peut placer son SLG à BE qu'à partir de +5 il me semble.
Tu peux peut-être simplement modifier la ligne "c1 = close > (BreakEven+1)" par "c1 = close > (BreakEven+5)" et voir si ça répond mieux à tes attentes. ;)

Sinon, n'hésite pas à faire un retour sur la seconde solution proposée. Je te souhaite de trouver ce que tu recherches !

Re: Ajouter un SL+1 à mon robot

par Link » 13 sept. 2020 16:53

Salut Sgad dsl de mon retour tardif je me suis un peu déconnecté cette semaine. Sur mes test je suis en 1 minutes sur le Dax et le CAC et 5 minutes sur le Dow.

J'ai essayé de remplacer le c1 = close > (BreakEven+1)" par "c1 = close > (BreakEven+5) et les résultats se dégrade. Vendredi mon robot à pris une position sur le Dax que je n'arrive toujours pas à bien comprendre (cf image). Position à l'achat à 13 139.9 car rsi<16 donc ok. Une modification intervient à 13 135.3 (surement le stop qui se décale mais il se décale à 4.6 points en dessous alors que j'aimerais plutôt qu'il vienne au dessus du prix) et se cloture à 13 134.4 soit un point sous le stop (slippage?).

Merci en tout cas de tes réponses il y a des aides de codages sur prt je vais étudier tout ca pour bien comprendre ce qui se passe. Je vais prendre le temps et ne pas me précipiter en attendant je laisse tourner mes robots et étudie leur prise de postions au fur et à mesure.
Fichiers joints
Capture1.PNG
Capture1.PNG (10.95 Kio) Vu 245 fois

Re: Ajouter un SL+1 à mon robot

par Link » 13 sept. 2020 16:54

voici d'ailleurs les résultats de mes robots (CAC, Dax et Dow) sur mon compte en démo depuis le 10 aout. les résultats sur plutôt similaires aux backtest, un taux de réussite de 70% pour un ratio de 1.36 environ (mon robot est pour le moment meilleur que moi lol). Il y a les 2 pertes de 130 euros sur le Dow qui viennent ternir le tableau en revanche
Fichiers joints
Capture.PNG
Capture.PNG (38.83 Kio) Vu 245 fois

Re: Ajouter un SL+1 à mon robot

par dav » 13 sept. 2020 21:32

Le probleme de ce robot, c'est le ratio.
A mon avis, il faut couvrir au minimum 2 fois ses pertes.

Re: Ajouter un SL+1 à mon robot

par Link » 14 sept. 2020 16:15

Ouo je suis d'accord avec toi le ratio n'est pas très bon... c'est un premier robot avec le temps et du travail ils seront meilleurs ;)

Re: Ajouter un SL+1 à mon robot

par Alex44 » 16 sept. 2020 09:32

c'est plutôt encourageant :top: , par contre la perte de 200€ cela fait beaucoup, si tu es dans une mauvaise série, cela peut faire mal. Admettons que tu aies un capital de 2000€ cela te fait déjà 10% d'un coup, c'est trop. C'est limite acceptable avec un capital de 10000€.

Sujets similaires
Comment ajouter des fichiers dans les messages
Fichier(s) joint(s) par ChristelleP » 14 févr. 2015 15:39 (131 Réponses)
libre office calcul ajouter condition à une heure
par dede6363 » 19 sept. 2015 18:10 (8 Réponses)
Ajouter Previous Day/Week High/Low dans PRT
Fichier(s) joint(s) par traderjps » 24 oct. 2017 15:16 (11 Réponses)
ajouter des indicateurs
Fichier(s) joint(s) par jmd24 » 10 févr. 2018 16:16 (11 Réponses)
Ajouter un bouton recherche
Fichier(s) joint(s) par Amarantine » 08 mai 2018 23:45 (4 Réponses)
Ajouter une description sous l'avatar ou signature
Fichier(s) joint(s) par BearIsDead » 25 juil. 2018 11:13 (11 Réponses)
Ajouter une stratégie sur fxcm en backtest
par Akainu » 26 févr. 2020 12:03 (0 Réponses)
Ajouter un "J'aime" aux messages postés
par ChristelleP » 10 avr. 2020 15:50 (20 Réponses)
usa , manifestation, crise sociale vient s'ajouter
par masta » 14 juin 2020 17:28 (8 Réponses)