Discusión sobre el artículo "El histograma del precio (perfil del mercado) y su implementación en MQL5" - página 10

 
Hola, ¿alguien sabe cómo modificar el código de 'ClassExpert' para construir un perfil de mercado Semanal o Mensual? Pido ayuda
 
Hola, no encuentro los archivos adjuntos. Sólo el histograma de precios.
 
Thiago Duarte:

Elimina el comando "Delete()" y funcionará.

De hecho, la función de borrado se declaró sin tipo; estableciéndola como "void" volverá a funcionar correctamente.
 

Hola chicos, me gustó mucho este indicador, he estado aprendiendo sobre el perfil de mercado por un tiempo y esto es lo mejor que he encontrado.


Acabo de hacer un cambio en el método de cálculo del perfil, he utilizado la garrapata volumen en lugar de verificar sólo si el precio pasado en el punto. Hice esto porque si usted ve, los oficios y los diferentes tiempos tienen diferentes libras, se puede ver en el histograma de volumen. Así que no podemos juntamos cuenta si el precio está allí añadir uno.


¿Está de acuerdo?


El cambio que hice mostró diferencias entre en los dos mettods

 
Hola ¿Alguien sabe si es posible hacer que un robot traicione solo en estas lineas del POC? si es asi, ¿como puedo hacerlo? porque estoy probando todas las variables en el archivo ClassPriceHistogram y los valores son todos ceros, ¿alguien me puede ayudar?
 
Hola Luiz@Luiz Vinicius Pereira Rocha - así que amigo, soy nuevo en programación, y estaba trabajando en un EA que sólo rastrea POCs, valoraciones altas y bajas, y terminé encontrando este indicador. Sin embargo, no pude encontrar el lugar donde almacena los puntos Poc, cuando utilizo la función de impresión en algunas de las variables del autor como: Poc_value, aparecen valores cero. ¿puedes ayudarme?
 

Hola Dmitry

en primer lugar: Gracias por tu gran artículo y trabajo.

Aunque hace mucho tiempo que lo publicaste, funciona bien.

Lo que tengo aqui para ti y la comunidad es una actualizacion, para que el histograma use el tickvolume, porque usar solo la accion del precio en areas de tiempo, donde el volumen es casi cero, no ayuda mucho.

Reemplace el código correspondiente en el archivo ClassPriceHistogram.mqh


bool CPriceHistogram::calculationPOCs()
  {
   int rates_total,rates_high,rates_time,rates_tv,index;
   double iHigh[],iLow[];
   long iTV[];
   datetime iTime[];
// Ïîëó÷àåì äàííûå çà ïåðèîä ñ time_start äî time_end / Obtenemos los datos desde time_start hasta time_end
   int err=0;
   do
     {
      rates_time=CopyTime(NULL,PERIOD_M1,time_start,time_end,iTime);
      rates_high=CopyHigh(NULL,PERIOD_M1,time_start,time_end,iHigh);
      rates_total=CopyLow(NULL,PERIOD_M1,time_start,time_end,iLow);
      
      rates_tv=CopyTickVolume(NULL,PERIOD_M1,time_start,time_end,iTV);
      
      err++;
     }
   while((rates_time<=0 || (rates_total!=rates_high || rates_total!=rates_time || rates_tv!=rates_time)) && err<AMOUNT_OF_ATTEMPTS);
   if(err>=AMOUNT_OF_ATTEMPTS)
     {
      return(false);
     }
   poc_start_time=iTime[0];
   high_day=iHigh[ArrayMaximum(iHigh,0,rates_total)];
   low_day=iLow[ArrayMinimum(iLow,0,rates_total)];
   int count=int((high_day-low_day)/_Point)+1;
// Ïîäñ÷åò äëèòåëüíîñòè íàõîæäåíèÿ öåíû íà êàæäîì óðîâíå / Recuento de la duración de un hallazgo del precio en cada nivel
   int ThicknessOfLevel[];    // ñîçäàåì ìàññèâ äëÿ ïîäñ÷åòà òèêîâ / creamos una matriz para el recuento de tics
   ArrayResize(ThicknessOfLevel,count);
   ArrayInitialize(ThicknessOfLevel,0);
   for(int i=0;i<rates_total;i++)
     {
      double C=iLow[i];
      long CTV=iTV[i];
      // Distribuye el tickvolumen de la barra de minutos en todos los puntos posibles de la barra
      // Así que el incremento por punto será este ...
      int CInc=int(((iHigh[i]-iLow[i])/_Point));  
      while(C<iHigh[i])
        {
         int Index=int((C-low_day)/_Point);
         ThicknessOfLevel[Index]+=CInc;
         C+=_Point;
        }
     }


Admito que es un hack rápido y no he probado cada pieza de código, pero hasta ahora funciona bien.

Aquí un ejemplo con el índice SP500:


Lado izquierdo código original. Lado derecho con tickvolume

 

Estimado Dmitry

Espero que estés bien.

¿Sería posible que implementar búferes para las líneas?

Para cada POC, tal vez un Vwap y Mediana?


Muchas gracias de antemano

 
Sólo un aviso... He descargado todos los archivos a sus directorios correspondientes, compilado, y recibió errores en relación con ClassPriceHistogram.mqh. En la línea 375 en el mismo, simplemente reemplazado
CPriceHistogram::Delete()

con

void CPriceHistogram::Delete()

Ahora funciona bien en AMP Futures' MT5 Version 5.00 Build 3661.

@Oleksandr, este "indicador" es técnicamente un Experto. Los buffers de indicadores no están disponibles en Expertos. Los buffers pueden ser recreados efectivamente usando arrays en Expertos pero solo los buffers de indicadores reales pueden ser llamados por iCustom así que para ese propósito, un nuevo indicador personalizado tendría que ser codificado desde cero. Desafortunadamente, ambas opciones están más allá de mi nivel de capacidad de codificación. Buena suerte en la búsqueda de una ayuda mejor.

 
¿hay alguna manera de trazar la seesion actual?


GRACIAS