Encore bonjour, (décidément ... :musique: )
Bon bah cette fois c'est un problème différent, j'essaye d'incorporer un Money Mgt. à certains Backtest ... sans succès.
J'ai pourtant repris le code du bouquin "probacktest" mais je me retrouve avec des taille de positions pour le moins ... erratiques !
Voyant que ça ne marchait pas j'ai essayé d'épurer au maximummum afin de voir d’où vient le problème ... mais ça ne m'a pas vraiment aidé
donc une fois le truc simplifié au maximummum (je crois ... le "code" est à poil lol)
Code : #
ONCE OrderSize = 1
monHeure = (time > 73000) and (time < 163000)
monRSI = RSI[7](close)
surVente = 25
// Ordres :
IF monHeure AND monRSI CROSSES OVER surVente THEN
BUY OrderSize SHARES AT MARKET THISBARONCLOSE
ENDIF
IF PreviousTrade(1) > 0 THEN
OrderSize = 1
ELSIF PreviousTrade(1) <= 0 THEN
OrderSize = OrderSize * 2
ENDIF
comme je l'ai dit j'ai voulu simplifié à fond j'ai donc utilisé une "martingal" en * 2 tout ce qu'il y a de plus standard, j'ai essayé de rentrer des sorties en "manuel" sans résultat, en configurant les TP / SL via le joli bouton qui va bien, toujours sans résultat.
en mettant SL/TP - 5chacun on se retrouve par exemple avec une première prise de position à 10 lots au lieux des "1" demandés suivi de 9 lots au lieux de "2" logiquement, et ça continu durant tout le reste du Backtest (je passe de taille de lot de 1 à 2 à 10 et plus sans raison apparente)
bref, je sèche
je suppose qu'il y a une coquille mais je ne vois pas où ...
Merci a toute âme charitable qui pourra m’éclairer
PS : voilà ce que donne le bouquin :
Code : #
//***********Code à insérer au début de la stratégie**********//
ONCE OrderSize = 1 // On commence avec une position de 1
//*********************//
//***********Code à insérer juste après les instructions liquidant une position**********//
IF PreviousTrade(1) < 0 THEN
// Si le dernier trade était perdant, alors on double la taille de la position et on ajoute une unité
OrderSize = OrderSize * 2 + 1
ELSIF PreviousTrade(1) >= 0 THEN
// Si le dernier trade était gagnant, alors on revient à une position de taille 1
OrderSize = 1
ENDIF
//*********************//
REM Dans le backtest, la taille de la position doit être déterminée par la variable OrderSize