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 :
Voici la courbe AVEC SPREAD. C’est tout de suite moins sexy !
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