Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Page 1 sur 3 1 2 3 DernièreDernière
Affichage des résultats 1 à 10 sur 27
  1. #1
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Ea kbs2 Ea kbs2

    J'avais une semaine de congés...

    A la base, je ne crois pas spécialement a l'analyse technique et je suis donc assez réservé sur le trading auto. Pour ne pas mourir idiot, pendant cette semaine, pendant mon temps libre, je me suis essayé a la création d'EA.

    J'ai créé cet EA basé sur la combinaison de seulement trois indicateurs techniques. l'EA n'est pas très compliqué: le fichier ne fait que 9 Ko !

    Il n'y a toujours qu'un seul trade a la fois, et qu'un seul lot joué. Pas de martingale, quoi, juste la qualité du signal.

    Les résultats n'ont l'air pas mal, surtout si on considère que je n'augmente pas la taille des lots (augmenter la taille des lots proportionnellement au gain en capital, ca c'est raisonnable).

    Qu'en pensez vous?

    Au cas ou les poules auraient des dents, je viens de le mettre en forward test.
    Fichiers attachés

  2. #2
    Membre Performance pouille deviendra bientot célèbre...
    Date d'inscription
    December 2007
    Messages
    185
    Pouvoir de réputation
    9

    pas de SL y'a t'il un systeme d'arret ou pas du tout
    c'est du scalping
    sinon a voir le graph cela parrait sympa mais est ce que cela reste realisable
    "pour de vrai"

  3. #3
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Salut l'ami Pouille : Il y a des conditions d'arret. C'est vrai, je n'ai pas mis de stop loss en dur. Ceci dit, on voit que la perte maxi est de 400 pips environ, et elle est exceptionnelle.

    Je peux rajouter un SL a 300 pips environ, je ne pense pas que cela ne change grand chose. Je ne peux pas le tester maintenant (j'y reviens).

    Par contre a la vue des resultats detailles, il est semble bien que quand un trade dure trop longtemps, il ait plus de chance d'etre negatif.

    Comme je suis cartesien, je veux des preuves, et donc j'ai fait ce graphe, joint.
    En abscisse, ce sont les durees de trades (l'echelle n'est pas lineaire, attention), et en ordonnees le gain moyen. Donc, en gros si un trade dure plus de 4 heures, il a de bonnes chances d'etre rouge, et plus ca dure, plus ce sera rouge.

    Voici donc ma question: est ce que quelqu'un aurait un petit bout d'EA deja fait qui clot toutes les positions si toujours ouverte apres x temps. J'ai cherche un peu sur le forum, je n'en ai pas trouve (j'ai trouve des EA pour tout clore quand on l'execute, pour tout clore fonction d'un profit global, etc, mais pas ce que je cherche, avec une condition sur le temps d'ouverture).

    Sinon KBS2 est en "forward test" (comme on dit) depuis vendredi. Je verrai ce que ca donnera dans un mois deja.

    Parenthese:

    Il y a une chose embetante, c'est que les backtest ne donnent pas toujours les memes resultats (meme EA, meme historique, meme periode testee). J'ai lu ici que MT4 prenait come valeur du spread la derniere valeur connue, et je me dis que c'est peut etre la raison. Ceci dit c'est penible car pour ameliorer un programme de maniere iterative, il faut comparer les resultats (ex: tiens, EA comme ca, tiens j'y ajoute un peu de RSI, est ce que c'est mieux, etc).

    Fin de la parenthese, suite du post:

    J'explique comment j'ai fait cet EA (moi inculte a la base), pour, peut etre, un humble apport au forum pour ceux que cela interesseraient:

    - test d'indicateurs sur 5 paires de devises, et sur au moins deux ans
    - remarquer ceux qui ont un effet positif (= meme si c'est dans le rouge, on l'est significativement moins que nombre de trades X spread, c'est a dire on compense un peu la commission du broker, c.a.d. on a, hors spread, une esperance > 0). Il y en a !
    - ne garder que ceux qui fonctionnent sur 4 paires sur 5 (ou 5/5, cela va de soi). Danger sinon: on fait de l'optimisation. Prendre celles qui ont les spreads les plus faibles.
    - modifier de maniere iterative l'EA (hop, j'ajoute telle condition avec tel autre indicateur). Tester et appliquer les memes conditions (4 paires sur 5 mieux que le modele d'avant). Tout noter -> effet positif, pas d'effet significatif, effet negatif (et la on peut eventuellement prendre la contrepartie)
    - ainsi de suite...

    C'est du boulot quand meme, mais si on est bien organise, ca va (les resultats changeants, dont je parlais, perturbent, grrr)

    Ainsi cet EA fonctionne aussi correctement sur d'autres paires. Sur EUR/CHF j'en ai des mieux. Mais celui ci est le plus "honnete" (non optimise sur la devise).

    J'espere que cette petite partie sera utile a ceux qui demarrent. Je ne dis pas que c'est une methode universelle, mais c'est celle que j'ai utilise
    Images attachées
    Dernière modification par gleneroo ; 17/04/2010 à 18h41. Motif: J'ai mis en gras ma question, si une bonne ame avait ca en magasin

  4. #4
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Trouve sur un forum anglais, ca c'est cool:

    for(int i=OrdersTotal()-1; i>=0; i--)
    {
    OrderSelect(i,SELECT_BY_POS,MODE_TR ADES);
    if(OrderType()==OP_BUY && CurTime()-OrderOpenTime()>=4*60*60) // long position is opened
    {
    OrderClose(OrderTicket(),OrderLots( ),Bid,3,Violet);
    return(0);
    }
    else if(OrderType()==OP_SELL && CurTime()-OrderOpenTime()>=4*60*60)
    {
    OrderClose(OrderTicket(),OrderLots( ),Ask,3,Violet);
    return(0);
    }
    return(0);
    }
    return(0);
    }

    Les fonctions CurTime() et OrderOpenTime() donnent le temps en secondes depuis le 1er janvier 1970 a 00:00.

  5. #5
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Bon, j'ai bien travaille:
    - j'ai integre la fermeture automatique des trades si ouverts depuis 4h
    - j'interdis de passer des trades a 4h de la fermeture ou moins

    Tout cela se simule bien.

    Par contre je veux integrer une pause d'une heure apres une fermeture obligatoire, mais cela ne se simule pas bien:
    - que ce soit la fonction sleep()
    - ou des alternatives du type

    int ttt=0;
    // ...
    if ( ... ) // condition that requires to hold a pause
    ttt = TimeLocal() + 3600; // the pause ends in 1h after the current local time
    while ( TimeLocal() < ttt )
    { // program block to be executed cyclically while waiting for the end of the pause
    // ...
    }


    Bizarrement cela ne fonctionne pas, c'est le testeur qui se met a attendre 1 heure !

    Pour la fonction Sleep, on a l'impression que ca ne la prend pas en compte.

    Meme en remplacant TimeLocal() par TimeCurrent() cela fait le meme effet. Dommage.

    Bon, a cela pres, demain lundi je pourrai faire un nouveau backtest, et je viens de mettre a jour le programme qui est en forward.
    Dernière modification par gleneroo ; 18/04/2010 à 11h36.

  6. #6
    Membre Star taowill est sur la route de la réputation... Avatar de taowill
    Date d'inscription
    May 2008
    Messages
    430
    Pouvoir de réputation
    6

    as tu pensé à essayer une gestion évolutive de lot en fonction du capital comme l'EA megadroid?
    celà devrai surement boosté les résultat.

    en tout cas félicitation pour les résultats obtenu.
    pour info, quels sont les 3 indicateurs sur lesquels se base ton EA?

  7. #7
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Bonjour

    Merci pour ces commentaires.

    Je ne sais pas ce que fait megadroid precisement.

    S'il s'agit d'augmenter les lots avec le capital, ca je pourrai le faire a la main, ce n'est pas tres difficile, et mon compte ne va quand meme pas doubler dans la nuit.

    S'il s'agit d'une martingale (j'augmente ou je baisse les lots quand je gagne, etc), pourquoi pas si, en analysant le fichier transmis dans le premier message, on peut mettre en evidence (statistiquement significatif) un phenomene exploitable. Personne ne le fera pour moi (et meme si qqun le fait je devrais le refaire de toutes facons) donc je le ferai peut etre tout seul si j'ai le temps. Ex: proba de gain autour de 79% tout confondu. Quelle est la proba de gain apres une perte, est elle significativement differente? Etc.

    Si je n'ai pas le temps, tant pis, je garde le signal PUR. En tout cas je me le note pour plus tard mais pour le moment je suis occupe a troubleshooter (et malheureusement pas beaucoup de temps dispo).

    - KBS22 (avec un stop au bout de 4h), surprise, donne de moins bons resultats que KBS2.

    - KBS22 (le stop a 4h marche en backtest) n'a pas le stop a 4h en forward. Je cherche pourquoi. Notamment j'ai trouve que l'heure de mon VPS n'est pas bonne (la GMT est decalee). Je vais vior ce sujet avec eux. Sinon il faudra debugguer je ne sais pas ou (je ne sais pas si les fonctions que j'utilise CurTime() et OrderOpenTime() prennent le temps machine ou le temps MT4, etc).
    Je sais ce n'est pas important puisque je ne veux pas utiliser KBS22, mais j'aimerai bien trouver quand meme...

    - j'ai mis KBS2 puis KBS22 en forward depuis vendredi soir, mais comportement tres curieux........ Je viens de realiser que je m'etais trompe sur la periode, j'avais mis M1 au lieu de M5 (gros beta que je suis...).

    Tiens pour m'amuser j'ai backteste en M1... Le compte part de 20.000 pour arriver a 269.000 ! Et il y a 46.000 ordres !!! Mais pas interessant car les 6 derniers mois sont de la pente douce. Je ne poste pas le fichier car gros, sauf si on me le demande.

    Les indicateurs que j'utilise: deux sont communs (dans MT4 par defaut) et un habituel mais moins commun (pas dans MT4 par defaut). A savoir aussi, detail amusant, un des indicateurs est utilise a l'oppose de ce qui est recommande.
    Ce qui est dommage d'ailleurs c'est que je n'ai pas fini la recherche ; j'avais encore plein de choses a tester (RVI, Bull power, Laguerre, etc). Ca devra attendre les prochaines vacances
    En fait ce qui prend le plus de temps ce sont les backtest, pas de faire les programmes.

    a+
    Dernière modification par gleneroo ; 20/04/2010 à 17h00.

  8. #8
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Un bon EA pour moi, ce n'est pas un EA qui ne marche que sur une paire.

    Le risque est fort alors d'avoir quelque chose de trop optimise, et qui eventuellement ne marchera qu'une periode de temps limitee (voire que sur la periode de temps du backtest).

    Voici les resultats de KBS2 sur CAD / CHF.

    C'est moins beau (en fait periodes flat ou periodes de hausses, ce n'est pas une hausse quasi tout le temps).

    Le petit decrochage a un moment c'est une data manquante (ca arrive), mais ce n'est pas ca qui est important.

    Le plus important, c'est qu'il s'en sort honorablement aussi sur cette paire la.
    Fichiers attachés

  9. #9
    Nouveau membre youn56 est sur la route de la réputation...
    Date d'inscription
    February 2009
    Messages
    4
    Pouvoir de réputation
    5

    Bonsoir,

    Constatez vous du slippage dans la mise en oeuvre de cette stratégie ?
    Ce slippage, s'il devait être important, grèverait probablement de manière significative les résultats puisque le gain moyen par trade se situe à 7.89 pips.

    Cordialement,

  10. #10
    Membre Performance gleneroo deviendra bientot célèbre...
    Date d'inscription
    January 2010
    Messages
    132
    Pouvoir de réputation
    5

    Bonjour

    Vous avez tout a fait raison.

    Les backtests ont ete fait avec 3 en slippage. C'est un parametre par defaut, que je suppose donc etre realiste.
    A priori rien dans mon algorithme ne va chercher des positions "extremes" ou en forte volatilite, donc je pense que le slippage devrait etre raisonnable.

    Ce ne sont que des a priori, mais la confirmation (ou non) sera effectivement le forward test (et comparaison backtest et forward sur le meme periode). Pour le moment je patauge un petit peu dans le troubleshooting de mon histoire d'heure (en plus le support du VPS a ferme mes applis apparemment donc pas de trade aujourd'hui, une journee de perdue). Je pense que je pourrai faire ces tests la semaine prochaine, en profitant de la fermeture du week end pour pouvoir faire demarrer back/forward en meme temps.

    Pour Taowill:
    En temps normal, proba de gain = 79%. Average gain = 17,6
    Trades apres une perte: 395 negatifs, 1340 positifs, ratio = 77%. Average gain = 13,3

    Donc:
    - on a la meme probabilite de gain apres une perte ou n'importe quand, donc rien a exploiter
    - le gain moyen est un peu plus bas, mais 1 trade (la plus grosse perte est la) fait la difference. Si on retire ce trade de la liste des 1700 et quelques trades, le gain moyen revient a 17. Et de toutes facons, 13 c'est positif, alors... rien a exploiter de ce cote la.

    a+

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact