Creation et tests d'EA

Présentation, Développement, Améliorations et Ressources pour les Stratégies de Trading Automatique.

Modérateur : Administrateurs

Message
Auteur
DhaoS

Creation et tests d'EA

#1 Message par DhaoS »

Bonjour,


Faisant pas mal de scripts à mon travail :P et ayant donc quelques connaissances en programmation, j'ai commencé à me pencher sur la création d'EA.
C'est pas très compliqué et je m'en suis crée un ce matin

Il est vraiment simpliste (- de 100 lignes) et utilise juste les signaux de stochastiques mais n'a pas l'air buggé et maintenant je voudrais le tester

En effet, je me base sur les graphes H4 que je considère comme plus fiables mais au rythme où vont les choses ça risque d'être très long avant d'avoir une idée...
Or j'ai lu un peu partout des histoires de "backtest", ce que je comprends par tester sur un historique? Est ce que vous pouvez m'expliquer comment on fait ça?

Je pense m'intéresser de plus en plus au trade par EA car en manuel c'est vraiment pénible de tout le temps devoir jeter un coup d'oeil etc...et comme à mon travail j'ai bien envie de laisser le PC faire tout le sale boulot...


Merci d'avance

Avatar de l’utilisateur
Fabien LABROUSSE
Administrateur
Messages : 17035
Inscription : 17 mars 2008, 19:41
Localisation : Paris, France

Re: Creation et tests d'EA

#2 Message par Fabien LABROUSSE »

Je vais créer une fiche de formation concernant la manière de réaliser un backtest car je pense que ça peut intéresser pas mal d'utilisateurs dans ton cas.

Je te poste le lien dès que c'est fini.

Tu as programmés toi même ton expert advisor ou tu es passé par expert advisor builder?

Tu peux le poster ici ou tu préfère le garder pour toi?
Image

La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading

📈 Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7

🤝 Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...

📖 Marchés en aparté : Témoignages de traders, investisseurs, analystes et économistes sur les marchés financiers

DhaoS

Re: Creation et tests d'EA

#3 Message par DhaoS »

Ok !

Je l'ai crée avec l'éditeur, ça ressemble beaucoup à d'autres languages de programmation, j'ai juste eu quelques problèmes avec des fonctions "rebelles" :|
Mais il est très basique, histoire d'apprendre le language et pourquoi pas pour s'en servir comme base pour un vrai EA (car j'ai même pas cherché à optimiser un tant soit peu)

D'ailleurs pour pouvoir optimiser faudrait que je puisse faire un petit backtest et voir où ça clochera et pourquoi (même si j'en ai déjà un peu l'idée)

Voila le contenu :

Code : Tout sélectionner

//+------------------------------------------------------------------+
//| DhaoS Stochastiques EA v0.1                                      |
//| Copyleft 2010 DhaoS - sylvaintro@gmail.com                       |
//|                                                                  |
//| 09/03/10 - v0.1 : creation de l'EA                               |
//|                                                                  |
//|                                                                  |                                                       |
//+------------------------------------------------------------------+

//---------------------------------   Initialisations ----------------------------------

//Diverses
#define STO_barsToAnalyse 1
string symb="EURUSD";
int ticket,type;
double lots=0.1;
int spread=3;

// Pour STO
double mainLine, prevMainLine, signalLine, prevSignalLine;

//--------------------------------------------------------------------------------------


// Fonction qui parcoure les ordres et vérifie s'il y en a un qui a moins de 4H
// - si vrai, elle initialise la variable type avec son type (0 BUY, 1 SELL), la variable ticket avec son ticket, la fonction va renvoyer 0.
// - si faux, les variables type et ticket seront vides, la fonction va renvoyer 1.
int checkOrdersTime(){
   type=NULL;
   for(int i=0; i<=OrdersTotal(); i++){
      if(OrderSelect(i,SELECT_BY_POS)==true){
        if(OrderSymbol()==symb){ type=OrderType(); ticket=OrderTicket(); bool rienfaire=true; }
      }
   }
   if(rienfaire==true){return (0);}
   else return (1);
}


int start(){
   // On analyse que les 2 précédentes barres de STO apr défaut
   for(int a=1;a<=STO_barsToAnalyse;a++){
      mainLine=iStochastic(symb,PERIOD_H4,14,4,3,MODE_SMA,0,MODE_MAIN,a);
      prevMainLine=iStochastic(symb,PERIOD_H4,14,4,3,MODE_SMA,0,MODE_MAIN,a+1);
      signalLine=iStochastic(symb,PERIOD_H4,14,4,3,MODE_SMA,0,MODE_SIGNAL,a);
      prevSignalLine=iStochastic(symb,PERIOD_H4,14,4,3,MODE_SMA,0,MODE_SIGNAL,a+1);

      // Si on a un signal d'achat
      if(prevMainLine<prevSignalLine && mainLine>signalLine){
         // S'il y a des ordres de - de 4H :
         if (checkOrdersTime()==0){
            // Si c'est un ordre de vente alors je le cloture et j'achète (et donc si c'est un ordre d'achat, je ne fais rien)
            if (type==1){ Alert("Cloture SELL puis BUY",TimeToStr(Time[a])); OrderClose(ticket,lots,Ask,spread+2); OrderSend(symb,OP_BUY,lots,Ask,spread,0,0); }
         }
         
         // S'il n'y a pas d'ordre de - de 4H, alors j'achète
         else { Alert("BUY",TimeToStr(Time[a])); OrderSend(symb,OP_BUY,lots,Ask,spread,0,0); }
      }

   
      // Si on a un signal de vente
      if(prevMainLine>prevSignalLine && mainLine<signalLine){
         // S'il y a des ordres de - de 4H :
         if (checkOrdersTime()==0){
            // Si c'est un ordre d'achat alors je le cloture et je vends (et donc si c'est un ordre de vente, je ne fais rien)
            if (type==0){ Alert("Cloture BUY puis SELL)",TimeToStr(Time[a])); OrderClose(ticket,lots,Bid,spread+2); OrderSend(symb,OP_SELL,lots,Bid,spread,0,0); }
         }
         
         // S'il n'y a pas d'ordre de - de 4H, alors je vends
         else { Alert("SELL",TimeToStr(Time[a])); OrderSend(symb,OP_SELL,lots,Bid,spread,0,0);}
      }
   }   
   return(0);
}

Je posterais pas forcement les améliorations mais j'en parlerais

DhaoS

Re: Creation et tests d'EA

#4 Message par DhaoS »

J'ai trouvé comment faire des backtests et surtout j'ai mis deux jours à me rendre compte que je testais avec du mauvais historique :lol:

Bref j'ai mis à jour mes bases de devises mais j'ai laissé tombé l'idée d'un EA stochastique pour le moment. Je suis en train de me baser sur le CCI qui est mon indicateur préféré actuellement

DhaoS

Re: Creation et tests d'EA

#5 Message par DhaoS »

Allez bon, heu...triple post :P


Suite à toute une série de backtests éprouvante, mais plutôt concluante :
je vais tester, avec le même paramétrage sur EURUSD et USDCHF, un de mes EA dès lundi en démo

En effet d'après mes tests, il serait robuste sur les deux paires à la fois avec le même paramétrage :shock:

Ce qui est très génant c'est que ça risque de prendre un moment avant de pouvoir faire des conclusions :
il ne prends qu'un à trois trades par mois :lol:
(c'est pour ça que je veux le tester sur plusieurs devises d'ailleurs, voire même d'autres paramétrages)

Je vais aussi le faire suivre sur MyFxBook

Avatar de l’utilisateur
nvitale
Professionnel certifié
Messages : 260
Inscription : 21 mai 2009, 20:58
Localisation : London

Re: Creation et tests d'EA

#6 Message par nvitale »

Pour ceux que ça intéresse, j'ai fait il y a quelques mois un article sur lesbacktests et optimisations sous Metatrader.
Trading Automatique, le portail francophone du trading systématique et automatique.
Directeur d'Alpha Novae

Avatar de l’utilisateur
Fabien LABROUSSE
Administrateur
Messages : 17035
Inscription : 17 mars 2008, 19:41
Localisation : Paris, France

Re: Creation et tests d'EA

#7 Message par Fabien LABROUSSE »

Article intéressant sur un sujet manquant d'informations claires, merci nvitale.

Dhaos ça avance ton projet d'expert ou tu stagne un peu depuis ces premiers backtests?
Image

La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading

📈 Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7

🤝 Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...

📖 Marchés en aparté : Témoignages de traders, investisseurs, analystes et économistes sur les marchés financiers

Répondre