Code : Tout sélectionner
int OnInit()
{
static int TabAUDJPY[24][7] = { // exemple de selection horaire
// D L M Me J V S
0, 0, 1, 1, 1, 1, 0, // 0H00
0, 0, 1, 1, 1, 1, 0, // 1H
0, 0, 1, 1, 1, 1, 0, // 2H
0, 0, 1, 1, 1, 1, 0, // 3H
0, 1, 1, 1, 1, 1, 0, // 4H
0, 1, 1, 1, 1, 1, 0, // 5H
0, 1, 1, 1, 1, 1, 0, // 6H
0, 1, 1, 1, 1, 1, 0, // 7H
0, 1, 1, 1, 1, 1, 0, // 8H
0, 1, 1, 1, 1, 1, 0, // 9H
0, 1, 1, 1, 1, 1, 0, // 10H
0, 1, 1, 1, 1, 1, 0, // 11H
0, 1, 1, 1, 1, 1, 0, // 12H
0, 1, 1, 1, 1, 0, 0, // 13H
0, 1, 1, 1, 1, 0, 0, // 14H
0, 1, 1, 1, 1, 0, 0, // 15H
0, 1, 1, 1, 1, 0, 0, // 16H
0, 1, 1, 1, 1, 0, 0, // 17H
0, 1, 1, 1, 1, 0, 0, // 18H
0, 1, 1, 1, 1, 0, 0, // 19H
0, 1, 1, 1, 1, 0, 0, // 20H
0, 1, 1, 1, 1, 0, 0, // 21H
0, 1, 1, 1, 1, 0, 0, // 22H
0, 1, 1, 1, 1, 0, 0 // 23H
};
// Selon le symbol qu'on cherche à trader :
for ( int i = 0; i < 7; i++ )
for ( int j = 0; j < 24; j++ )
Autorise[j][i] = TabAUDJPY[j][i];
Ce qui permet d'avoir des sélections de plages susceptibles de changer selon l'actif.
Dans l'exemple, on ne trade pas le vendredi après-midi. Le dimanche soir non plus.
Bien sur, il faut s'y retrouver avec les Time(), celui du serveur, le GMT, l'historique de datas, l'heure d'été US qui a 3 semaines d'avance sur nous... On fait facilement des erreurs.
Par ailleurs il faut être prudent sur des sélections horaires issues de back test. C'est très sur optimisant. Très. Il suffit de se prendre un caramel ou deux un lundi matin et virer le lundi matin améliorera le PF. C'est peut être le hasard et il faut vraiment beaucoup de trades pour filtrer de cette façon.
EAanalyser est un freeware offert par StrategyQuant et qui offre un bonne analyse de trades, notamment des analyses de rendement par heures et par jour avec une simulation de ce que donnerait certains filtres horaires. On peut même afficher la comparaison des equity curves avant et après la filtration.