Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 343

 
barabashkakvn:

Cambio en el código de cálculo

a

Es decir, 13 o 12 o algún otro número - este debería ser el parámetro "Período". Periodo de promediación

¡Hurra!

Gracias, ha funcionado. ¿Por qué este parámetro no está en el indicador original? Está preconfigurado por defecto, ¿sabe?

Es decir, sólo establezco el número de barras para promediar y nada más. De hecho, este es el único parámetro en la fuente y se utiliza en la fórmula.

En la última versión, tengo dos parámetros. Número de barras para el promedio y una para el cálculo del SmoothFactor.

 
Alvin1976:

¡Hurra!

Gracias. Pero, ¿por qué no está este parámetro en el indicador original? ¿Sabe si está prescrito por defecto?

Es decir, sólo configuro el número de barras para promediar y ya está. De hecho, en el código fuente, este es el único parámetro que se utiliza en la fórmula.

En la última versión, tengo dos parámetros. Número de barras para el promedio y una para el cálculo del SmoothFactor.

Todo está disponible en el set. Ver el código del indicador "***MQL5\NIndicadores\NEjemplos\NPromedio Móvil Personalizado.mq5"
 
barabashkakvn:
Todo está en la entrega. Vea el código del indicador "***\MQL5\Indicators\Examples\Custom Moving Average.mq5".

De ahí saqué todo :-). Supongo que no entiendo.....

Sin embargo, por alguna razón los valores EMA calculados no coinciden con los originales.

¿Quizás este indicador convertido en función esté disponible en algún lugar?

 
Alvin1976:

De ahí saqué todo :-). Supongo que no entiendo.....

Quiero usarlo como asa y por alguna razón los valores EMA calculados no coinciden con los originales.

¿Tal vez en algún lugar existe este indicador convertido en una función?

¿O tal vez sea mejor crear en OnInit() del EA dos manejadores del indicador iMA con diferentes tipos de suavizado y luego sólo obtener los valores de estos indicadores?

 
barabashkakvn:

¿O tal vez es mejor crear dos mangos del indicador iMA con diferentes tipos de suavizado en OnInit() y luego sólo obtener los valores de estos indicadores?

Ya lo he probado. MQL5 produce algunas tonterías por las asas. Por ejemplo.

¡En la salida en la primera barra obtenemos valores variables aunque la barra ya se haya formado! Todo funciona bien en MQL4 pero aquí es un lío.

     MAvarage1[ns] = INVALID_HANDLE;                        //-----------------------------------
   for (int i=0;i<10;i++) //10 попыток создать индикатор
      {
       MAvarage1[ns]=iMA(Symbols[ns],DopTF2,MAper1[ns],0,MAmet2,PRICE_CLOSE);
       if (MAvarage1[ns] == INVALID_HANDLE) Sleep(1000);
      }
              //Проверим handle 
   if (MAvarage1[ns] == INVALID_HANDLE) 
   {
    Print("Ошибка при создании MAvarage1! (№", GetLastError(), ")");
    return;
   } 

  Recount=false;
  if (CopyBuffer(MAvarage1[ns],0,0,2,MA1)<1) Recount=true;
  if (Recount){
  Print("Ошибка при копировании из индикатора ! (№", GetLastError(), ")");
  return;   
  }
  Print("MA1[1]=",MA1[1]);
 
Alvin1976:

Ya lo he probado. MQL5 produce algunas tonterías por las asas. Por ejemplo.

De este modo, la primera barra emite valores variables aunque la barra ya se haya formado. Todo funciona bien en MQL4 pero aquí es horrible.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Preguntas de los principiantes

Nuncahe intentado utilizar Handlestick en el trading, es demasiado pronto para utilizarlo.

¿O tal vez sería mejor crear dos manejadores de indicadores iMA con diferentes tipos de suavizado en OnInit() del EA y luego sólo obtener los valores de estos indicadores?


 

Ya he tenido muchos problemas para transferir el código a MQL5. El problema es sobre todo con los indicadores. El estocástico está obteniendo unos valores de "izquierda".

He decidido calcular los valores por mí mismo.

Necesito MQL5 sólo para la velocidad de optimización y para comprobar el modo multidivisa. ¡Eso es todo!

No sirve para nada más. Espero que ningún centro de distribución utilice esta "maravilla".

¡Ya tengo resueltos los valores de las variables! ¡Resulta que CopyBuffer invierte el orden de los índices!

¿Por qué iba a hacerlo?

 

Alvin1976:

...¡Aaah con los valores de las variables resueltos! CopyBuffer está invirtiendo el orden de los índices.

¿Por qué lo hago?

No quiero pedirle al indicador lo que no necesita... Imagina que llegas a un quiosco. Y quieres algún periódico de los últimos 3 días... Y dicen, venderemos su periódico, pero sólo para los últimos 20 días... ¿Lo necesitas? :-)
 
denkir:
Si quieres evitar pedir al indicador lo que no necesitas... Imagina que llegas a un quiosco. Y necesitas un periódico de los últimos 3 días. Y le dicen: "Podemos venderle su periódico, pero sólo para los últimos 20 días...". ¿Lo necesitas? :-)

Pues bien, en MQL4 tampoco hay que pedir demasiado. No se trata de la cantidad, sino del orden.

¿Dónde está la lógica? Todo el mundo se ha acostumbrado a que el elemento cero de la matriz sea la barra actual. Por qué cambiar algo ????.

P.D. Lo he arreglado mediante ArraySetAsSeries.

Tumbling .....

 
Alvin1976:

Pues bien, en MQL4 tampoco hay que pedir demasiado. No se trata de la cantidad, sino del orden.

¿Dónde está la lógica? Todo el mundo se ha acostumbrado a que el elemento cero de la matriz sea la barra actual. Por qué cambiar algo ????.

P.D. Lo he arreglado mediante ArraySetAsSeries.

Bailando con la pandereta.....

No es la pandereta, son las innovaciones a las que tendrás que acostumbrarte. Y estas innovaciones facilitarán la tarea en algunos casos. No preguntes por los ejemplos, no lo discutiré.