Gogetter EA

 

Testeurs et développeurs recherchés..

Vous pouvez trouver cela similaire à d'autres EA car c'est... C'est là où mon exploration des EA m'a mené. Je me demande si les forces de ce système pourraient être intégrées avec succès aux forces d'un système qui donne de meilleurs résultats dans des conditions non tendancielles ?

J'ai (nous, Eaglehawk et moi) travaillé sur cette EA. J'aimerais savoir si quelqu'un peut me dire pourquoi il n'ouvre que des positions longues alors que je sais qu'il reçoit également des signaux d'entrée courts valides ?

Heureusement, il semble que pour une raison mystérieuse, le backtester a décidé de me faire grâce d'une qualité de modélisation respectable. et il semble qu'avec la quantité limitée de données historiques que j'ai réussi à installer dans cette satanée chose, il montre qu'il gagne plus qu'il ne perd, bien qu'il n'ouvre que des positions longues.

La logique de ceci est assez basique à ce stade. C'est un signal de croisement de moyenne mobile au-dessus ou en dessous d'une moyenne mobile plus longue pour déterminer la tendance. Cet EA aime profiter des tendances. Je l'ai appelé le gogetter d'après le livre du même nom The Gogetter où ce pauvre type se voit confier une tâche impossible avec un temps limité pour l'accomplir. Cet EA déclenche une fermeture à temps dans le trade si la position évolue contre lui. J'ai donc pensé qu'il correspondait un peu au profil du livre.

Ce sont les paramètres que j'ai trouvé les plus efficaces pour moi jusqu'à présent...

J'exécute ceci sur la paire 5m gpb/usd. Je reçois différents rapports de mon compte de démonstration et de mon compte réel sur la façon dont il fonctionne sur le graphique 4H. L'un rapporte que c'est mieux que le 5m et l'autre que c'est pire.

#property copyright "Aaragorn and Eaglehawk"

#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"

#include

extern int MagicNumber = 0;

extern bool SignalMail = False;

extern bool EachTickMode = False;

extern double Lots = 0.35;

extern int Slippage = 3;

extern bool StopLossMode = False;

extern int StopLoss = 50;

extern double ReversalTriggerRange = 173;

extern bool TakeProfitMode = True;

extern int TakeProfit = 45;

extern bool TrailingStopMode = False;

extern int TrailingStop = 10;

extern int MaxOpenTrade = 1;

extern int Shift = 3;

//extern double Slope = 2;

extern int EntLongEMA = 43;

extern int EntShortEMA = 1;

extern int ExitEMA = 51;

extern int TrendEMA = 1500;

//+-----------close based on not triggering trailing stop in allotted time----------------+

extern int MonitorInMinutes = 60; // minutes after open to check state of trade

extern int ThresholdMove = 1; // if after that time we don't have +'x' pips we will exit

extern int MinsMultiplier = 30; // multiplies the MonitorInMinutes to make minutes (if 'x'=60) into hours

[/PHP]

I would be happy to have anyone else test this and developers to make suggestions for it's improvement.

Since I'm only a novice programmer I don't mind at all if other programmers want to make code upgrades rather than try to explain to me everything about the upgrade idea they have. Just post the upgrade if you do one so we can all benefit.

I look hopefully for the valuable insight and input I know is available from you developers and coders.

I have reached the limits of my own present understanding with debugging this. I wonder how much better it could be if it opened both long and short orders?

The rules for the system are simply this...

if (c51ema < c43ema && s51ema < s43ema && curren1500EMA < c51ema < c43ema && shift 1500ema < curren1500ema) Open Long (buy)

if (cr51ema > cr43ema && sh51ema > sh43ema && curren1500EMA > cr51EMA > cr43ema && shift 1500ema > curren1500ema) Open Short (sell)

where the c=current time period

s=shifted time period

at one point there was a criteria that the slope of the longest EMA had to meet a certain angle also but that didn't seem like it made too much difference so I turned it off.

the exit rules are ...

[PHP] if (Sell1_1 - ReversalTriggerRange*Point >= C_trendsetter) Order = SIGNAL_CLOSESELL;

if (Sell1_1 >= CloseSell1_2) CloseOrder();

if (Sell1_1 >= CloseSell1_2) TrailingStopMode = True;

where if the current c43ema crosses back on the c51ema it will turn on the trailing stop and call for the time in trade function and if it goes further crossing back within a specified range beyond the 1500ema it will close. This range is based on the divergence of the two moving averages. I've toyed around with just a regular stop loss but that seemed to limit the wins too much. I think there could be better ways to close that could be explored. This is just what has worked best with what we've tried so far.

Please test enjoy and report back.

 

Amélioration de la spécialisation...

J'ai passé quelques heures à lire des livres sur le C++ aujourd'hui et en rentrant à la maison, j'ai réussi à faire quelques améliorations à ce programme...

J'ai d'abord fait une copie de l'EA et désactivé tout ce qui dans l'un d'eux fait des ordres longs et tout ce qui dans l'autre fait des ordres courts. J'ai travaillé sur la spécialisation de chacun pour les différentes conditions...

Il y a beaucoup plus que je peux voir à faire maintenant...

C'est bon d'apprendre de nouvelles choses !

Dossiers :
 

Construire 1006

remercié pour tous les encouragements,

organisé les variables un peu plus,

ajout d'une liste de choses à faire en bas du code, pour ceux qui veulent aider au développement,

je l'ai nettoyé un peu plus, ça devenait fou...

Dossiers :
 

On ne peut pas toujours faire confiance au testeur

Est-ce que cela se produirait aussi si le programme était en cours d'exécution ?

également

malgré l'utilisation du trailing stop, je ne vois jamais de modification d'ordre dans les rapports du testeur, ce qui m'intrigue.

 

Construction 1010

J'ai ajouté deux boutons de contrôle supplémentaires afin que vous puissiez choisir d'utiliser chaque signal indépendamment et à partir d'une entrée externe .

J'ai ajouté quelques commentaires supplémentaires aux lignes...explications et résultats des tests de changement de paramètres.

Je ne sais pas pourquoi il s'est mis à jour en GoGetShorts-2, je ne lui ai pas dit de le faire (je pense ), j'ai juste changé le numéro de build... peut-être s'appellera-t-il -3 maintenant ?

Quoi qu'il en soit, je cherche le progrès, pas la perfection, mais j'aime le progrès.

Profitez de

Dossiers :
 

Construction 1020

Ok, j'ai ajouté les boutons qui vous permettent de sélectionner le nombre maximum de transactions pour chaque signal...

Je pense que vous pouvez voir ce que je veux faire ici... rendre chaque signal entièrement personnalisable...

De ce que je peux voir du signal #1, sa probabilité est plus élevée si vous n'en demandez pas trop au TP. Il ne se déclenche pas très souvent mais quand il le fait, il semble être génial.

Si vous regardez la vignette de 2.11p, vous pouvez voir que le signal 1 déclenche deux ordres la première fois et trois ordres la deuxième fois... J'avais le paramètre maxorder à trois... il semble qu'il ne peut commander qu'un ordre par barre ou quelque chose comme ça et qu'il doit avoir bougé en dessous de son paramètre 'offave' avant de pouvoir placer le troisième ordre de la première série.....

Y a-t-il un moyen de contourner cela de sorte que si j'autorise 3 ordres, je reçoive 3 ordres ? Et l'autre chose est qu'avec l'hésitation à ouvrir le deuxième et le troisième ordre dans la série lorsque j'en autorise 2 ou 3, le deuxième et le troisième ordre ne sont pas aussi bien placés pour gagner, ils sont toujours à la traîne de quelques pips parce qu'il hésite à les ouvrir jusqu'à la prochaine barre.....

Je n'aime pas cela. Est-ce que cela peut être corrigé ? Cela plombe toutes les commandes multiples ! Seul le premier de la série est vraiment dans le meilleur timing. Je suis sûr que cela crée des pertes parfois sur le deuxième ordre ou plus.

 

Vous voyez... vous devenez un "expert" maintenant... très bientôt vous deviendrez un "conseiller expert"... et alors vous pourrez être appliqué directement aux graphiques

Pour de vrai... félicitations... votre ténacité est louable. N'êtes-vous pas heureux d'avoir appris ces choses ?

Bonne chance.

 

Go Get Longs build 1.0

Cette prochaine ea est exactement comme la version 2.11 de Go Get Shorts, sauf que je n'ai rien fait avec les paramètres. J'ai juste fait le code pour sauver ceux qui prennent ce projet. J'ai fait la même chose avec les longs. Je n'ai pas encore refait la logique des signaux d'achat, donc je ne m'attends pas encore à ce que cela fonctionne.

Dossiers :
gogetlongs.mq4  15 kb
 

oui, merci, j'ai de bons tuteurs. Je suis aussi encore assez doué pour les créations en copier-coller... Je ne pense pas que vous puissiez me donner des cours particuliers sur certains des problèmes que je rencontre dans ce domaine ? S'il te plaît, s'il te plaît.

comme...

https://www.mql5.com/en/forum

En fait, c'est plus cosmétique que le problème des transactions multiples qui ne s'ouvrent pas toutes en même temps, ce qui perturbe le timing des ordres après le premier. Je préfère résoudre les problèmes de fond en premier...

La fonction avant la beauté ?

 

Sincèrement, je ne suis pas sûr de pouvoir vous aider. D'abord parce que je dois consacrer du temps pour le faire, et que ce temps est actuellement compté pour moi. Deuxièmement, parce que jusqu'à présent, j'ai laissé les "indicateurs" faire tous les dessins et je n'ai jamais utilisé d'EA pour le faire. C'est possible et je pense que la théorie est la même.

Je crois que Codersguru a écrit un chapitre sur le dessin des lignes, des flèches, etc. Essayez de le lire.

Encore une fois, le copier-coller nécessite quand même de comprendre ce que l'on fait. Rien de tel que l'auto-assistance et vous le prouvez très bien. Continuez à travailler dur.

 

Bonjour

Félicitations pour cette belle courbe. Je pense qu'une chose qui pourrait être améliorée est la qualité de modélisation du test. 90% serait mieux.

Raison: