Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 8

 
Slawa:

La información sobre los 8 búferes es obsoleta

En el nuevo MQL4 se pueden configurar hasta 512 buffers.

Para entenderlo, vea el código fuente de los indicadores en la carpeta MQL4\Indicadores\NEjemplos. Y leer la documentación

Gracias, por supuesto, por el enlace al libro de referencia:) Sin embargo, ya lo he revisado. Lamentablemente, no he encontrado nada específico - qué hacen estos búferes adicionales, qué se muestra, qué no, etc. - sólo funciones, y no hay nada sobre la estructura y el propósito de los nuevos "búferes".

El hombre está pidiendo una respuesta en el foro, no un enlace a un libro de referencia. ¿Tal vez alguien pueda explicarlo con más detalle? :) ¿O al menos un enlace a un artículo que lo explique?

 
Ilya Melamed:

Gracias, por supuesto, por el enlace a la guía:) Sin embargo, ya lo he revisado. Lamentablemente no he encontrado nada específico - para qué se necesitan los buffers adicionales, qué se muestra, qué no, etc... sólo funciones, pero nada sobre la estructura y el propósito, la lógica de los "buffers" actualizados.

La persona está pidiendo una respuesta en el foro, no un enlace a un libro de referencia. ¿Tal vez alguien pueda explicarlo con más detalle? :) ¿O al menos un enlace a un artículo donde se explique esto?

Disfruta:

https://www.mql5.com/ru/articles/1500

https://www.mql5.com/ru/articles/1503

 
Ilya Melamed:

Gracias, por supuesto, por el enlace a la guía:) Sin embargo, ya lo he revisado. Lamentablemente no he encontrado nada específico - para qué se necesitan los buffers adicionales, qué se muestra, qué no, etc... sólo funciones, y nada sobre la estructura y el propósito, o la lógica de los "buffers" actualizados.

El hombre está pidiendo una respuesta en el foro, no un enlace a un libro de referencia. ¿Tal vez alguien pueda explicarlo con más detalle? :) ¿O al menos un enlace a un artículo donde se explique?

En el nuevo mql4 no es necesario utilizar búferes adicionales.

Se mostrará lo que se ponga en el búfer. Tal vez, no se pueda mostrar nada, si el tipo de serie del gráfico es DRAW_NONE.

La función principal del indicador es OnCalculate(). Empieza con ello:

https://docs.mql4.com/ru/basis/function/events#oncalculate

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
Sería algo para disfrutar. Es todo muy antiguo.

Ilya Melamed

Lea los artículos, por supuesto, pero tenga en cuenta, que la función principal es diferente y es mejor construir el principio de los indicadores de manera diferente ahora (ver el enlace que di en el post anterior). También puede consultar los indicadores de CodeBase, escritospor Nikolay Kositsin. Se las comió todas:).

 

Saludos.

Estoy escribiendo un EA en MT4 después de anular OnTick() de una función:

Print("TEXTO");

(mi tarea es escribir "TEXTO" en mi registro en cada tic).

Lo compilo y muestra "TEXTO" en el diario del probador en cada tic. Cuando habilito el mismo Asesor Experto en el gráfico, la carga se completa con éxito y eso es todo, el texto "TEXTO" está ausente.

Al mismo tiempo, las funciones Comment() y Alert() en el gráfico y en el probador funcionan de la misma manera.

¿Qué estoy haciendo mal?

 
spoiltboy:

Saludos.

Estoy escribiendo un EA en MT4 después de anular OnTick() de una función:

Print("TEXTO");

(mi tarea es escribir "TEXTO" en mi registro en cada tic).

Lo compilo y muestra "TEXTO" en el diario del probador en cada tic. Cuando habilito el mismo Asesor Experto en el gráfico, la carga se completa con éxito y eso es todo, el texto "TEXTO" está ausente.

Al mismo tiempo, las funciones Comment() y Alert() en el gráfico y en el probador funcionan de la misma manera.

¿Qué estoy haciendo mal?

Por favor, adjunte el código completo del Asesor Experto y el nombre del instrumento con el que lo ejecuta.
 
Alexey Kozitsyn:
Por favor, adjunte el código completo del Asesor Experto y el nombre del instrumento en el que lo está ejecutando.

Cualquier instrumento, USDCHF, H1 por ejemplo.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");
  }
//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
spoiltboy:

Saludos.

Estoy escribiendo un EA en MT4 después de anular OnTick() de una función:

Print("TEXTO");

(mi tarea es escribir "TEXTO" en mi registro en cada tic).

Lo compilo y muestra "TEXTO" en el diario del probador en cada tic. Cuando habilito el mismo Asesor Experto en el gráfico, la carga se completa con éxito y eso es todo, el texto "TEXTO" está ausente.

Al mismo tiempo, las funciones Comment() y Alert() funcionan de la misma manera en el gráfico y en el probador.

¿Qué estoy haciendo mal?

Tienes razón. En ese momento no había garrapatas. Para hacerlo más claro, añade un contador de ticks e imprime su valor.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}
 
Vitalie Postolache:

Es cierto, es que no había garrapatas en ese momento. Para hacerlo más claro, añade un contador de ticks e imprime su valor.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}

Lasfunciones Comment() y Alert() funcionan de forma idéntica en el gráfico y en el probador.

¿Qué estoy haciendo mal?

 
spoiltboy:

Cualquier instrumento, USDCHF, H1 por ejemplo.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");

return(0);
  }
//+------------------------------------------------------------------+