Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 645
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Taras, ¿es posible hacer esa normalización del gráfico para el cambio de fotogramas por el clic del ratón?
A veces, por costumbre, hago clic cuando el cursor está cerca del botón, pero no me gusta el resultado.
No he encontrado nada adecuado en la lista de manejo de eventos, sólo hayCHARTEVENT_CHART_CHANGE sin ninguna descripción específica. Puedo intentar vincular un clic del ratón, pero por lo que tengo entendido el usuario no puede trabajar con el menú del sistema, sólo si crea sus propios botones. ¿Hay alguna solución sencilla?
Taras, ¿es posible hacer esa normalización del gráfico para el cambio de fotogramas por el clic del ratón?
A veces, por costumbre, hago clic cuando el cursor está cerca del botón, pero no me gusta el resultado.
No he encontrado nada adecuado en la lista de manejo de eventos, sólo hayCHARTEVENT_CHART_CHANGE sin ninguna descripción específica. Puedo intentar vincular el clic del botón del ratón, pero por lo que entiendo el usuario no puede trabajar con el menú del sistema, sólo si crea sus propios botones. ¿Hay alguna solución sencilla?
Es decir, ¿hacer clic en algunas "zonas de grifo" del gráfico?
Si se puede, hay que llevar la cuenta de las coordenadas del cursor y de los clics del botón del ratón.
CHARTEVENT_MOUSE_MOVE
Foro sobre trading, sistemas de trading automatizados y comprobación de estrategias
Cualquier pregunta para principiantes sobre MQL4, ayuda y discusión sobre algoritmos y códigos
Taras Slobodyanik, 2018.10.04 09:37
¿Te refieres a hacer clic con el ratón en algunas "zonas de toque" del gráfico?
Si se puede, hay que llevar un registro de las coordenadas del cursor y de los clics del ratón.
recuerde el período de caracteres actual y en"CHARTEVENT_CHART_CHANGE" compruebe los cambios y haga lo que tenga que hacer
Por favor, dígame por qué la misma función del cuerpo del EA OnTick() no funciona (o mejor dicho, funciona, pero falla en todos los gráficos correctamente)
Pero desde el procedimiento OnInit() funciona bien y desde un script ordinario también. El Asesor de Expertos se instala en 80 gráficos a la vez (20 monedas, cada 4 ventanas W1 D1 H4 H1) puede sólo mi equipo no puede hacer frente? Por favor, avisa. El propósito del robot es emitir los mensajes MessageBox en la pantalla, si se detecta una señal en uno de los gráficos. ¿Quizá el ordenador va lento en el momento de iniciar estos mensajes?Tengo problemas para recordar el periodo previo a la gestión de un evento, ¿dónde lo hago?
Decidido a rastrear por mensaje, resulta que CHARTEVENT_CHART_CHANGE se procesa 2 veces en un clic, la variable ctime se reinicia.
#propiedad estricta
#propiedad ventana_del_gráfica_del_indicador
int ctime;
void OnInit()
{
Print(" OnInit------------1 ", ChartPeriod(0));
Print("OnInit ctime = ", ctime);
// ctime=ChartPeriod(0);
}
int OnCalculate(const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
ctime=Período de la carta(0);
return(rates_total);
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
if(id==CHARTEVENT_CHART_CHANGE)
{
Print("Se inicia CHARTEVENT_CHART_CHANGE ctime=", ctime);
if(ctime!=ChartPeriod(0))
{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Print(ChartPeriod(0), " CHANGED!!!!!!!!!!!!!!! ", ctime);
}
}
}
Añadir el indicador a la hora, y luego cambiar a diario
2018.10.05 01:04:45.171 _t1 CADJPY,Daily: CHARTEVENT_CHART_CHANGE se inicia ctime=1440
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2018.10.05 01:04:45.156 _t1 CADJPY,Daily: 1440 CHANGED!!!!!!!!!!!!!!! 0
2018.10.05 01:04:45.156 _t1 CADJPY,Daily: CHARTEVENT_CHART_CHANGE se inicia ctime=0
2018.10.05 01:04:45.156 _t1 CADJPY,Daily: inicializado
2018.10.05 01:04:45.156 _t1 CADJPY,Daily: OnInit ctime=0
2018.10.05 01:04:45.156 _t1 CADJPY,Daily: OnInit------------1 1440
2018.10.05 01:04:45.156 _t1 CADJPY,H1: uninit reason 3
2018.10.05 01:02:02.000 _t1 CADJPY,H1: CHARTEVENT_CHART_CHANGE se inicia ctime=60
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2018.10.05 01:02:02.000 _t1 CADJPY,H1: 60 CHANGED!!!!!!!!!!!!!!! 0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: CHARTEVENT_CHART_CHANGE se inicia ctime=0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: inicializado
2018.10.05 01:02:02.000 _t1 CADJPY,H1: OnInit ctime=0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: OnInit------------1 60
2018.10.05 01:02:01.078 Indicador personalizado _t1 CADJPY,H1: cargado con éxito
Tengo problemas para recordar el periodo anterior al procesamiento del evento, ¿dónde hay que hacerlo?
Decidido a rastrear por mensaje, resulta que CHARTEVENT_CHART_CHANGE se procesa 2 veces en un clic, la variable ctime se reinicia.
¡Poner el código en el mensaje correctamente! Es muy difícil de leer en esta forma. Debe ser así.
Cuando se cambian los parámetros de un gráfico, el indicador se recarga forzosamente, lea en el documento el motivo de la desinicialización y su variable de razón.
Puede utilizar las variables globales del terminal para guardar los parámetros necesarios.
Introduzca el código correctamente en el mensaje. Es muy difícil leerlo así. Debería ser así.
El indicador se reiniciará forzosamente cuando se cambien los parámetros del gráfico lea el doc para el motivo de desinicialización y su variable de razón.
Puede utilizar las variables globales del terminal para guardar los parámetros necesarios.
Sí, es necesario almacenar los valores en GlobalVariable, y luego, al inicio, comprobar su existencia.
Es decir, se debe guardar el número de la carta, el símbolo y el punto.
Y luego eliminar las variables innecesarias, o hacerlas inicialmente como variables globales temporales.
ps. también se puede almacenar información en objetos en el gráfico - mientras el gráfico exista, los objetos existen
Pensé que sería mucho más fácil :-)
Entonces una pregunta bastante infantil - mi código no implica ningún comercio o gráfico, ¿qué tipo de programa debo utilizar?
Los guiones son puntuales, pero ¿se pueden ejecutar en bucle? Declaré un indicador personalizado por pura inercia, porque nunca he usado Asesores Expertos. Nunca los he utilizado, pero se reinician automáticamente, lo que no necesito. necesito su consejo.
ps
Los objetos pueden ser de tamaño cero, para que visualmente no estorben?