Forum sur les méthodes de trading : règles d'entrée et de sortie, gestion du risque, money management et résultats sur la durée, testés par les membres.
Maintenant si vous êtes sûr de vouloir "améliorer votre PRU" comme le disent ceux qui moyennent sans le dire, avec une philosophie "DINO" façon xxxx, vous pouvez envisager des recharges échelonnées par unité d'ATR. Cela donne une belle courbe arc en ciel dans laquelle les recharges peuvent être cumulées au fur et à mesure de chaque retracement, sans dépasser le dernier trait, celui qui fait mal, celui du krach de 2008.
Voici un indicateur possible à superposer à votre courbe de prix sur PRT.
Spoiler:
Code : #
// Sous jacent : NDX
// période : Hebdo
coeff = 1 // coefficient multiplicateur de l'ATR, modifiable dans le code ou à commenter pour créer une variable bidouillable directement
plushaut = Highest[14](high) // sommet à 14 semaines
MyATR = averagetruerange[14] * coeff // ATR à 14 semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
//rouge, orange6, jaune5, vert4, bleu3, indigo et violet (de l'extérieur vers l'intérieur
return recharge1 COLOURED(238,130,238) as "recharge1" , recharge2 COLOURED(75, 0,130) as "recharge2", recharge3 COLOURED(0, 0, 255) as "recharge3", recharge4 COLOURED(0, 255, 0) as "recharge4" , recharge5 COLOURED(255, 255, 0) as "recharge5" , recharge6 COLOURED(255, 165, 0) as "recharge6" ,monstop COLOURED(255, 0, 0) as "monstop" // Mise en forme conseillée : POINTS
Accessoirement ça peut vous faire un beau papier peint de bureau windows :
NDX-Weekly.png (60.32 Kio) Vu 2110 fois
Notez que vous pouvez personnaliser en utilisant créant une variable "coeff" pour multiplier l'ATR par le coefficient de votre choix pour espacer / rapprocher les lignes.
Version avec les petite flèches qui vont bien. Encore une fois, quand ça monte, tout le monde est un géni !
Spoiler:
Même moi
Code : #
// Sous jacent : NDX
// période : Hebdo
//coeff = 1 // coefficient multiplicateur de l'ATR, modifiable dans le code ou à commenter pour créer une variable bidouillable directement
ONCE prixdavant1=0
ONCE prixdavant2=0
ONCE prixdavant3=0
ONCE prixdavant4=0
ONCE prixdavant5=0
ONCE prixdavant6=0
plushaut = Highest[26](high) // sommet à 14 semaines
MyATR = averagetruerange[26] * coeff // ATR à 14 semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (238,130,238)
prixdavant1 = close
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (75, 0,130)
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (0, 0, 255)
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (0,255,0)
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (255, 255, 0)
prixdavant5 = close
endif
c1=close CROSSES UNDER recharge6
C2=close>prixdavant6
if c1 and c2 then
DRAWARROWUP (barindex,close) COLOURED (255, 165, 0)
prixdavant6 = close
endif
c1=close CROSSES UNDER monstop
if c1 then
DRAWARROWDOWN (barindex,close) COLOURED (255, 0,0)
endif
return recharge1 COLOURED(238,130,238) as "recharge1", recharge2 COLOURED(75, 0,130) as "recharge2", recharge3 COLOURED(0, 0, 255) as "recharge3", recharge4 COLOURED(0, 255, 0) as "recharge4" , recharge5 COLOURED(255, 255, 0) as "recharge5" , recharge6 COLOURED(255, 165, 0) as "recharge6" ,monstop COLOURED(255, 0, 0) as "monstop"
// Sous jacent : NDX
// période : Hebdo
coeff = 1 // coefficient multiplicateur de l'ATR, modifiable dans le code ou à commenter pour créer une variable bidouillable directement
ONCE prixdavant1=0
ONCE prixdavant2=0
ONCE prixdavant3=0
ONCE prixdavant4=0
ONCE prixdavant5=0
ONCE prixdavant6=0
plushaut = Highest[26](high) // sommet à X semaines
MyATR = averagetruerange[26] * coeff // ATR à X semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 then
prixdavant1 = close
BUY 1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 then
BUY 2 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 then
BUY 3 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 then
BUY 4 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 then
BUY 5 CONTRACT AT MARKET
prixdavant5 = close
endif
c1=close CROSSES UNDER recharge6
C2=close>prixdavant6
if c1 and c2 then
BUY 6 CONTRACT AT MARKET
prixdavant6 = close
endif
SET STOP LOSS monstop
Oui toutes sont dans le même sens. Alors ce n'est qu'un seul trade.
Je ne comprends pas pourquoi il ne prend pas position plus tôt. En fait c'est peut-être qu'il remonte avant dans l'historique, pour être plus haut que la dernière entrée. Il faut que je rajoute une condition pour qu'il commence à compter en 2009.
En revanche je ne comprends pas non plus pourquoi il sort le 26 août... Toujours des doutes sur ce que le programme prend en compte. Mais visuellement pas de doute, ça gagne d'acheter un marché haussier, ce qui est une lapalissade
J'ai une difficulté pour gérer le nombre de lot : je voulais prendre un levier constant à chaque recharge, mais ça plante tout de suite.
Ce sont les 4 premières lignes du code commentées, si elles remplacent la ligne "lo1=1", je me retrouve en appel de marge immédiat même en prenant un énorme capital de départ et un levier microscopique.
Spoiler:
Code : #
//capitalinitial = 10000 // votre capital de départ pour gérer le nombre de lot
//marge=capitalinitial+strategyprofit // le montant utilisable
//leviermax = 0.1 // levier utilisable dans le cas d'une recharge de niveau 6
//lot1 = leviermax*marge / 6*close
lot1=1
coeff = 1 // coefficient multiplicateur de l'ATR, modifiable dans le code ou à commenter pour créer une variable bidouillable directement
ONCE prixdavant1=0
ONCE prixdavant2=0
ONCE prixdavant3=0
ONCE prixdavant4=0
ONCE prixdavant5=0
ONCE prixdavant6=0
plushaut = Highest[26](high) // sommet à X semaines
MyATR = averagetruerange[26] * coeff // ATR à X semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 then
BUY 3*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 then
BUY 5*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
c1=close CROSSES UNDER recharge6
C2=close>prixdavant6
if c1 and c2 then
BUY 6*lot1 CONTRACT AT MARKET
prixdavant6 = close
endif
SET STOP LOSS monstop
C'est bien ça, j'ai multiplié la perf par 4 et prix une position de 100% avec une condition c3 = date<2009/01/01
reste à corriger les premières lignes ! Je pense avoir mal compris la variable strategyprofit.
Spoiler:
Code : #
capitalinitial = 10000 // votre capital de départ pour gérer le nombre de lot
marge=capitalinitial+strategyprofit // le montant utilisable
leviermax = 0.1 // levier utilisable dans le cas d'une recharge de niveau 6
lot1 = leviermax*marge / 6*close
lot1=1
coeff = 1 // coefficient multiplicateur de l'ATR, modifiable dans le code ou à commenter pour créer une variable bidouillable directement
ONCE prixdavant1=0
ONCE prixdavant2=0
ONCE prixdavant3=0
ONCE prixdavant4=0
ONCE prixdavant5=0
ONCE prixdavant6=0
plushaut = Highest[26](high) // sommet à X semaines
MyATR = averagetruerange[26] * coeff // ATR à X semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente à partir de 2009
C3= date > 20090101
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 and c3 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 and c3 then
BUY 3*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 and c3 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 and c3 then
BUY 5*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
c1=close CROSSES UNDER recharge6
C2=close>prixdavant6
if c1 and c2 and c3 then
BUY 6*lot1 CONTRACT AT MARKET
prixdavant6 = close
endif
SET STOP LOSS monstop
Ca y est : 34 millions d'euros à partir de 20 K en un peu moins de 10 ans: c'est bon de rêver. Max drow down de 37% quand même.
Aucune optimisation auto, seulement des essais erreurs manuels pour pas être hors jeu sur la marge. Ca doit être plafonnable d'ailleurs, parce que souvent le problème était que le code prenait plus de contrats que ce qu'aurait toléré le broker.
Spoiler:
Code : #
capital = 20000 // votre capital de départ pour gérer le nombre de lot
levier = 0.1 // levier utilisable dans le cas d'une recharge de niveau 1
gain=POSITIONPRICE*countofposition
lot1 = round((capital+gain) * levier / close)
coeff = 1.1 //
ONCE prixdavant1=0
ONCE prixdavant2=0
ONCE prixdavant3=0
ONCE prixdavant4=0
ONCE prixdavant5=0
ONCE prixdavant6=0
plushaut = Highest[26](high) // sommet à X semaines
MyATR = averagetruerange[26] * coeff // ATR à X semaines
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
recharge6 = recharge5-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente à partir de 2009
C3= date > 20090101
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 and c3 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 and c3 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 and c3 then
BUY 3*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 and c3 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 and c3 then
BUY 5*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
c1=close CROSSES UNDER recharge6
C2=close>prixdavant6
if c1 and c2 and c3 then
BUY 6*lot1 CONTRACT AT MARKET
prixdavant6 = close
endif
SET STOP LOSS monstop
Avec tout de même quelques réserves :
1/ Pas sûr de vendre au plus haut, où nous sommes peut-être aujourd'hui, bien que rien ne le laisse présager
2/ Pas sûr de connaître une hausse de 10 ans ininterrompue à compter d'aujourd'hui : même les plus optimistes trouveraient ça peu réaliste
3/ Pas sûr d'absorber sans broncher un DD de 34 % représentant 8 M d'euros
4/ Certain que les 20 K de départ ne permettront pas d'absorber les frais de financement sur un nombre gigantesque de contrat
Donc il faut des prises de bénéfice partielles, ce que je vais travailler derechef. Je pense ainsi limiter le DD et payer les frais de financement. Quant à la hausse, ça tout ce que je peux faire c'est aller chez le coiffeur pour savoir quand vendre.
Voici déjà l'indicateur, plus qu'à en faire une stratégie.
Spoiler:
Code : #
//capital = 20000 // votre capital de départ pour gérer le nombre de lot
//levier = 0.1 // levier utilisable dans le cas d'une recharge de niveau 1
//gain=POSITIONPRICE*countofposition
//lot1 = round((capital+gain) * levier / close)
coeff = 1.1 //
plushaut = Highest[13](high) // sommet à X semaines
plusbas = lowest [13](low)
MyATR = averagetruerange[13] * coeff // ATR à X semaines
decharge = plusbas+(5*MyATR)
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente à partir de juin 2009
C3= date > 20090601
c1=close CROSSES OVER decharge
C2=1//longonmarket
c4=close> prixdavant0
if c1 and c2 and c3 and c4 then
prixdavant0 = close
//solde = round(countoflongshares / 4)
DRAWARROWDOWN(barindex,close) COLOURED (238,130,238)
endif
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 and c3 then
prixdavant1 = close
DRAWARROWUP (barindex,close) COLOURED (75, 0,130)
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 and c3 then
DRAWARROWUP (barindex,close) COLOURED (0, 0, 255)
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 and c3 then
DRAWARROWUP (barindex,close) COLOURED (0,255,0)
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 and c3 then
DRAWARROWUP (barindex,close) COLOURED (255, 255, 0)
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 and c3 then
DRAWARROWUP (barindex,close) COLOURED (255, 165, 0)
prixdavant5 = close
endif
c1=close CROSSES UNDER monstop
if c1 then
DRAWARROWDOWN (barindex,close) COLOURED (255, 0,0)
endif
return decharge COLOURED(238,130,238) as "decharge", recharge1 COLOURED(75, 0,130) as "recharge1", recharge2 COLOURED(0, 0, 255) as "recharge2", recharge3 COLOURED(0, 255, 0) as "recharge3" , recharge4 COLOURED(255, 255, 0) as "recharge4" , recharge5 COLOURED(255, 165, 0) as "recharge5" ,monstop COLOURED(255, 0, 0) as "monstop"
Et voici la stratégie : de 20K à 350K avec un DD max inférieur à 10%.
Par contre il ne faut pas réver trop vite : c'est à la limite de la sur optimisation, même si ça reste du manuel.
Spoiler:
Code : #
capital = 20000 // votre capital de départ pour gérer le nombre de lot
levier = 0.1 // levier utilisable dans le cas d'une recharge de niveau 1
gain=POSITIONPRICE*countofposition
lot1 = round((capital+gain) * levier / close)
coeff = 1//
plushaut = Highest[13](high) // sommet à X semaines
plusbas = lowest [13](low)
MyATR = averagetruerange[13] * coeff // ATR à X semaines
decharge = plusbas+(5*MyATR)
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente à partir de juin 2009
C3= date > 20090601
c1=close CROSSES OVER decharge
C2=longonmarket
c4=close> prixdavant0
if c1 and c2 and c3 and c4 then
prixdavant0 = close
solde = round(countoflongshares /3)
sell solde CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 and c3 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 and c3 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 and c3 then
BUY 3*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 and c3 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 and c3 then
BUY 5*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
SET STOP LOSS monstop
Là c'est ultra sur optimisé je pense : presque 3000 % de gain (sur 10 ans : en fait ce n'est "que" du 40% annuel) avec un max DD de 10%.
J'arrête parce que ça ne voudra plus rien dire à force
Spoiler:
Code : #
capital = 20000 // votre capital de départ pour gérer le nombre de lot
levier = 0.1 // levier utilisable dans le cas d'une recharge de niveau 1
gain=POSITIONPRICE*countofposition
lot1 = round((capital+gain) * levier / close)
coeff = 1//
plushaut = Highest[13](high) // sommet à X semaines
plusbas = lowest [13](low)
MyATR = averagetruerange[13] * coeff // ATR à X semaines
decharge = plusbas+(5*MyATR)
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si elles sont plus haute que la fois précédente à partir de juin 2009
C3= date > 20090601
c1=close CROSSES OVER decharge
C2=longonmarket
c4=close> prixdavant0
if c1 and c2 and c3 and c4 then
prixdavant0 = close
solde = round(countoflongshares /3)
sell solde CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge1
C2=close>prixdavant1
if c1 and c2 and c3 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>prixdavant2
if c1 and c2 and c3 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>prixdavant3
if c1 and c2 and c3 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>prixdavant4
if c1 and c2 and c3 then
BUY 8*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>prixdavant5
if c1 and c2 and c3 then
BUY 16*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
SET STOP LOSS monstop
Ne jamais dire "fontaine je ne boirai pas de ton eau".
C'est la faute à papa xxxx, avec ses backtests à la limite du blasphématoire !
Allez, concours de backtests, celui qui trouvera la plus belle equity sur 10 ans gagnera... toute ma considération !
Capture.JPG (139.39 Kio) Vu 1907 fois
Spoiler:
Code : #
capital = 10000 // votre capital de départ pour gérer le nombre de lot
levier = 0.11 // levier utilisable dans le cas d'une recharge de niveau 1
latent=POSITIONPRICE*countofposition
Kash =capital+gains
compte=Kash+latent
lot1 = round((compte) * levier / close)
plushaut = Highest[26](high) // sommet à X semaines
plusbas = lowest [26](low)
MyATR = 1.1*averagetruerange[13] // ATR à X semaines
decharge = plusbas+(5*MyATR)
recharge1 = plushaut-MyATR
recharge2 = recharge1-MyATR
recharge3 = recharge2-MyATR
recharge4 = recharge3-MyATR
recharge5 = recharge4-MyATR
monstop = recharge5-MyATR
// acheter chaque recharge si et seulement si un nouveau plus haut d'au moins X % a été atteintet à partir de juin 2009
coeff= 1
C3= date > 20090601
c1=close CROSSES OVER decharge
C2=longonmarket
c4=close> coeff*prixdavant0
if c1 and c2 and c3 and c4 then
prixdavant0 = close
cloture = round(countoflongshares/2)
benef=cloture*prixdavant0
gains=gains+benef
sell cloture CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge1
C2=close>coeff*prixdavant1
if c1 and c2 and c3 then
prixdavant1 = close
BUY lot1 CONTRACT AT MARKET
endif
c1=close CROSSES UNDER recharge2
C2=close>coeff*prixdavant2
if c1 and c2 and c3 then
BUY 2*lot1 CONTRACT AT MARKET
prixdavant2 = close
endif
c1=close CROSSES UNDER recharge3
C2=close>coeff*prixdavant3
if c1 and c2 and c3 then
BUY 4*lot1 CONTRACT AT MARKET
prixdavant3 = close
endif
c1=close CROSSES UNDER recharge4
C2=close>coeff*prixdavant4
if c1 and c2 and c3 then
BUY 8*lot1 CONTRACT AT MARKET
prixdavant4 = close
endif
c1=close CROSSES UNDER recharge5
C2=close>coeff*prixdavant5
if c1 and c2 and c3 then
BUY 16*lot1 CONTRACT AT MARKET
prixdavant5 = close
endif
SET STOP LOSS monstop
graph Kash coloured (255,0,0) as "kash"
Il n'y a guère que le reloaded pour pour faire des miracles. Mais ça reste très... bidouillé tout ça.
stratégie :
Spoiler:
Code : #
capital = 10000 // votre capital de départ pour gérer le nombre de lot
tauxcouverture=0.5/100 // le taux de couverture exigé par IG
latent=POSITIONPRICE*countofposition
disponible= capital+latent/2
europoint=1 // valeur par point : 1 pour indice à 1€
//Couverture = Nombre de contrats x valeur de l'indice x valeur par point x couverture par contrat
//nombre de contrat = couverture/(valeur de l'indice x valeur par point x couverture par contrat)
lotutilise = round(disponible /(10*close * europoint * tauxcouverture))
plushaut = Highest[13](high) // sommet à X semaines
//plusbas = lowest [14](low)
MyATR = averagetruerange[13] // ATR à X semaines
retrace = 3.4// niveau de recharge
//decharge = plusbas+(5*MyATR)
recharge = plushaut-(retrace *MyATR)
monstop = recharge-2*MyATR
// acheter chaque recharge à partir de juin 2009 si la position précédente à prix X %
progression=1.01
C0= date > 20090601
c1=close CROSSES UNDER recharge
c2=close>progression*prixprecedent
if c1 and c0 and c2 then
BUY lotutilise CONTRACT AT MARKET
prixprecedent=close
endif
C11 = date>20180901
if c11 then
sell at market
endif
SET STOP LOSS monstop
Finalement quelle que soit la règle que l'on se donne, acheter un retracement en période haussière est ultra rentable : là sur un retracement de 10% du plus haut annuel en levier 1 ça fait 7 achats en 10 ans avec un DD de 25% et une performance de 6454 % : de 10 K à 645 K.
indicateur :
Spoiler:
Code : #
plushaut = Highest[365](high) // sommet
coeffentree=1-(pourcententree/100)
entree = plushaut*coeffentree
coeffstop=1-(pourcentstop/100)
monstop = plushaut*coeffstop
return plushaut COLOURED(0,0,255) as "plushaut", entree COLOURED(0, 255, 0) as "entree", monstop COLOURED(255, 0, 0) as "monstop"
stratégie :
Spoiler:
Code : #
capital = 10000 // capital de départ pour gérer le nombre de lot
stoppourcent=20 // valeur du stop en %
entreepourcent=10 //valeur de l'entrée en %
progressionpourcent=2// progression du prix pour entrer en %
levier=1
latent=POSITIONPRICE*countofposition
disponible= capital+latent
lotutilise=(disponible*levier)/close
// acheter chaque recharge à partir de juin 2009 si le prix a progressé
entreemin=prixdavant*(1+(progressionpourcent/100))
plushaut=Highest[52](high)
entreemax=plushaut*(1- (entreepourcent/100))
C0= date > 20090601
c2=close>entreemin
c3= close<entreemax
if c0 and c2 and c3 then
BUY lotutilise CONTRACT AT MARKET
prixdavant=close
endif
C11 = date>20180901
if c11 then
sell at market
endif
monstop = POSITIONPRICE*(1-(stoppourcent/100))
SET STOP LOSS monstop
graph monstop coloured (255,0,0) as "monstop"
Message non lupar [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/src/Extension/CoreExtension.php on line 570: strtr(): Ignoring replacement of empty string Benoist Rousseau »
Se créer un compte juste pour cela. A part. Un compte dédié à cette stratégie par exemple (ou une autre)