Asesor multidivisa basado en indicadores de cluster - página 4

 

Me interesa más otra cuestión. Esta es la función en el indicador.

//+------------------------------------------------------------------+
//|  Subroutine                                                      |
//+------------------------------------------------------------------+
double ma(string sym, int per, int Mode, int Price, int i)
  {
   double res = 0;
   int k = 1;
   int ma_shift = 0;
   int tf = 0;
   switch(Period())
     {
       case 1:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 5;  // k=6;
       case 5:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 3;  // k=9;
       case 15:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 2;  // k=11;
       case 30:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 2;  // k=13;
       case 60:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=17;
       case 240:   res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 6;  //k=23;
       case 1440:  res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=27;
       case 10080: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=31;
       case 43200: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
     }
   return( res);
  }  
//+------------------------------------------------------------------+

Parece que el cartel se ha confundido. Debería haberse multiplicado.

//+------------------------------------------------------------------+
//|  Subroutine                                                      |
//+------------------------------------------------------------------+
double ma(string sym, int per, int Mode, int Price, int i)
  {
   double res = 0;
   int k = 1;
   int ma_shift = 0;
   int tf = 0;
   switch(Period())
     {
       case 1:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 5;  // k=5;
       case 5:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 3;  // k=15;
       case 15:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 2;  // k=30;
       case 30:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 2;  // k=60;
       case 60:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=240;
       case 240:   res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 6;  // k=1440;
       case 1440:  res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=5760;
       case 10080: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=23040
       case 43200: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
     }
   return( res);
  }  
//+------------------------------------------------------------------+

Y en los dos últimos cálculos se cometió un error.

¿Por qué?

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

Esta pregunta debería dirigirse más bien a Semen Semenych, el autor de los indicadores, pero hace tiempo que no se sabe nada de él ni se le ve. Por lo que tengo entendido, los indicadores se calculan basándose en la idea de que la suma de las líneas de todas las divisas en este momento es igual a 0. Quizá por estas consideraciones haya una suma, no una multiplicación.

Aunque visualmente la diferencia es evidente


 

Colegas, me disculpo por estar fuera de tema ....


sólo para aclarar:

¿existen técnicas para probar los EAs multidivisa?


Gracias.

 
Morzh09 писал(а) >>

Colegas, me disculpo por estar fuera de tema ....

sólo para aclarar:

¿existen técnicas para probar los EAs multidivisa?

Gracias.

Cuando se hacen pruebas en MT4 hay una serie de problemas. El principal no es del todo correcto trabajando con la memoria. En general, no es suficiente. La solución más razonable es importar las cotizaciones (sincronizadas) en un Asesor Experto y hacer todo allí. Incluye el cálculo de los indicadores.

 
Vinin >>:

При тестирования в МТ4 существует ряд проблем. Основная - не совсем корректная работа с памятью. В общем не хватает. Самое разумное - импортировать котирвки (синхронизированные) в программу анализа и делать все там уже. Включая и расчет индикаторов.

¿Qué analizadores de software puede recomendar?

 
evbut писал(а) >>

¿Qué analizadores de software puede recomendar?

Por lo general, cada uno utiliza lo que mejor conoce.

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

¿Podría modificar el indicador tal y como está escrito aquí, es decir, añadir el control de los tiempos y de la carga del historial?

 
evbut писал(а) >>

¿Podría modificar el indicador tal y como está escrito aquí, es decir, añadir el control de los tiempos y de la carga del historial?

Ciertamente puedo, o mejor dicho, hacer mi propio análogo. No deberías arreglar el indicador de otra persona. Debemos dejarlo en la versión de su autor.

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

Sí, eso parece un error. Y los días deben multiplicarse por 5 para obtener una semana.

Por otro lado, la versión del autor "dibuja más bonito", menos dientes. Semenych estaría bien aquí.


USDJPY


 
BLACK_BOX >>:

Семеныча бы сюда.


dónde encontrarlo :)


¿Habrá alguien dispuesto a implementar la CT en código?