Bonjour,
Je tiens tout d’abords à m’excuser pour occuper les 3 derniers posts du forum ProOrder (avec un beau ratio de presque un post/jour) mais il me reste une dernière difficulté résoudre avant de boucler ma stratégie.
Ma question se porte sur les Points Pivots, tout d’abords sauf erreur de ma part c’est un indicateur qui n’est pas proposé dans la rubrique “insérer une fonction”, j’ai donc repris la formule qu’utilise IG (ou PRT?) à savoir:
Ht = DHigh(1)
Bs = DLow(1)
C = DClose(1)
Pivot = (Ht + Bs + C) / 3
Res3 = Ht + 2*(Pivot-Bs)
Res2 = Pivot + Ht - Bs
Res1 = (2 * Pivot) - Bs
Sup1 = (2 * Pivot) - Ht
Sup2 = Pivot - (Ht - Bs)
Sup3 = Bs - 2*(Ht - Pivot)
J’aimerai maintenant clôturer une position acheteuse si le high est > à Res3 ou clôturer une positon vendeuse si le low est < au Sup 3:
If high > res3 then
Y=1
else
Y=0
endif
If Low < res3 then
Z=-1
else
Z=0
endif
//cloture vente
If Z=-1 then
Exitshort at market
endif
//cloture achat
If Y=1 then
sell at market
La bonne nouvelle c’est que la seule fois ou le prix est passé au dessus de la R3 le trade en cours s’est clôturé au bon moment (voir 1ere image). Par contre le soucis c’est que les signaux Z et Y s’activent sans raison à de multiples reprises et donc clôturent les trades en cours (voir 2nd image). Pire, à certains moment Y=1 et Z=-1 au même moment…
Je suis un peu perdu
Tu utilises 2 fois RES3 alors que je pense que tu voulais aussi utiliser SUP3 non ? Dans ce cas, tu clôtures des ordres sur une mauvaise condition.
Oui effectivement j’ai mal recopier mon code d’origine qui ne comportait pas cette erreur ahah!
Cependant j’ai toujours le même problème, j’ai changé un peu le code pour avoir plus d’exemple:
Je souhaite avoir une position acheteuse/vendeuse si ma condition est respectée et si le prix n’est pas inférieur à mon Sup2 et si le prix n’est pas supérieur à mon Res2.
Je souhaite également que l’ordre se clôture si le prix passe en dessous de mon Sup2 ou au dessus de ma Res2
Le code:
If high > res2 then
Y=1
else
Y=0
endif
If Low < Sup2 then
Z=-1
else
Z=0
endif
if resultvente=1 and Z=0 and Y=0 and not onmarket then
sellshort 1 shares at market
endif
//cloture vente
If Z=-1 or Y=1 then
Exitshort at market
if resultachat=1 and Y=0 and Z=0 and not onmarket then
buy 1 shares at market
endif
//cloture achat
If Y=1 or Z=-1 then
sell at market
Cependant comme je l’ai dit je rencontre les mêmes problèmes à savoir la bonne réaction quand le prix>res2 (photo 1) mais aussi pleins de mauvais exemples où les clôtures sont faites sans raison (photo 2)…
Une capture d’écran du code en sur la dernière image si besoin
ça n’est pas sans raison, c’est ton code qui a cet effet. Toujours GRAPH ses variables pour trouver ses erreurs:
GRAPH Y coloured("orange")
GRAPH Z coloured("green")