4801Participant
Junior
Bonsoir à tous,
Je plante sur le code suivant que j’ espère bien décrire ci après:
Si la clôture est au dessus de la moitié du range de la dernière bar, ouverture d’ un trade long. Puis 3 cas possibles:
1/ clôture si gain = la moitié du range de la bar d’ ouverture du trade 2/ clôture avec 1 STOP si perte de la moitié du range de la bar d’ ouverture du trade
3/ Et enfin si pas de clôture durant la bar d’ ouverture du trade l’ on vend à l’ ouverture de la bar suivante.
DEFPARAM CUMULATEORDERS = false
// La cloture se situe au dessus du milieu du range de la bar:
IF CLOSE > (HIGH + LOW )/2 THEN
BUY 2 CONTRACT AT MARKET
// puis l’on vend 1 lot avec 1 gain égal à la moitié du range de la bar
// d’ entrée en position:
SELL 1 CONTRACT AT TRADEPRICE + (HIGH – LOW)/2 LIMIT
// Si le prix va en sens contraire du trade,l’ on stop la position
// avec 1 perte = à la moitié du range de la bar d’ entrée en position:
SELL AT TRADEPRICE – (HIGH – LOW)/2 STOP
//Et si à la clôture on est toujours en position alors on vend à
//l’ ouverture de la bar suivante.
ELSIF LONGONMARKET THEN
SELL AT MARKET NextBarOpen
ENDIF
Le graph montre que mon code est nul.
Le problème est que tout est dans le même condition (IF CLOSE > (HIGH + LOW )/2 THEN).
DEFPARAM CumulateOrders = False
rangeTarget = 0
IF Close > (High + Low) / 2 THEN
BUY 2 CONTRACTS AT MARKET
rangeTarget = Range / 2
SET TARGET PROFIT rangeTarget
SET STOP LOSS rangeTarget
ENDIF
IF LongOnMarket and LongOnMarket[1]=0 THEN
SELL AT MARKET
ENDIF
4801Participant
Junior
Merci Roberto pour votre aide, cependant le code transmis ne donne pas exactement ce que je souhaite :
La condition d’ ouverture étant réalisée ( la clôture se situe au dessus du milieu du range de la bar ), on achète 2 contrats à l’ open de la bar suivante.
Ensuite : 1/ le prix touche le STOP on clôture les 2 contrats ( la perte est égale à (HIGH – LOW )/2 pour chaque lot , soit pour les 2 contrats une perte égale au range)
2/ Le prix ne touche pas le STOP alors on vend 1 seul contrat avec 1 profit égal à (HIGH – LOW ) / 2 soit un profit de la moitié du range
3/ Si à la clôture de la bar d’ entrée en position on est toujours long de 1 ou 2 contrats ( nous n’ avons donc pas touché le STOP ) on clôture toute la position .
J’espère avoir correctement expliqué mon projet de code et vous remercie pour l’ aide .
4801Participant
Junior
Bonjour ,
Désolé Yvan, je me suis trompé en remerciant Roberto Gozzi . Je renouvelle donc ma reponse, car le code que vous avez proposé me pose problème:
Le code transmis ne donne pas exactement ce que je souhaite :
La condition d’ ouverture étant réalisée ( la clôture se situe au dessus du milieu du range de la bar ), on achète 2 contrats à l’ open de la bar suivante.
Ensuite : 1/ Si le prix touche le STOP on clôture les 2 contrats ( la perte est égale à (HIGH – LOW )/2 pour chaque lot , soit pour les 2 contrats une perte égale au range)
2/ Le prix ne touche pas le STOP alors on vend 1 seul contrat avec 1 profit égal à (HIGH – LOW ) / 2 soit un profit de la moitié du range
3/ Si à la clôture de la bar d’ entrée en position on est toujours long de 1 ou 2 contrats ( nous n’ avons donc pas touché le STOP ) on clôture toute la position .
J’espère avoir correctement expliqué mon projet de code et vous remercie pour l’ aide .
Si tu veux des sorties partiels, tu ne peux le faire qu’une fois que le trade est en place => bougie n-1 (signal), bougie n (le trade est en place à open) => seul de set target/stop permet de vendre à la même bougie que celle de l’entrée et ça ne peut être un ordre partiel…
4801Participant
Junior
Bonlour,
Merci beaucoup et bon week end à tous.