Code « CAC40 12p/18p »

Bonjour à tous,

A la demande d’un d’entre vous, j’ai écrit ce code, traduction d’un exemple de construction de stratégie de trading automatique, exposée par IG :

 

En fait, j’ai aussi bien mis les positions « longs » que « short » (alors que la vidéo ne propose que des positions à l’achat).

Mais le résultat n’est pas meilleur avec seulement les positions à l’achat.

Ce code s’applique sur le CAC40, en graphes M15.
12 points de stop loss, 18 points de take profit (d’où le nom que je lui ai donné).

La stratégie semble tout à fait logique, car elle trade dans la tendance, avec des règles précises.

 

 

Voici le BACKTEST du code SANS spread :

Backtest CAC40 12:18

 

 

Voici la courbe AVEC SPREAD. C’est tout de suite moins sexy !

Backtest CAC40 12p-18p AVEC spread

 

 

CONCLUSION :

Premièrement : 

Avant de vous lancer à corps perdu dans l’application d’une stratégie, testez-la, en backtest et en forward test / paper trading.

J’ai moi-même perdu beaucoup en faisant confiances à des stratégies que je croyais fiables à tort.

Souvent même, ce n’set pas la stratégie en elle-même qui est en défaut, mais celui qui l’applique.

 

Deuxièmement : ATTENTION au trading intraday !

Avec des stratégies à profits réduits (quelques points / pips), le spread a un impact MAJEUR.
C’est pourquoi encore maintenant, je préfère utiliser mes algorithmes en graphes DAILY, comme « Swing CAC », où 1 point de spread n’a qu’un impact mineur par rapport à des gains (ou pertes) de plusieurs dizaines / centaines de points.

Sur le forex, sur certaines paires, le spread est parfois de 4 ou 5 points, pour des profits beaucoup plus réduits (de l’ordre de quelques pips en intraday parfois !). L’impact du spread me semble encore plus important que sur les indices.

 

NOTA BENE :

Attention, je ne critique nullement la vidéo postée par IG en elle-même.
En effet, il s’agit d’une vidéo d’illustration, pour montrer comment fonctionne la création d’un backtest simple sur ProRealTime.

A ma connaissance, IG n’a pas d’intention d’inciter des clients à utiliser une quelconque stratégie, cette stratégie a bien été présentée pour l’exemple.

 

 

 

Voici le code du BACKTEST :

 

// CAC40 12-18


// PARAMETRES

Defparam cumulateorders = false

Defparam flatafter = 173000


// TAILLE DES POSITIONS

n = 5


// VARIABLES

iMACDline = MACDline[12,26,9](close)

iEAMACD = ExponentialAverage[9](MACDline[12,26,9](close))

iRSI = RSI[14](close)

iSuperTrend = SuperTrend[3,10]


// CONDITIONS ACHAT

ctime = time > 090000 and time < 171500

c1a = iMACDline crosses over iEAMACD

c2a = iRSI < 65

c3a = close > iSuperTrend


IF ctime AND c1a AND c2a AND c3a THEN

Buy n shares at market

ENDIF


// CONDITIONS VENTE

ctime = time > 090000 and time < 171500

c1a = iMACDline crosses under iEAMACD

c2a = iRSI > 35

c3a = close < iSuperTrend


IF ctime AND c1a AND c2a AND c3a THEN

Sellshort n shares at market

ENDIF


// STOP & OBJECTIF

Set stop pLoss 12

Set target pProfit 18
Share Button