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

 
Vladimir Karputov:

Así que en el hilo de discusión de EA) deberías preguntar.

Tengo entendido que el autor es de Brasil
 
La gente no entiende lo siguiente, ¿por qué cada vez que se apaga el Terminal desaparecen la Barra de Herramientas, las Herramientas, el Navegador, la Vigilancia del Mercado y por eso tengo que arreglar manualmente estas cosas constantemente? ¡¡¡Gracias por la ayuda!!!
 
noran919:
La gente no entiende lo siguiente, ¿por qué cada vez que se apaga el Terminal desaparecen la Barra de Herramientas, las Herramientas, el Navegador, la Vigilancia del Mercado y por eso tengo que arreglar manualmente estas cosas constantemente? Gracias por su ayuda.

¿Quizás el terminal está en un directorio que no es escribible? Parece que no puede sobrescribir el último archivo de perfil.
Si es así, mueva el terminal a un directorio al que tenga acceso.

 
noran919:
La gente no entiende lo siguiente, ¿por qué cada vez que se apaga el Terminal desaparecen la Barra de Herramientas, las Herramientas, el Navegador, la Vigilancia del Mercado y por eso tengo que arreglar manualmente estas cosas constantemente? Gracias por su ayuda.
¿Has pulsado F11?
 
Por favor, dígame cómo escribir un código correcto para que el indicador no calcule cada tick, sino cada segundo, si puede mostrar un ejemplo, digamos que el indicador cada segundo suma 1+1
 
gonsharov:
Por favor, díganme cómo escribir correctamente el código del indicador para que no calcule cada tick, sino cada segundo, si pueden mostrarlo con un ejemplo, digamos que el indicador suma 1+1 cada segundo.

Dos enfoques:

  1. En OnCalculate, estima la diferencia entre la hora actual y la última utilizada: cómo funciona - digamos que 2018.09.28 15-30-31 fue el último cálculo. Llegó la nueva garrapata - comprobar el tiempo - y todavía tenemos el mismo 2018.09.28 15-30-31 - por lo que no hacemos nada, y sólo cuando el tiempo actual se convierte en más de 2018.09.28 15-30-31 - calcular y recordar este tiempo.
  2. Utilice OnTimer(). Personalmente estoy en contra de este método.

 

Se enfrentó a un problema similar.

//---------

Quiero tener una variable remota con segundos (para el optimizador).

Entrada ushort Time = 120;

Supongamos que el tiempo es de 120 segundos en esta variable.

Siguiente -

void OnTick()

{

Recuerda la hora actual.

Comprueba la hora actual.

Si el tiempo pasó sobre el Tiempo , entonces -

BuyBuff=0;

//----------

¿Puede darme un ejemplo de código? Parece sencillo en palabras, pero en código me resulta difícil.

 
EgorKim:

Se enfrentó a un problema similar.

//---------

Quiero tener una variable remota con segundos (para el optimizador).

Entrada ushort Time = 120;

Supongamos que el tiempo es de 120 segundos en esta variable.

Siguiente -

void OnTick()

{

Recuerda la hora actual.

Comprueba la hora actual.

Si el tiempo pasó sobre el Tiempo , entonces -

BuyBuff=0;

//----------

¿Puede darme un ejemplo de código? Parece sencillo en palabras, pero en código me resulta difícil.

Ejemplo:

//+------------------------------------------------------------------+
//|                                      Example Pause in OnTick.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//--- input parameters
input int      InpTime=120;   // minimum pause (in seconds)
//---
datetime m_prev_time=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 
   m_prev_time=0;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   datetime time_0=TimeCurrent();
   if(m_prev_time+InpTime>time_0)
      return;
   m_prev_time=time_0;
   Print(m_prev_time);
  }
//+------------------------------------------------------------------+
Archivos adjuntos:
 

Muchas gracias.

Una petición más.

Por favor, añade este asesor para mt5 a la base de código.

https://www.mql5.com/ru/code/14085

 
EgorKim:

Muchas gracias.

Una petición más.

Por favor, añade este asesor para mt5 a la base de código.

https://www.mql5.com/ru/code/14085

1. Completar los puestos es algo malo. Entonces nadie puede entender por qué se ha actualizado el tema, pero no hay ningún post nuevo.

2) Estudiar el artículo:¿Cómo copiar señales usando EAs según sus propias reglas?