Championnat de trading automatisé 2007 : les erreurs courantes des experts - page 7

 

Depuis la fin du mois d'août, je reçois presque chaque jour un message électronique automatique m'informant que l'expert a réussi le test et a été accepté pour la participation.

Je voudrais demander ce que signifie la vérification automatique constante du même fichier, que je n'ai pas modifié depuis un mois ? Le serveur ne peut-il pas revérifier l'EA uniquement si une nouvelle version d'un fichier est téléchargée, surtout si la version actuelle de l'EA a été vérifiée avec succès ?

Cela ne me dérange pas vraiment, mais j'aimerais juste comprendre la signification des contrôles répétés du même fichier avec une notification envoyée à l'auteur ?

 
Une semaine avant le début des tests de l'EA, j'ai supprimé mon EA car j'ai décidé de modifier un peu le code en raison des résultats de la démo, puis (lorsque les tests ont commencé) j'ai reçu un message indiquant que mon EA avait été testé avec succès et accepté - Erreurs -0 etc
J'ai une question, quel EA testais-tu si je l'ai supprimé ?
Et maintenant je continue à recevoir des messages :

La vérification de votre EA est terminée. Rapport de test pour Expert :
-----------------------
2007.09.08 19:31 loading
invalid configuration
0 min 0 seconds
Erreurs : 1

Bien que je n'aie pas encore ajouté le code Expert mis à jour. Veuillez prendre note. Merci.
 
Renat:
pliant:
Par exemple, j'ai reçu deux fois un courriel m'informant que l'exposant a passé le test avec succès et que je suis inscrit... et sur le troisième, il est dit que j'ai une erreur dans le code... pourquoi devrais-je changer le code de l'expert que j'ai téléchargé une fois dans le profil ?
À en juger par les résultats, le conseiller expert a pris un appel de marge. Je ne peux encore rien dire. Demain matin, les contrôles suivants seront effectués et nous vérifierons les résultats.

Mon conseiller expert est optimisé en attendant les résultats du test ... J'ai obtenu de meilleurs résultats avec une modélisation de moindre qualité. ... À 90 %, le conseiller expert a vraiment reçu un appel de marge, mais il est difficile de comprendre comment il a pu rater deux tentatives précédentes avec MK
 
folver:
Renat:
pliant:
Par exemple, j'ai reçu deux fois un courriel m'informant que l'exposant a passé le test avec succès et que je suis inscrit... et sur le troisième, il est dit que j'ai une erreur dans le code ... pourquoi devrais-je changer le code du conseiller expert que j'ai téléchargé dans le profil une fois ?
À en juger par les résultats, le conseiller expert a pris un appel de marge. Je ne peux encore rien dire. Demain matin, les contrôles suivants seront effectués et nous vérifierons le résultat.

Mon conseiller expert est optimisé en attendant les résultats du test ... J'ai obtenu de meilleurs résultats avec une modélisation de moindre qualité. ... à 90%, le Conseiller Expert a effectivement pris un appel de marge, mais il est difficile de comprendre comment il a toujours été déficitaire deux fois auparavant.
Apparemment, le conseiller expert a toujours été déficitaire. Cependant, nous avons commencé à montrer un appel de marge comme une erreur (pourquoi devrions-nous accepter un conseiller expert qui est garanti non rentable) il y a quelques jours, de sorte que les deux premiers tests étaient "sans erreurs".

Désormais, la quantité excessive de journaux générés sera considérée comme une erreur. Si un conseiller expert a généré plus de 64 mégaoctets de logs pendant les 8 mois du test standard, il ne sera pas autorisé à participer. Cette mesure est forcée, car actuellement certains experts génèrent des centaines de mégaoctets de messages de journal inutiles. Comme nous publions les logs des conseillers experts sur le site du championnat en temps réel, une telle quantité de logs est absolument inacceptable. L'année dernière, nous avons disqualifié un participant dont l'Expert Advisor a généré environ 30 Gbytes de logs pendant une période de 24 heures.
 
solandr:

Cela ne me dérange pas vraiment en principe, mais j'aimerais juste comprendre l'intérêt de vérifier à plusieurs reprises le même fichier et d'envoyer une notification à l'auteur ?

Nous corrigeons les scripts, ajoutons de nouveaux types de diagnostics et de contrôles d'erreurs presque tous les jours. C'est pourquoi nous effectuons périodiquement des revérifications complètes. Seuls les EA modifiés sont revérifiés dans le mode habituel.
 
Renat:

À partir d'aujourd'hui, le volume excessif de journaux générés sera considéré comme une erreur. Si plus de 64 mégaoctets de journaux sont générés pendant 8 mois de test standard, l'expert ne sera pas autorisé à participer. Cette mesure est forcée, car actuellement certains experts génèrent des centaines de mégaoctets de messages de journal inutiles. Comme nous publions les logs des conseillers experts sur le site du championnat en temps réel, une telle quantité de logs est absolument inacceptable. L'année dernière, nous avons disqualifié un participant dont l'Expert Advisor a généré environ 30 Gbytes de logs pendant une période de 24 heures.
Mon rapport indique 249 Mo de journaux pour 8 mois. Et il n'y a pas de messages inutiles, la seule chose qui y apparaît est un journal des modifications et l'ouverture et la fermeture des ordres pendant le suivi.
Existe-t-il une option dans le terminal (ou dans le code) pour désactiver la sortie des "messages inutiles" ?
Et je pense que la plupart des EAs qui utilisent le trailing stop à cette limite. Encore une fois, le refaire... Cela aurait-il pu être mentionné il y a au moins un mois ?
 
abadan:
Selon mon rapport, le journal pour 8 mois est de 249 Mb. Et il n'y a pas de messages inutiles, la seule chose qui y est affichée est le journal des modifications et les ordres d'ouverture et de fermeture lors du suivi.
Supposons que le message à modifier prenne 250 octets (c'est même trop).
Ainsi, le conseiller expert modifie les ordres plus d'un million de fois en 8 mois !
Cela représente plus de 6000 modifications par jour ou 250 modifications par heure.


Ce sont tous des messages "utiles" !
 
komposter:
Abadan:
Selon mon rapport, le journal pour 8 mois est de 249 Mb. Et il n'y a pas de messages inutiles, la seule chose qui y est affichée est le journal des modifications et les ordres d'ouverture et de fermeture lors du suivi.


Supposons que le message à modifier prenne 250 octets (c'est même trop).
Ainsi, le conseiller expert modifie les ordres plus d'un million de fois en 8 mois !
Cela représente plus de 6000 modifications par jour ou 250 modifications par heure.


Ce sont tous des messages "utiles" !



Désolé, un message est apparu lors de la vérification de l'EA, j'ai donc été confus. Bien sûr, ce n'était pas 249MB, c'était 249kB. J'ai failli me faire peur.
 

Une petite question - s'il n'y a pas d'erreurs pendant les tests et que le conseiller expert est admis, mais que pendant le championnat il produit des erreurs, le conseiller expert sera-t-il disqualifié ?

J'ai remarqué (notamment lors de la préparation de mon EA) que la comparaison de valeurs non normalisées, par exemple, dans des conditions de trailing stop peut donner un signal pour OrderModify bien que le prix n'ait pas réellement changé, en conséquence l'EA exécute OrderModify() avec les mêmes valeurs et donc l'erreur 1.

Je n'ai pas remarqué cela auparavant, et l'EA avec ce code, par exemple, ne produisait pas d'erreurs lors du dernier championnat, mais maintenant il donne l'erreur 1 :

                  if(OrderStopLoss()<(Bid-TrailingPoints*Point)) {
                     OrderModify(.......);
Et les impressions de débogage m'ont donné dans le journal "1.97550000 < 1.97550000"... Je ne sais pas pourquoi, mais cette façon de sortir de cette situation, par exemple :
                  if( NormalizeDouble((Bid-TrailingPoints*Point)-OrderStopLoss(),nDigits)>0) {
                     OrderModify(.......);
et d'ailleurs j'ai vu un bon conseil quelque part, je ne me souviens plus à qui (par Rosh), les opérations de comparaison similaires s'effectuent comme la comparaison du résultat normalisé de la différence de valeur avec l'erreur nécessaire. J'espère que cela aidera quelqu'un à corriger ses erreurs.
 
Cela peut se faire simplement :
bool  modifyResult;                    
oldSL=OrderStopLoss();
newSL=Bid-TrailingStop*Point;
if (MathAbs(newSL-oldSL)>Point) 
{
modifyResult=OrderModify(OrderTicket(),OrderOpenPrice(),NewSL,OrderTakeProfit(),0,Yellow);
if (!modifyResult) Print("TrailingStop:Ошибка модифации ",GetLastError(),"  oldSL=",oldSL,"   newSL=",newSL);
}

Le suivi n'aura lieu que si l'ancienne valeur diffère de la nouvelle valeur d'au moins un point.