Bonjour à tous.
Cela fait plus d’une semaine que j’essaye de coder mon robot avec pro builder mais rien ne fonction.
Serait il possible d’avoir votre aide?
Vous trouverez ci-joint les indications:
Exemple achat
1. supérieur à mon niveau stoch 50
2. rsi doit obligatoirement croisé à la baisse mon niveau 30 (respiration)
3. doit casser ma moyenne mobile et cloturer au dessus
4.SL niveau plat de mon canal donchian.
5.Tp (ratio 1)
Merci pour votre aide !!
Les points 1,2 et 3 doivent ils avoir lieu au même moment (même bougie) ?
Tout d’abord, je tiens à vous remercier pour votre retour Monsieur Nicolas.
Achat :
Le point 1 non. Lorsque le prix (pullback) casse la moyenne mobile par le bas (dans le cas d’un achat) et que le rsi a cassé le niveau 30 par le bas. Il s’agit de la pré-validation de mon trade.
Cependant, lorsque mon prix recasse ma moyenne mobile et clôture au dessus, le stochastique doit être en même temps au dessus de mon niveau 50 (dans le cas d’un achat)
SL : dernier plat du bas du canal donchian
TP : ratio 1
Vente :
Lorsque le prix (pullback) casse la moyenne mobile par le haut (dans le cas d’une vente) et que le rsi a cassé le niveau 70 par le haut. Il s’agit de la pré-validation de mon trade.
Cependant, lorsque mon prix recasse ma moyenne mobile et clôture en dessous, le stochastique doit être en même temps en dessous de mon niveau 50 (dans le cas d’une vente)
SL : dernier plat du haut du canal donchian
TP : ratio 1
Vous trouverez ci-joint le screenshot répondant à votre question.
Merci encore pour votre aide Monsieur Nicolas.
Cdt,
Donc il faut que le RSI passe sous le niveau 30 après qu’une bougie ai cassé (ouverte dessus, clôturé dessous) la moyenne mobile ?
dans l’exemple d’un achat.
1.Le prix cloture en dessous de la moyenne mobile qui a été cassé.
2. le marché effectue son Pullback.
3 lors de la période du pullback le rsi doit cassé obligatoirement le rsi niveau 30 avant de recassé la moyenne mobile vers le haut et cloturer au dessus.
4.Stochastique doit être obligatoirement être au dessus du niveau 50 lorsque lorsque le prix recasse la moyenne mobile et que celui ci cloture au dessus de celle ci.
5.Si toutes les conditions sont validés alors le trade est validé.
Vous trouvez ci-joint un autre screenshot.
Merci encore Monsieur pour votre aide!
J’ai bien compris la stratégie, je pose des questions pour constituer un raisonnement logique des conditions à coder 🙂
Ci-joint le code de la stratégie respiration RSI
defparam cumulateorders=false
irsi = rsi[14]
ima = average[20]
isto = Stochastic[14,3](close)
idonchiandn = DonchianChannelDown[20]
if close crosses under ima then
startbar=barindex
endif
if close crosses over ima and isto>50 and startbar>0 then
rsic = summation[max(1,barindex-startbar)](irsi crosses over 30)>0
if rsic then
buy 1 contract at market
startbar=0 //reset
set stop loss close-idonchiandn
set target profit close-idonchiandn
endif
endif
Merci beaucoup pour votre retour!!
Cependant j’ai un petit problème.
Ils me mettent erreur sur la ligne stochastique lorsque je souhaite la paramétrer : 128,8,1.
Pouvez-vous s’il vous plait m’aider sur ce point?
Merci encore pour votre aide Monsieur Nicolas.
Cdt
Il faut mettre uniquement 128,8
Il y a 2 lignes dans une stochastique et celle utilisée n’est pas la ligne de signal. Ceci étant cela n’a aucune importance puisque tu la paramètres à 1 et un lissage d’1 période revient à utiliser la ligne normale de la stochastique.
Merci beaucoup et 2 dernières petites questions et je ne vous embête plus!
Je vous remercie vraiment pour votre aide.
1ère question:
Je souhaiterais mettre un filtre.
1.Le robot ouvre position à l achat seulement si le prix est au dessus du point pivot journalier et de la moyenne mobile simple 100.
2.Le robot ouvre position à la vente seulement si le prix est en dessous du point pivot journalier et de la moyenne mobile simple 100.
2ème question;
J’ai effectué le code cette fois pour que le robot vende cependant il n’ouvre aucune position.
voici le code :
defparam cumulateorders=false
irsi = rsi[14]
ima = average[20]
isto = Stochastic[128,8](close)
idonchianup = DonchianChannelup[20]
if close crosses over ima then
startbar=barindex
endif
if close crosses under ima and isto<50 and startbar<0 then
rsic = summation[max(1,barindex-startbar)](irsi crosses under 70)<0
if rsic then
sellshort 1 contract at market
startbar=0 //reset
set stop loss close-idonchianup
set target profit close-idonchianup
endif
endif
Merci encore pour votre aide Monsieur Nicolas!
Bonsoir, code ci-dessus reformaté via edit, si le bouton “insert PRT code” n’apparait pas, merci de faire CTRL+F5 pour le faire réapparaitre avant de taper un message et pouvoir l’utiliser, cf: https://www.youtube.com/watch?v=jBuqwWPW3H4
Pour entrer à la vente, il y a des choses à inverser certes, mais pas forcément tout… par exemple, pourquoi avoir fait startbar<0 alors que c’est le barindex du moment où on traverse ima, ce barindex reste un nombre positif quel que soit le sens de traversée, donc garder startbar>0. De même rsic est le test d’une somme sur un nombre de chandeliers du nombre de fois qu’un événement se produit, il faut y garder un “>0” même si c’est pour un cross under 70 au lieu d’un cross over 30.
On peut vérifier que stop et target sont là où on les veut ou pas grâce à la commande graphonprice: https://www.prorealcode.com/documentation/graphonprice/
Pour le filtre à rajouter, par exemple en revenant sur le code pour l’achat:
defparam cumulateorders=false
irsi = rsi[14]
ima = average[20]
isto = Stochastic[14,3](close)
idonchiandn = DonchianChannelDown[20]
filtre = close>(Dhigh(1)+Dlow(1)+Dclose(1))/3 and close>average[100](close)
if close crosses under ima then
startbar=barindex
endif
if close crosses over ima and isto>50 and startbar>0 and filtre then
rsic = summation[max(1,barindex-startbar)](irsi crosses over 30)>0
if rsic then
buy 1 contract at market
startbar=0 //reset
set stop loss close-idonchiandn
set target profit close-idonchiandn
endif
endif