mql5 - línea vertical después de un tiempo determinado desde la última operación - página 5

 

Último trato Mover Línea vertical

versión "1.004"

Ahora la línea se desplaza según las necesidades.

   long offset_seconds=60*60*1;
   if(profit_last_day<=0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*24;
     }
   else if(profit_last_day>0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*2;
     }

   VLineMove(0,InpVLineName,time[rates_total-1]+offset_seconds);


Después de eliminar el indicador del gráfico, el comentario del gráfico se borra y la línea también.

//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function                                 | 
//+------------------------------------------------------------------+ 
void OnDeinit(const int reason)
  {
   Comment("");
   VLineDelete(0,InpVLineName);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
Archivos adjuntos:
 
Vladimir Karputov:

Último trato Mover Línea vertical

versión "1.004"

Ahora la línea se desplaza según las necesidades.


Después de eliminar el indicador del gráfico, el comentario del gráfico se borra y la línea también.

¡Genial!
Sólo que, según entiendo, hay una inexactitud en la definición del tiempo requerido, a saber, el desplazamiento se añade a la hora actual, mientras que debería añadirse a la hora de cierre de la última operación.
Como resultado, la línea puede acabar tanto en el futuro como en el pasado:
- en el futuro. Por ejemplo, la última operación se realizó hace 10 minutos con resultados negativos para la propia operación y para el día en su conjunto: la línea se desplazó 23 horas y 50 minutos con respecto a la hora actual.
- en el pasado. Por ejemplo, la última operación fue anoche a las 20:00 horas, por lo que el resultado es más en la operación y más en el día - la línea se trazó en la barra de ayer correspondiente a la hora 21:00

 
No opero con este indicador mientras la línea está en el futuro - recuperando emocionalmente para tomar la siguiente decisión de trading con la cabeza fría
 
renatmt5:

¡Genial!
Pero, por lo que veo, hay una inexactitud en la especificación del tiempo requerido, a saber, el turno se añade a la hora actual mientras que el turno debería añadirse a la hora de cierre de la última operación.
Como resultado, la línea puede acabar tanto en el futuro como en el pasado:
- en el futuro. Por ejemplo, la última operación se realizó hace 10 minutos con resultados negativos para la propia operación y para el día en su conjunto: la línea se desplazó 23 horas y 50 minutos con respecto a la hora actual.
- en el pasado. Por ejemplo, la última operación fue anoche a las 20:00 horas, por lo que el resultado es más en la operación y más en el día - la línea se trazó en la barra de ayer correspondiente a la hora 21:00

No es el tiempo lo que se define de forma imprecisa, son los términos de referencia los que se van afinando :)

Por lo tanto, tenemos que modificar la función LastProfitForPeriod y añadirle un tercer argumento: la hora de la última operación. Pero lo haré a la hora de comer.

 
Vladimir Karputov:

No es el tiempo lo que se define de forma imprecisa, son los términos de referencia los que se van afinando :)

Por lo tanto, tenemos que modificar la función LastProfitForPeriod y añadirle un tercer argumento: la hora de la última operación. Pero lo haré a la hora de comer.

Vladimir, ¡seguro que tendré en cuenta la inexactitud de la especificación de requisitos en el futuro!

 
Sí, también me acabo de dar cuenta de que el beneficio del último día y el beneficio del último negocio ya no se cuentan en los comentarios, sino que se muestran como ceros.
Mi última operación fue hace 19 horas, es decir, dentro de +-24 horas de la hora actual
 
Por si acaso - entre la última transacción de ayer y la actual hubo una operación de corretaje ACID_NW - comisión según tengo entendido. Pero nunca se sabe - tal vez de alguna manera "rompió" el algoritmo de cálculo
 
Después de cerrar la orden, los datos de Profitlast day y Profit last deal se actualizaron y el resultado de la nueva última operación y el día actual se mostraron correctamente.
 
renatmt5:
Por si acaso - entre la última operación de ayer y la actual hubo una operación del broker ACID_NW - comisión, según tengo entendido. Y quién sabe - tal vez de alguna manera "rompió" el algoritmo de cálculo

No voy a cambiar nada, ya que cada vez hay más sutilezas en función del tipo de cuenta: compensación o cobertura.


No voy a cambiar nada, porque cada vez hay más matices en función del tipo de cuenta: compensación o cobertura.

 
Vladimir Karputov:

No voy a cambiar nada, ya que cada vez hay más sutilezas según el tipo de cuenta: neteo o cobertura.


El resto depende de ti.

Bien.
Muchas gracias por tu ayuda, Vladimir.

Razón de la queja: