LE CHAMPIONNAT DE COMMERCE 2007 ! - page 10

 
rsi:
Comment effectuer les pré-tests des EA multi-devises ?

Il est possible d'inclure dans un EA la possibilité de faire des tests, par exemple, je l'ai fait de cette façon :

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int PeriodCounter=2,SymbolCounter=1,trendOnTF;
  string ComString;
  int tf;
//----
   if (IsTesting())
      {
      Print("Прошли проверку на IsTesting");
      for (int indexCount=TestingIndexPeriod;indexCount<=6;indexCount++)
         {
         if (isNewBar(TestingIndexSymbol,indexCount)) 
            {
            Print("Вызовем трейлинг");
            if (OrdersTotal()>0) CheckOrdersForTrailing();            
            trendOnTF=TrendByWPR(TestingIndexSymbol,indexCount);
            TrendOnSymbol[TestingIndexSymbol,indexCount]=trendOnTF;
            GatorTrend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,7,0);
            NRTR_Trend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,6,1);
            Complextrend[TestingIndexSymbol,indexCount]=(TrendOnSymbol[TestingIndexSymbol,indexCount]+GatorTrend[TestingIndexSymbol,indexCount]+NRTR_Trend[TestingIndexSymbol,indexCount])/3.0;
            ComString="";
            for (tf=indexCount;tf<7;tf++)
               {
               ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Complextrend=",Complextrend[TestingIndexSymbol,tf],"n");
            }
            Comment(ComString);   
            Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
            }
         }
      }
   else
      {
      for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
         {
         for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
            {
            if (isNewBar(SymbolCounter,PeriodCounter))
               {
               if (OrdersTotal()>0) CheckOrdersForTrailing();            
               trendOnTF=TrendByWPR(SymbolCounter,PeriodCounter);
               TrendOnSymbol[SymbolCounter,PeriodCounter]=trendOnTF;
               GatorTrend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,7,0);
               NRTR_Trend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,6,1);
               Complextrend[SymbolCounter,PeriodCounter]=(TrendOnSymbol[SymbolCounter,PeriodCounter]+GatorTrend[SymbolCounter,PeriodCounter]+NRTR_Trend[SymbolCounter,PeriodCounter])/3.0;
               if (Symbol()==GetSymbolString(SymbolCounter))
                  {
                  ComString="";
                  for (tf=2;tf<7;tf++)
                     {
                     ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Z_trend=",TrendOnSymbol[SymbolCounter,tf],"  G_trend=",
                     GatorTrend[SymbolCounter,tf],"  N_trend=",NRTR_Trend[SymbolCounter,tf],"n");
                     }
                  Comment(ComString);   
               //Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
                  }
               } 
            }
         }
      }
   
   ArrayInitialize(TPvsSL,0.0);
   ArrayInitialize(BestTPvsSLSymbol,0);
   ArrayInitialize(BestTPvsSLPeriod,0);
   if (TrendExist())
      {
      if (OrdersTotal()<MaxOpenedOrders) TryOpenOrder();
      else TryCloseOrder();
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Rosh:
rsi a écrit (a) :
Et comment se fera le pré-testage des experts multi-devises ?

Vous pouvez commencer à tester les EAs, par exemple, je l'ai fait de cette façon :

...
Merci pour le code. Je vais essayer de le comprendre, mais 1) il serait utile d'avoir une description (je m'excuse pour l'impudence), 2) je pense qu'il ne résout pas la question de manière systématique. Je veux dire qu'il est alors nécessaire d'inclure dans les conditions de compétition (peut-être de le recommander) pour les EA multidevises une obligation d'ajouter ce code à leur programme - afin que les organisateurs puissent effectuer des tests préliminaires de l'EA avant le championnat. N'est-ce pas ?
 
En gros - un Expert Advisor multi-devises devrait permettre un backtest sur chaque symbole et chaque cadre, pour lequel il est déclaré.
Si backtest - nous travaillons seulement sur Symbol() et Period (). Si vous êtes en ligne - nous travaillons sur tous les symboles, inclus dans l'algorithme.
 
Reshetov писал (а):
Mathématiques écrites (a) :

8. Frais d'inscription 100 $ :.... Et voilà qu'ils ont rassemblé une foule hétéroclite, juste pour que les participants puissent compiler une ligne ou deux de code.


En fait, il ne s'agissait pas d'un championnat, mais d'un événement sportif à l'échelle du district, où la condition principale est que quelqu'un, peu importe la manière, soit présent,
mais arriver à la ligne d'arrivée.

Voilà les résultats.
Ce résultat est tout à fait normal, compte tenu du fait que le championnat se déroulait pour la première fois.
C'est la raison pour laquelle les règles du futur championnat sont discutées maintenant.

Il est clair que tout le monde n'est pas prêt à payer les frais d'inscription, et que certains n'en seront peut-être pas capables. Peut-être qu'un seul des membres de la foule hétéroclite battra les super-programmeurs. Alors pourquoi restreindre la capacité des gens à participer au concours.
D'autant plus que les règles seront probablement mises à jour pour tenir compte de toutes, ou de nombreuses, lacunes du dernier championnat.
ainsi que de nouvelles restrictions et exigences.
Tout arrive à un point où un conseiller expert doté d'une stratégie rentable et d'un système de gestion de l'information correct peut être utilisé.
la gestion du capital, et pas seulement la gestion agressive du capital.
 
alexnau писал (а):

Évidemment, tout le monde n'est pas prêt à payer ces frais, et certains ne pourront pas le faire. Peut-être, juste peut-être, que l'un des membres de cette foule hétéroclite battra les super-programmeurs. Alors pourquoi limiter la capacité des gens à participer au concours.
D'autant plus que les règles seront probablement mises à jour pour tenir compte de toutes, ou de nombreuses, lacunes du dernier championnat.
ainsi que de nouvelles restrictions et exigences.
Tout se dirige vers un point où un conseiller expert doté d'une stratégie rentable et d'un système de gestion de l'information correct sera en mesure de répondre aux besoins des utilisateurs.
et pas seulement une gestion agressive du capital.

alexnau, pensez-vous vraiment que les organisateurs, n'ayant reçu qu'un seul ex4 (c'est autorisé), seront capables de résoudre avec compétence la question d'une stratégie rentable et d'une bonne gestion du capital ? Et si l'EA échoue légèrement sur la zone testée ? Alors il est rejeté ?

Les limites et les exigences doivent être raisonnables et ne pas être facilement contournées. Disons que la limite minimale de 10 transactions est facilement contournée. C'est donc déraisonnable.

Les tests préalables sur l'histoire, à mon avis, ne sont nécessaires que pour vérifier la conformité aux exigences formelles déjà décrites dans les Règles 2006 (voir III. Programmes de conseillers experts).

Mais l'évaluation de l'adéquation d'un conseiller expert par l'organisateur du point de vue de la rentabilité et de MM sur l'historique est une tâche éculée : on peut fourrer dans un conseiller expert n'importe quels signaux historiques préparés à l'avance et les donner au testeur à isTesting() == true. Les signauxZigZag en sont un bon exemple : ils sont parfaits sur l'histoire ! Il y a d'ailleurs un point mystérieux dans le règlement du championnat 2006 qui empêche ce genre de trucage :

7. Si le conseiller expert se comporte différemment pendant la vérification préliminaire et pendant le championnat, cela entraînera la disqualification.

Y a-t-il eu des précédents, messieurs les organisateurs du championnat 2006 ? Si non, comment définissez-vous ces différences ?
.

Nous devons donc peut-être accepter le fait que les organisateurs ne pourront pas exclure tous les EA manifestement aventureux au stade de l'admission des EA. Mais nous pouvons supprimer la majorité d'entre eux de manière radicale - par exemple, en faisant payer un petit droit d'entrée de 30 dollars qui n'est remboursé que si l'EA termine le championnat avec des résultats positifs. La foule sera moins nombreuse, mais la qualité des EA devrait augmenter de façon spectaculaire : quel est l'intérêt de rembourser 30 dollars avec un EA de sashken ou Zonker ?

Je propose cette liste d'exigences :

- Frais d'inscription de 30 $, avec un retour uniquement au résultat final d'au moins le capital initial + 30 $.
- Appel de marge de 70% minimum pour le championnat ; en cas d'appel de marge, vous serez immédiatement disqualifié.
- Toutes les exigences formelles du championnat 2006 (voir III. Programmes de conseillers experts).

Conditions commerciales :

- capital initial - 500 $ (si cette condition est trop stricte, alors 1000 $)
- taille de lot minimale de 0,1 et aucune limite sur le lot maximal, le nombre et la taille des positions ouvertes simultanément (avec des ordres en attente).

Aucune limitation sur :

- rentabilité de l histoire
- MM sur l'histoire
- TP/SL
- Nombre de métiers au sein du championnat
- Rapport marge/capitaux propres.
 
Mathemat:
- Frais d'inscription 30 $, remboursables uniquement sur résultat final d'au moins le capital initial + 30 $.
En général, je suis personnellement d'accord pour dire que ce serait une bonne idée d'avoir des frais d'entrée. Des droits d'inscription existent dans les compétitions de presque tous les sports. L'idée d'un remboursement semble déjà, encore une fois pour moi personnellement, quelque peu controversée.
Mais la principale raison pour laquelle cela n'arrivera jamais est l'aspect technique de la question. Demander tous ces frais est un tel tracas qu'il ne sera en aucun cas rentable. Surtout si l'on se souvient que tous les participants potentiels ne vivent pas sur le territoire de la RSSB, c'est-à-dire qu'il faut accepter séparément les paiements en monnaie normale à partir de cartes de crédit, ainsi que les différentes monnaies de substitution. Et un permis pour gérer un commerce de détail avec des cartes de crédit... ? Et tous ces tracas sur la tête des organisateurs au lieu de faire ce qu'ils savent faire.

Alors pourquoi payer 30 $ pour un zoner. Et puis d'en mettre deux, un en haut et un en bas. 60 dollars, c'est de l'argent ridicule quand il y a 40 000 dollars en jeu, et le zonard était proche de gagner, sacrément proche.
 
Nous n'aurons peut-être pas à rembourser le droit d'entrée, qui n'est pas très élevé, mais au moins une incitation à créer une EA décente...

Mais la sélection des experts par signaux est une tâche difficile.

Interdire les inscriptions multiples à partir d'une même IP est très facile à gérer si l'auteur possède au moins deux ordinateurs avec des IP différentes. Ainsi, s'il veut envoyer deux ou plusieurs Expert Advisors différents à partir de différentes IP, il peut le faire sans que les organisateurs ne le remarquent. Le seul véritable problème se posera s'il met en ligne au moins deux de ses œuvres en tant que chefs de file et que les organisateurs veulent interviewer les chefs de file.

Pour être honnête, je ne pense pas que ce soit injuste : si un auteur propose deux EA différents qui finissent finalistes, bravo à l'auteur ! Une autre chose est que cela n'est pas conforme à la tradition même de ces concours. Je n'ai pas l'intention de le faire moi-même :)

En ce qui concerne les EA "miroir", comme EuroBull ou EuroBear de Zonker. Vous pouvez, par exemple, introduire une vérification supplémentaire pour les EA dont la corrélation des signaux est anormalement élevée. Il est extrêmement douteux que différents auteurs aient pu créer indépendamment des conseillers-experts correspondant à des signaux. Donc, soit ils ne les ont pas faits eux-mêmes (ils les ont trouvés sur Internet), soit ils se les sont partagés, soit il s'agit d'un seul auteur. Dans le premier cas, il est fort probable qu'il s'agisse d'un mauvais expert, et dans le deuxième et le troisième, d'un jeu déloyal.

Les organisateurs, par exemple, peuvent exiger le code source de ces EAs compilés dans exactement le même ex4 que celui envoyé aux organisateurs. En cas de refus de fournir le code ou le code compilé dans un autre ex4, - disqualification sans remboursement des frais d'inscription et inscription de l'IP dans la liste noire du championnat. Si les codes "corrects" sont envoyés, et que leur logique est la même, - disqualification pour tous, sauf un, sur la base de l'aigle. Je doute que de telles actions affectent les auteurs, qui ont envoyé un conseiller expert raisonnable et compétent.

P.S. En général, pour plus de solidité, nous pourrions introduire un tour de qualification - disons, pour un mois. Les experts avec un résultat prédéterminé, selon les résultats de qualification, passent au tour principal. Et puis le cycle principal - pendant deux ou trois mois, avec le même conseiller. Oui, il y a une probabilité que certains candidats extrêmes passent au travers. Mais la plupart des perdants évidents - au moins 70% - ne s'en sortiront pas.
 
NRTR_GATOR Indicateur ?
 
Mathemat:
alexnau a écrit (a) :

Tout se résume au fait qu'un conseiller doté d'une stratégie rentable et d'une stratégie appropriée
Il s'agit d'avoir un EA avec une stratégie rentable et une bonne gestion du capital, pas seulement une gestion agressive du capital.

alexnau, pensez-vous vraiment que les organisateurs, n'ayant reçu que des ex4 (c'est autorisé), seront capables de résoudre de manière compétente la question d'une stratégie rentable et d'une gestion correcte du capital ? Et si l'EA échoue légèrement sur la zone testée ? Il est donc rejeté ?
Mathemat J' ai exprimé l'opinion que la qualité des Expert Advisors devrait s'améliorer lors du prochain championnat,
Je ne pense pas que l'organisateur doive " prendre une décision judicieuse sur la rentabilité de la stratégie et la bonne gestion de l'argent " en se basant sur
des tests de l'ex4 dont je n'avais aucune idée.
Raison: