Je ne suis pas assez programmeur pour me débrouiller seul, l’un de vous pourrait-il nous orienter vers une routine éprouvée d’anti-martingale, ou à défaut partager un code utilisable sur un contrat future ?
L’idée est de diminuer l’exposition au risque en cas de perte cumulée (jusqu’à sortir de la stratégie à une proportion du capital initial), mais l’augmenter (à la mesure d’un % du gain déjà réalisé) en cas de gain.
Ci joint ce que j’ai trouvé et légèrement modifié pour une martingale qui me semble encore peu compatible d’un bon money management ;
la condition d’entrée / sortie sur le RSI est peu robuste, peut être gagnerait-elle à être consolidée ou remplacée par un critère sur les volumes ou les changements de tendance (MACD)…
et surtout le fait de doubler la mise en cas de perte ne peut pas se concevoir sans limite (une exposition maximum admissible). La diminution de l’exposition progressive en cas de gains successifs permet d’éviter de se leurrer qu’on gagne à chaque tentative, même en cas de marché prédictible.
Cf le code (non optimisé) ci-dessous, que je tente d’appliquer sans trop de succès sur le CAC40 future à 2 min :
Extrait martingale normale, bornée par maxexposure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
indicator1=RSI[13](close)
c1=(indicator1<=30)
IFc1THEN
BUYordersizeCONTRACTATMARKET
ENDIF
indicator2=RSI[13](close)
c2=(indicator2>=70)
IFc2THEN
SELLSHORTordersizeCONTRACTATMARKET
ENDIF
SET STOPpTRAILING5
SET TARGETpPROFIT15
IFtradeindex(1)=barindex[1]THEN
IFPositionPerf(1)<0THEN
OrderSize=min(OrderSize*2,maxexposure)
ELSIFPositionPerf(1)>0THEN
OrderSize=max(ordersize-1,1)
ENDIF
ENDIF
Je verrais bien diminuer la taille du lot (ordersize) dès la 2° perte (en l’ayant fixé au départ, par exemple, à la moitié d’une exposition maximum admissible), de façon à ce que la 3° perte soit nécessairement inférieure au dernier gain.