Pregunta sobre el asesor multidivisa - página 6

 

Bueno, esa no es la queja aquí.

Es como si acabaras de ver las reglas por primera vez.... Este tema ya se ha discutido - en los primeros hilos del campeonato - ver la página de inicio

 

Estoy probando y optimizando mi Asesor Experto en el historial de Metaquotes. Al principio trabajé con la build 208 (instalación para Alpari) - necesito puntos de contador, pero no hay ninguno en la 209. Posteriormente he probado el Expert Advisor con los mismos parámetros y sobre el mismo historial descargado de Metaquotes de la misma forma en la build 209 (instalación por Metaquotes). Los resultados son muy diferentes. También el número de barras en la historia y la cantidad de ticks simulados son diferentes, incluso si las pruebas son de la misma calidad. Por favor, dígame la razón del diferente algoritmo de operación de las builds 208 y 209 o tal vez es debido a la configuración de los símbolos (spread, swap, depósito, niveles de parada, etc.) en un caso son los de Alpari, en el otro - los de Metakvotes? ¿O la razón es otra? ¿Y cómo puedo hacer pruebas y optimizaciones adecuadas en los datos de Metakvotes - historia teniendo una construcción 208 de Alpari? ¿Dónde puedo descargar la versión 208 (instalación de Metakvotes)?

He descargado el historial utilizando la receta de Renat 'Campeonato de Trading Automatizado 2007: Errores comunes en los EAs' previamente borrado todos los archivos .hst.

Informe de comprobación de la estrategia
trabajador
MetaQuotes-Demo (Build 208)


Símbolo EURUSD (Euro vs. Dólar)
Periodo 15 minutos (M15) 1999.01.05 13:00 - 2007.09.07 22:45
Modelo Todos los ticks (basados en todos los períodos más pequeños disponibles con interpolación fractal de cada tick)
Parámetros
Bares en la historia 215177 Garrapatas modeladas 13375536 Calidad de los modelos 89.96%
Depósito inicial 10000.00
Beneficio neto 3484.57 Beneficio total 14828.81 Pérdida total -11344.24
Rentabilidad 1.31 Expectativa de ganar 7.20
Reducción absoluta 896.44 Reducción máxima 1255.96 (12.12%) Reducción relativa 12.12% (1255.96)
Total de operaciones 484 Posiciones cortas (% de ganancias) 249 (47.79%) Posiciones largas (% de ganancias) 235 (52.77%)
Operaciones rentables (% del total) 243 (50.21%) Operaciones con pérdidas (% del total) 241 (49.79%)
El más grande comercio rentable 426.34 trato perdedor -99.96
Media acuerdo rentable 61.02 comercio perdedor -47.07
Número máximo victorias continuas (beneficios) 6 (466.42) Pérdidas continuas (pérdida) 7 (-275.39)
Máximo Beneficio continuo (número de victorias) 653.20 (4) Pérdida continua (número de pérdidas) -286.62 (3)
Media ganancias continuas 2 Pérdida continua 2

Informe de comprobación de la estrategia
trabajador
MetaQuotes-Demo (Build 209)


Símbolo EURUSD (Euro vs. Dólar)
Periodo 15 minutos (M15) 1999.01.05 13:00 - 2007.09.07 22:45 (1970.01.01 - 2007.09.08)
Modelo Todos los ticks (basados en todos los períodos más pequeños disponibles con interpolación fractal de cada tick)
Parámetros
Bares en la historia 215437 Garrapatas modeladas 15419309 Calidad de los modelos 89.96%
Depósito inicial 10000.00
Beneficio neto 1882.77 Beneficio total 13653.61 Pérdida total -11770.84
Rentabilidad 1.16 Remuneración esperada 3.82
Reducción absoluta 896.21 Reducción máxima 1331.85 (12.52%) Reducción relativa 12.52% (1331.85)
Total de operaciones 493 Posiciones cortas (% de ganancias) 263 (48.67%) Posiciones largas (% de ganancias) 230 (51.30%)
Operaciones rentables (% del total) 246 (49.90%) Operaciones con pérdidas (% del total) 247 (50.10%)
El más grande comercio rentable 426.34 trato perdedor -99.96
Media acuerdo rentable 55.50 comercio perdedor -47.66
Máximo victorias continuas (beneficios) 6 (466.42) Pérdidas continuas (pérdida) 7 (-275.39)
Máximo Beneficio continuo (número de victorias) 522.72 (3) Pérdida continua (número de pérdidas) -318.74 (5)
Media ganancias continuas 2 Pérdida continua 2

 

Al parecer, es el propio feed de citas. Por ejemplo, los precios de apertura/cierre de las distintas versiones históricas son ligeramente diferentes, por lo que el movimiento de precios dentro de una barra se modelará de forma ligeramente diferente. Y con paradas =40/50 esto ya tendrá un impacto.

Además, no está del todo claro, ¿hiciste la prueba las dos veces en mt4 Alpari? (Con diferentes comillas).

¿O la segunda vez usando mt4 MQ? Tal vez, los márgenes son diferentes allí. Y para 500 operaciones - ya 1 pip es "-500".

Y los intercambios son los mismos...

 
rid:

Al parecer, es la propia alimentación del precio. Por ejemplo, los precios de apertura/cierre de las diferentes versiones históricas son ligeramente diferentes y, por tanto, el movimiento del precio dentro de la barra se modelará de forma ligeramente diferente. Y con stops =40/50 esto ya tendrá un impacto.

Además, no está del todo claro, ¿hiciste la prueba las dos veces en mt4 Alpari? (Con diferentes comillas).

¿O la segunda vez usando mt4 MQ? Tal vez, los márgenes son diferentes allí. Y para 500 operaciones - ya 1 pip es "-500".

Y los intercambios son lo mismo...


¿Cuál es el objetivo aquí? Los presupuestos se cargan en ambos terminales desde el Centro de Historia de Metacvotecs. El primer terminal se creó a partir de la instalación de Alpari (build 208), el segundo a partir de la instalación de Metakvotes (build 209). Ambos se registraron a su vez en una cuenta de prueba (emitida por Metakvotes para participar en el campeonato) y se subieron las cotizaciones según la receta de Renat. Las primeras 300 operaciones, más o menos, van casi 1:1 (lo que confirma la identidad de las cotizaciones, los spreads, los swaps...), y luego de forma diferente (ver las declaraciones). Es sorprendente que la calidad de los modelos sea la misma :(

Y otra cosa sorprendente: el Asesor Experto no es complejo, sólo utiliza un indicador incorporado y muestra 2-3 veces mejores resultados en los datos de Alpari que en los datos del Centro Histórico de Metakvotes. Y ninguna optimización le permite acercarse a los resultados de Alpari. Esto a pesar del hecho de que cuando el comercio con la constante de 0,1 lote MOL alrededor de 35, PF = 2,5, ofertas duran a veces durante varios días, es decir, TS claramente no scalper / scalper.

Archivos adjuntos:
test.zip  278 kb
 

Otra cosa que puedo adivinar es esto.

Yo también he tenido problemas con el historial, cuando he registrado un terminal MT4 en diferentes DCs. Al principio todo parecía estar bien. Y entonces debí hacer clic en algún sitio y trozos de la historia de una empresa de corretaje (para un mismo par) empezaron a colarse en la historia de otra. O los trozos empezaron a caerse del todo. Finalmente, todo se desordenó tanto que me niego a abrir cuentas de diferentes empresas de corretaje en un solo terminal.

¡Ahora tengo cuatro cuentas de Mt4 en mi copm de diferentes empresas de corretaje, pero arreglé el problema con este lío! Intenta hacerlo de la misma manera.

P.D. También me he dado cuenta. Hay una empresa de corretaje Masterforex (no lo considere un anuncio - sólo decir ...) . Así que con sus cotizaciones, mis EAs por alguna razón muestran excelentes resultados en la historia. Pero en Lite o Alpari -con los mismos parámetros y calidad- algo peor.

 
rid:

Otra cosa que puedo adivinar es esto.

Yo también he tenido problemas con el historial, cuando he registrado un terminal MT4 en diferentes DCs. Al principio todo parecía estar bien. Y entonces debí hacer clic en algún sitio y trozos de la historia de una empresa de corretaje (para un mismo par) empezaron a colarse en la historia de otra. O los trozos empezaron a caerse del todo. Finalmente, todo se desordenó tanto que me niego a abrir cuentas de diferentes empresas de corretaje en un solo terminal.

¡Ahora tengo cuatro cuentas de Mt4 en mi copm de diferentes empresas de corretaje, pero arreglé el problema con este lío! Intenta hacer lo mismo.


Gracias, pero soy consciente de este problema. Escribí más arriba que tomé instalaciones limpias, las instalé, borré todos los archivos .hst, registré cada uno de los dos terminales a una sola cuenta emitida por Metacvotes, borré todos los otros terminales de la carpeta config, para que no pudiera haber ninguna confusión y las piezas extrañas de la historia no tuvieran de dónde salir. Y puramente el terminal probador Alpari, en el que obtuve 2-3 veces mejores resultados antes, nunca se registró en ninguna empresa de corretaje o cuenta en absoluto. Se carga con archivos .hst de Alpari.
 
La pregunta sigue siendo por qué se da la misma calidad de simulación para diferentes números de barras y ticks simulados. Y además, ¿dónde está la garantía de que la carpeta de descarga con un mayor volumen de historia sin omisiones? Resulta que, no se puede confiar en la evaluación cuantitativa de la calidad de la simulación dada por el probador?
 

No puedes confiar en nadie.

No creo que el probador reaccione al número de barras.

Y en cuanto a la evaluación de la calidad, podemos ver que la cantidad de calidad se evalúa mediante los siguientes criterios : - Cómo se llena completamente el marco de tiempo probado con las citas de los minutos dentro de él. Si está lleno, entonces =90%. Si no está completamente lleno, la calidad es menor.

Pero tengo bajas inexplicables en las cotizaciones (desde septiembre hasta octubre/noviembre de 2006) para todos los TFs en Fuj y Kiwi (al cargar). Pero el probador no lo nota y da =90%, ya que todas las demás barras en cualquier marco temporal están completamente llenas de minutos.

Y el hecho de que las barras faltan - el probador no ve.

Tal vez te falten una o dos semanas de historia en alguna parte. De ahí la diferencia.

Z

 

La cuestión de un EA multidivisa ha vuelto a surgir. ¡Hay que hacer que uno de los pares funcione en el modo de precio abierto! He encontrado un ejemplo de este tipo de diseño en los artículos. Primero lo pegué en la versión simple. Todo funcionó.

int start()
//ждем открытия нового бара. Если появл. новый бар - проверяем возможность сделки
 {if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0];

Luego lo inserté en mi Asesor Experto multidivisa de la misma manera. Y todos los pares funcionaron con los precios de apertura. Pero no las necesito todas. Sólo necesito uno: el segundo par. Lo he hecho así:

He declarado en global - static int prevtime = 0;

ЗАДАЕМ ВНЕШНИЕ ПАРАМЕТРЫ ПО КАЖДОЙ ПАРЕ
 static int prevtime = 0;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
 
int start()
  {  
 int Orders=OrdersTotal ();     //получаем кол-во открытых ордеров
if (Orders<3)                 //если  открытых ордеров <3
  { 
if (выключатель 1 вкл) {РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ПЕРВУЮ ПАРУ } 
if (выключатель 2 вкл) 
{
if(Time[0] == prevtime) 
       return(0);
   prevtime = Time[0]; 
 
РАСЧЕТ ИНДЮКОВ И ОТКРЫВАЕМ ВТОРУЮ ПАРУ } 
  }
//========================================================================
for (int x=0; x<OrdersTotal(); x++)                                             {
    if (OrderSelect(x, SELECT_BY_POS, MODE_TRADES)) 
{       
if (UseTrailing 1) - ТРЕЙЛИНГ ПЕРВОЙ ПАРЫ
... ... ...
if (UseTrailing 2) - Трейлинг второй пары
}
//======================================================================
   return(0);
  }

Además después de cada billete del segundo par insertado :

ticket=OrderSend("EURUSD", OP_BUY,Lots,_ask ,3,_bid-SL_long*_point,
                       _ask +TP_long*_point,"M_4",MagicEURUSD,0,CLR_NONE);
 
                        Sleep(30000);
                       if(ticket < 0)   {
                           prevtime = Time[1];
                         }

Nada funciona. ¡El EA continúa trabajando en el segundo par a través de todos los ticks!

Intenté otra construcción. Probé con otro.

bool isNewBar=false;
if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }
//-------------------------------------------------------
 
if (isNewBar) {

He fijado las variables de antemano:

int         ExpertBars;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
ExpertBars = Bars;
//----------------
   return(0);

Pero .... La misma historia. Cuando lo pongo al principio, todos los pares funcionan por precios de apertura. Pero cuando quiero aplicarlo a un par, no funciona. Estoy luchando por el tercer día.

Estaré encantado de recibir cualquier consejo y recomendación....

 
rid:
Los nombres resaltados en rojo por ME se refieren al instrumento al que está vinculado el EA. Pruebe a utilizar iTime() en lugar de Time[].