¡EL CAMPEONATO DE COMERCIO DE 2007! - página 10

 
rsi:
¿Cómo realizarías las pruebas previas de los EAs multidivisa?

Es posible incluir en un EA la posibilidad de hacer pruebas, por ejemplo, yo lo hice así:

//+------------------------------------------------------------------+
//| 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 escribió (a):
¿Y cómo se llevará a cabo la prueba previa de los expertos en multidivisas?

Puedes empezar a probar EAs, por ejemplo, yo lo hice así:

...
Gracias por el código. Intentaré entenderlo, pero 1) sería útil tener una descripción (pido disculpas por la impudicia), 2) creo que no resuelve la cuestión de forma sistemática. Quiero decir, que entonces es necesario incluir en las condiciones de la competición (tal vez recomendarlo) para los EAs multidivisa un requisito para añadir este código a su programa - por lo que los organizadores podrían llevar a cabo pruebas preliminares del EA antes del campeonato. ¿Verdad?
 
A grandes rasgos, un Asesor Experto multidivisa debería permitir una prueba retrospectiva en cada símbolo y cada marco, para el que se declara.
Si el backtest - trabajamos sólo en Symbol() y Period (). Si está en línea - trabajamos en todos los símbolos, incluidos en el algoritmo.
 
Reshetov писал (а):
Matemáticas escribió (a):

8. La cuota de inscripción es de 100 dólares:.... Y aquí se reunió una multitud variopinta, sólo para que los participantes pudieran compilar una o dos líneas de código.


En esencia, no se trataba de un campeonato, sino de algo parecido a un evento deportivo a nivel de distrito, en el que la condición principal es que alguien, no importa cómo,
pero llega a la meta.

Esos son los resultados.
El resultado es bastante normal, teniendo en cuenta que era la primera vez que se celebraba el campeonato.
Para ello, se están discutiendo ahora las reglas del futuro campeonato.

Está claro que no todo el mundo está dispuesto a pagar la cuota de inscripción, y que algunos no podrán hacerlo. Tal vez, sólo uno de los variopintos participantes gane a los superprogramadores. Entonces, ¿por qué restringir la capacidad de la gente para participar en el concurso?
Sobre todo porque probablemente se actualizarán las reglas para tener en cuenta todas, o muchas, de las deficiencias del último campeonato
además de nuevas restricciones y requisitos.
Todo va hacia el punto en el que un Asesor Experto con una estrategia rentable y correcta
gestión del capital, no sólo una gestión agresiva del capital.
 
alexnau писал (а):

Está claro que no todo el mundo está dispuesto a pagar la cuota, y que algunos no podrán hacerlo. Quizás, sólo quizás, uno de los abigarrados gane a los superprogramadores. Entonces, ¿por qué limitar la capacidad de la gente para participar en el concurso?
Sobre todo porque probablemente se actualizarán las reglas para tener en cuenta todas, o muchas, de las deficiencias del último campeonato
además de nuevas restricciones y requisitos.
Todo va hacia el punto en el que un Asesor Experto con una estrategia rentable y correcta
y no sólo una gestión agresiva del capital.

alexnau, ¿realmente crees que los organizadores, habiendo recibido sólo un ex4 (esto está permitido), serán capaces de resolver competentemente la cuestión de una estrategia rentable y una gestión adecuada del capital? ¿Y qué pasa si el EA falla ligeramente en la zona probada? ¿Entonces se rechaza?

Las limitaciones y los requisitos deben ser razonables y no se pueden eludir fácilmente. Digamos que el límite mínimo de 10 operaciones se puede eludir fácilmente. Por lo tanto, no es razonable.

En mi opinión, el control previo de los antecedentes sólo es necesario para comprobar el cumplimiento de los requisitos formales ya descritos en el Reglamento de 2006 (véase III. Programas de asesores expertos).

Pero la evaluación de la adecuación de un Asesor Experto a la rentabilidad y a la gestión de la movilidad en el historial es una tarea rancia: se puede meter en un Asesor Experto cualquier señal histórica preparada de antemano y dársela a un probador en isTesting() == true. Las señales deZigZag son un buen ejemplo: ¡son perfectas en la historia! Por cierto, hay un punto misterioso en el Reglamento del Campeonato de 2006 que impide este tipo de fingimiento:

7. Si el Asesor Experto se comporta de manera diferente durante la comprobación preliminar y durante el Campeonato, dará lugar a la descalificación.

¿Hubo algún precedente, señores, organizadores del Campeonato 2006? Si no es así, ¿cómo se definen estas diferencias?
.

Así que, tal vez, tengamos que aceptar el hecho de que los organizadores no podrán excluir a todos los EA evidentemente aventureros en la fase de admisión de los mismos. Pero podemos eliminar la mayoría de ellos de forma radical, por ejemplo, cobrando una pequeña cuota de inscripción de 30 dólares que se devuelve sólo cuando el EA termina el Campeonato con algún resultado positivo. El público será menor, pero la calidad de los EAs debería aumentar drásticamente: ¿qué sentido tiene pagar 30 dólares con un EA de sashken o Zonker?

Propongo esta lista de requisitos:

- Cuota de inscripción de 30 dólares, con una devolución sólo al resultado final de al menos el capital inicial + 30 dólares
- Margen mínimo del 70% para el Campeonato; en caso de que se produzca un Margin Call, será descalificado inmediatamente.
- Todos los requisitos formales del Campeonato de 2006 (véase III. Programas de asesores expertos).

Condiciones comerciales:

- capital inicial - 500 dólares (si esta condición es demasiado estricta, entonces 1000 dólares)
- tamaño mínimo del lote 0,1 y sin límites en el lote máximo, número y tamaño de las posiciones abiertas simultáneamente (con órdenes pendientes).

No hay limitaciones en:

- rentabilidad de la historia
- MM en la historia
- TP/SL
- Número de oficios en el Campeonato
- Ratio de margen/patrimonio neto.
 
Mathemat:
- Cuota de inscripción 30$, reembolsable sólo si el resultado final es de al menos el capital inicial + 30$
En general, personalmente estoy de acuerdo en que sería una buena idea tener cuotas de entrada. En las competiciones de casi todos los deportes existen cuotas de inscripción. La idea de un reembolso ya me parece, de nuevo personalmente, algo controvertida.
Pero la razón principal por la que nunca ocurrirá es el aspecto técnico de la cuestión. Pedir todas esas tasas es una molestia tan grande que no va a compensar de ninguna manera. Sobre todo si se recuerda que no todos los participantes potenciales viven en el territorio de la RMB, es decir, aceptar los pagos en dinero normal de las tarjetas de crédito por separado, diferente dinero sustituto por separado. ¿Y un permiso para llevar un negocio de venta al por menor con tarjetas de crédito...? Y todo este jaleo en la cabeza de los organizadores en lugar de hacer lo que saben hacer.

Entonces, ¿por qué pagar 30 dólares por una zonificación? Y luego poner dos de ellos, uno arriba y otro abajo. 60 dólares es un dinero ridículo cuando hay 40 mil en juego, y la zonker estuvo cerca de ganar, muy cerca.
 
Bueno, puede que no tengamos que devolver la entrada, que no es demasiado dinero, pero al menos algún incentivo para crear un EA decente...

Pero la selección de expertos por señales es una tarea desconcertante.

Prohibir el registro múltiple desde una IP es muy fácil de manejar si el autor tiene al menos dos ordenadores con IP diferentes. Así, si quiere enviar dos o más Asesores Expertos diferentes desde diferentes IPs, puede hacerlo sin que los organizadores se den cuenta. El único problema real surgirá si sube al menos dos de sus obras como líderes y los organizadores quieren entrevistar a los líderes.

Para ser sincero, no creo que sea injusto: si un autor pone dos EA diferentes que acaban siendo subcampeones, ¡felicidades para el autor! Otra cosa es que esto no se ajuste a la propia tradición de estos concursos. Yo no tengo intención de hacerlo :)

En cuanto a los EAs "espejo", como el EuroBull o el EuroBear de Zonker. Puede, por ejemplo, introducir una comprobación adicional para los EAs con una correlación de señales anormalmente alta. Es muy dudoso que diferentes autores puedan crear independientemente Asesores Expertos que coincidan con las señales. Así que, o bien no los hicieron ellos mismos (los encontraron en Internet), o los compartieron entre ellos, o bien se trata de un solo autor. En el primer caso, es muy probable que se trate de un mal perito, y en el segundo y el tercero se trata de un juego desleal.

Los organizadores, digamos, pueden exigir el código fuente de estos EAs compilados exactamente en el mismo ex4 que se envió a los organizadores. En caso de negarse a proporcionar el código o el código compilado en otro ex4, - descalificación sin devolución de la cuota de inscripción y puesta de la IP en la lista negra de los Campeonatos. Si se envían los códigos "correctos" y su lógica es la misma - descalificación para todos menos uno sobre una base de remonte de águila. Dudo que tales acciones afecten a los autores, que enviaron un Asesor Experto razonable y competente.

P.D. En general, para la solidez, podríamos introducir una ronda de clasificación, por ejemplo, durante un mes. Los expertos con un resultado predeterminado, según los resultados de la calificación, pasan a la ronda principal. Y luego la ronda principal, durante dos o tres meses, con el mismo asesor. Sí, existe la probabilidad de que algunos candidatos extremos logren pasar. Pero la mayoría de los perdedores evidentes -al menos el 70%- no lo conseguirán.
 
Indicador NRTR_GATOR ?
 
Mathemat:
alexnau escribió (a):

Todo se reduce al hecho de que un asesor con una estrategia rentable incorporada y adecuada
Se trata de tener un EA con una estrategia rentable y una gestión adecuada del capital, no sólo una gestión agresiva del mismo.

alexnau, ¿realmente crees que los organizadores, habiendo recibido sólo el ex4 (está permitido), serán capaces de resolver competentemente la cuestión de una estrategia rentable y una correcta gestión del capital? ¿Y qué pasa si el EA falla ligeramente en la zona probada? Entonces, ¿se rechaza?
Matemática He expresado la opinión de que la calidad de los Asesores Expertos debería mejorar en el próximo Campeonato,
No creo que el Organizador deba "tomar una decisión acertada sobre la rentabilidad de la estrategia y la correcta gestión del dinero" basándose en
pruebas de ex4 no tenía ni idea.
Razón de la queja: