Excellent EA en backtest ! - page 112

 
BrazilianTrader:
quel est l'intérêt de prendre des conlusions sur des rapports de faible qualité de modélisation ???

les gens devraient savoir qu'ils doivent améliorer la qualité de leur modélisation avant de prendre des décisions sur des résultats virtuels ;

même les backtests avec 90% ne sont pas très dignes de confiance ;

il semble sage que les traders mécaniciens travaillent de cette manière :

1. Backtesting avec 90% ;

2. Compte démo pendant quelques mois ;

3. Compte réel ;

4. Profit ;

5. Rire.

Je pense que nous ne devrions pas accorder tous les crédits à une EE qui "fonctionne très bien" sur un rapport de qualité de modélisation de 50%.

Bon point

 
BrazilianTrader:
qualité de modélisation 50.00% ça ne sonne pas bien...

Même 90% n'est pas suffisant, mais si le test avant donne de bons résultats, c'est ce dont nous avons besoin pour continuer.

 

Besoin d'aide pour le codage...

J'ai besoin d'aide ici... Je ne comprends pas pourquoi c'est si difficile.

Tout ce que je veux, c'est un simple ordre de fermeture basé sur quelques conditions.

Ceci est la moitié courte. Il y a une autre moitié longue qui lui correspond.

Mais pourquoi ce code...

int ExitMarket() // -------------------- Working the open orders -------------------

{

total = OrdersTotal();

for(int cnt = 0; cnt < OrdersTotal(); cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

// We search for orders opened by this code on our currency

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)// if this code has an open order on this currency

{

if(OrderType() == OP_SELL) // If the obtained order is by the selling of the currency

{

if(Ask >= OrderStopLoss())// Closing order if it reached the level of the stoploss

{

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

}

else

{

// We close when the direction reverses

if(ADX DIplus1 || Closing > LowerE)

{

total = OrdersTotal();

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

Print("Patient1 closed short ticket ",OrderTicket()," on a reverse @: ",Ask," Orders remaining open: ",total," BECAUSE cls: ",Closing," > lwrE: ",LowerE," or ADX: ",ADX," DI+1: ",DIplus1);

total = OrdersTotal();

Print(" Orders remaining open: ",total);

}

else

{

Print("stays open");

}

}

}//ifsell

}//if order is open

}//fororders

return(0);

}//exitmarket [/PHP]

why does it produce this output?

[PHP]2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2719 Orders remaining open: 1 BECAUSE cls: 1.2717 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2718 Orders remaining open: 1 BECAUSE cls: 1.2716 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2717 Orders remaining open: 1 BECAUSE cls: 1.2715 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

qui ne remplit jamais la condition d'inversion et qui pourtant imprime la ligne d'inversion ?

et même s'il imprime la ligne de retournement, il ne ferme jamais la position ?

 

Pourquoi les gens perdent-ils leur temps avec cet EA ? Il ne va pas fonctionner sur un compte réel. Vous n'obtiendrez pas ce type de remplissage.

 
aegis:
Pourquoi les gens perdent-ils leur temps avec cette EA ? Il ne va pas fonctionner sur un compte réel. Vous n'obtiendrez pas ce type de remplissage.

Vous ne trouvez pas mieux ?

Personnellement, je suis ici pour apprendre, j'acquiers beaucoup d'expérience et de pratique du codage. Si le but est d'apprendre, alors il y a beaucoup de valeur pour moi. Cependant, si vous avez un meilleur EA sur lequel je pourrais "perdre mon temps", ...., je suis tout ouïe.

N'hésitez pas à résoudre ce problème de codage si vous le pouvez.

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

 
aegis:
Pourquoi les gens perdent-ils leur temps avec cette EA ? Il ne va pas fonctionner sur un compte réel. Vous n'obtiendrez pas ce type de remplissage.

Conclusion intéressante, "Dr. EA Specialist"...

Nous nous demandons si votre expérience réelle avec cette EA peut nous dire qu'elle n'a pas fonctionné...

Ou du moins, avec n'importe quel EA...

Peut-être, et c'est ce qui semble le plus probable, que vous n'avez aucune expérience avec aucun EA sur les "3 étapes classiques", et que vous avez peur de vous faire de faux espoirs avec une "formule magique de richesse" et d'être déçu ; alors quoi de plus facile ? de bloquer notre esprit et de dire que cet EA ne fonctionne pas du tout, bien sûr.

Comme c'est pathétique.

Certains sont ici pour perdre, on pourrait dire, mais ils sont ici pour apprendre et s'améliorer, certainement.

Nous, différemment de gens comme vous, préférons tester, perdre, améliorer, changer, encore et encore, réinitialiser notre point de vue et croire en des stratégies solides ou flexibles, ce qui inclut certainement "accepter les changements".

Cet EA pourrait sembler ne pas fonctionner sur un compte réel, mais nous sommes là pour le faire fonctionner.

 

Il semble que j'ai résolu mon précédent problème de codage.

Cela me laisse maintenant avec une nouvelle série de problèmes et de questions à résoudre.

J'ai conclu qu'en raison de la façon dont cet EA trade, il est très peu probable que les indicateurs traditionnels l'aident vraiment. Il place une grande majorité de ses trades dans la même barre, donc aucun indicateur de tendance ne le suivra dans la barre. Etant un trader inversé, les indicateurs de tendance typiques ne l'aident pas beaucoup de toute façon.

Il reste cependant un moyen de filtrer les transactions qui n'a pas encore été exploité, à savoir la logique de prise de décision propre au programme. Bien qu'il s'agisse d'une tâche plutôt intimidante, je crois qu'il y a une récompense potentielle dans le développement d'un profil de données des paramètres cybernétiques qui composent un trade gagnant et ceux qui composent un trade perdant, EN LOGIQUE CYBERIA.

Pour ce faire, je propose d'utiliser le backtester pour générer dans le journal les paramètres déterminants que cyberia accepte lorsqu'il ouvre chaque ordre, puis de trier tous les trades gagnants et les trades perdants dans leurs groupes respectifs et enfin de voir à partir d'une analyse de ces deux groupes s'il y a quelque chose de distinctif qui est facilement apparent et qui peut être installé et utilisé comme paramètre de filtre.

Je pense que le clip vidéo que j'ai posté il y a quelque temps sur la température de l'eau à 212 degrés s'applique ici. En ce moment, l'eau se négocie autour de 70-72%, ce qui est bien, mais ce n'est pas encore tout à fait de la vapeur. C'est chaud mais c'est comme l'eau à 211 degrés, c'est un degré de moins pour être vraiment utile. Mon objectif est d'atteindre ce degré. Cela peut signifier ajouter quelques pourcentages de plus à son ratio victoire/perte. S'il arrivait à 80 %, juste dix pourcent de plus, ce serait formidable. En l'état, c'est un programme difficile à suivre parce qu'il ne semble pas vraiment décoller. (mon expérience en tout cas)...

Si je poursuis ce cours, je me demande si quelqu'un d'autre voudrait m'aider. J'ai créé une version du code qui imprime les données au moment où l'EA ouvre l'ordre. J'ai créé une version du code qui imprime les données au moment où l'EA ouvre l'ordre. Cela permet d'afficher environ 7 à 14 ordres à la fois dans le journal avant que le journal ne commence à compresser la sortie et que les données soient perdues. Cela signifie que pour recueillir une quantité substantielle de données, le testeur doit être redémarré de nombreuses fois... à moins que quelqu'un ne m'apprenne comment faire pour imprimer toutes ces informations dans un fichier à la place..... Je sais que c'est possible, mais je ne sais pas comment le faire.

Quoi qu'il en soit, je recherche des personnes possédant un mini-compte IBFX qui souhaiteraient servir de collecteurs de données sur ce projet pendant que je développe un tableur pour analyser les données. Si vous êtes intéressés, faites-le moi savoir par pm et donnez-moi votre adresse email et je vous enverrai la version de l'EA que j'ai modifiée pour sortir les données. Il me reste encore une modification à faire sur celle-ci mais elle est presque prête à fonctionner.

Les données qui m'intéressent le plus sont celles qui se produisent au sein d'une même barre dans les modèles de tours que j'ai déjà identifiés. Je veux d'abord recueillir suffisamment de données de test sur ce qui se passe dans la logique de Cyberia pendant ces moments en particulier. Non pas que je pense que les autres situations de trading doivent être ignorées, mais elles ne semblent pas avoir autant de potentiel. Je me concentre donc sur la zone de retour probable la plus élevée : .....

Je suppose que j'ai suffisamment travaillé avec Cybeira pour que certaines de ces probabilités commencent à déteindre sur moi.

 

Voici également un exemple d'écriture de fichier, tout droit sorti de l'éditeur MT...

Cela vous permettra d'enregistrer dans un fichier csv, modifiez-le pour votre sortie comme vous le souhaitez.

int handle;

datetime orderOpen=OrderOpenTime();

handle=FileOpen("c:\cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');

if(handle>0)

{

FileWrite(handle, Close[0], Open[0], High[0], Low[0], TimeToStr(orderOpen));

FileClose(handle);

}

Je suis sur IBFX live, je peux faire des tests en direct pour vous sur des micro lots. Cependant, j'ai d'autres transactions en direct sur le compte, donc je devrais retirer les résultats de CT séparément.

Envoyez-moi un message pour l'adresse e-mail

 

ingénieur à embaucher ! !!!

Aaragorn:
Il semble que j'ai résolu mon précédent problème de codage.

Cela me laisse maintenant avec une nouvelle série de problèmes et de questions à résoudre.

J'ai conclu qu'en raison de la façon dont cet EA opère, il est très peu probable que les indicateurs traditionnels l'aident vraiment. Il place une grande majorité de ses trades dans la même barre, donc aucun indicateur de tendance ne le suivra dans la barre. Etant un trader inversé, les indicateurs de tendance typiques ne l'aident pas beaucoup de toute façon.

Il reste cependant un moyen de filtrer les transactions qui n'a pas encore été exploité, à savoir la logique de prise de décision propre au programme. Bien qu'il s'agisse d'une tâche plutôt intimidante, je crois qu'il y a une récompense potentielle dans le développement d'un profil de données des paramètres cybernétiques qui composent un trade gagnant et ceux qui composent un trade perdant, EN LOGIQUE CYBERIA.

Pour ce faire, je propose d'utiliser le backtester pour générer dans le journal les paramètres déterminants que cyberia accepte lorsqu'il ouvre chaque ordre, puis de trier tous les trades gagnants et les trades perdants dans leurs groupes respectifs et enfin de voir à partir d'une analyse de ces deux groupes s'il y a quelque chose de distinctif qui est facilement apparent et qui peut être installé et utilisé comme paramètre de filtre.

Je pense que le clip vidéo que j'ai posté il y a quelque temps sur la température de l'eau à 212 degrés s'applique ici. En ce moment, l'eau se négocie autour de 70-72%, ce qui est bien, mais ce n'est pas encore tout à fait de la vapeur. C'est chaud mais c'est comme l'eau à 211 degrés, c'est un degré de moins pour être vraiment utile. Mon objectif est d'atteindre ce degré. Cela peut signifier ajouter quelques pourcentages de plus à son ratio victoire/perte. S'il arrivait à 80 %, juste dix pourcent de plus, ce serait formidable. En l'état, c'est un programme difficile à suivre parce qu'il ne semble pas vraiment décoller. (mon expérience en tout cas)...

Si je poursuis ce cours, je me demande si quelqu'un d'autre voudrait m'aider. J'ai créé une version du code qui imprime les données au moment où l'EA ouvre l'ordre. J'ai créé une version du code qui imprime les données au moment où l'EA ouvre l'ordre. Cela permet d'afficher environ 7 à 14 ordres à la fois dans le journal avant que le journal ne commence à compresser la sortie et que les données soient perdues. Cela signifie que pour recueillir une quantité substantielle de données, le testeur doit être redémarré de nombreuses fois... à moins que quelqu'un ne m'apprenne comment faire pour imprimer toutes ces informations dans un fichier à la place..... Je sais que c'est possible, mais je ne sais pas comment le faire.

Quoi qu'il en soit, je recherche des personnes possédant un mini-compte IBFX qui souhaiteraient servir de collecteurs de données sur ce projet pendant que je développe un tableur pour analyser les données. Si vous êtes intéressés, faites-le moi savoir par pm et donnez-moi votre adresse email et je vous enverrai la version de l'EA que j'ai modifiée pour sortir les données. Il me reste encore une modification à faire sur celle-ci mais elle est presque prête à fonctionner.

Les données qui m'intéressent le plus sont celles qui se produisent au sein d'une même barre dans les modèles de tours que j'ai déjà identifiés. Je veux d'abord recueillir suffisamment de données de test sur ce qui se passe dans la logique de Cyberia pendant ces moments en particulier. Ce n'est pas que je pense que les autres situations de trading doivent être ignorées, mais elles ne semblent pas avoir autant de potentiel. Je me concentre donc sur la zone de rendement le plus probable d'abord.....

Je suppose que j'ai assez travaillé avec Cybeira pour que certaines de ces probabilités commencent à déteindre sur moi.

Je suis prêt, désireux et capable d'aider Aragorn. Vérifiez votre p.m. pour mon adresse e-mail

 

Test du dos

Aaragorn,

Y a-t-il une chance que vous puissiez corriger Cyberia, de sorte que vous puissiez le backtester sur les prix ouverts de la barre. Cela ne fonctionne pas actuellement.

C'est le moyen le plus fiable de backtester.

Lire cet article.

https://www.mql5.com/en/code/9500

Les résultats des backtests seront toujours peu fiables si un ordre est exécuté et exécuté sur la même barre, à moins que l'entrée ne se fasse sur l'ouverture ou la sortie sur la fermeture. Cela est dû au fait qu'il est impossible de connaître l'action du prix dans la barre. Un backtest fera une estimation de ce qui s'est passé pendant la barre. Parfois, l'estimation peut résulter en un remplissage à un prix qui est estimé se produire avant la sortie mais qui en réalité s'est produit après. Cela peut entraîner des remplissages à des prix impossibles, en particulier lorsque le marché évolue rapidement dans une direction. Certaines stratégies exploiteront par inadvertance ces prix impossibles pour produire des résultats impossibles.