STARIJ: Intente escribir la fecha, la hora, la oferta y los resultados de sus cálculos en el archivo para cada tic. A continuación, cárguelo en Excel y compruébelo. No tiene sentido conciliar cada docena de líneas del programa.
Pero mira, tienes return en cada rama del operador condicional, es decir, se ejecuta siempre. Así que lo sacamos del operador condicional:
Oferta[1] - ¿es así?
Gracias. Lo probaré ahora. He entendido lo esencial de tu código y ya es un gran logro para mí :) También vi mis defectos.
STARIJ: Intente escribir en el archivo la fecha, la hora, la oferta y los resultados de sus cálculos para cada tic. A continuación, cárguelo en Excel y compruébelo. No tiene sentido conciliar cada docena de líneas del programa.
Pero mira, tienes return en cada rama del operador condicional, es decir, se ejecuta siempre. Así que lo sacamos del ámbito del operador condicional:
Oferta[1] - ¿es así?
He insertado el código en el "constructor" del indicador personalizado. Lo he recopilado. El compilador ha generado 1 advertencia: Se han definido dos OnCalculate. Se utilizará la versión OHLC (no entiendo lo que significa).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? Por favor, ¿me aconseja?
#property version"1.00"#property strict#property indicator_separate_window#property indicator_buffers2#property indicator_plots2//--- plot Label1#property indicator_label1"Label1"#property indicator_type1DRAW_HISTOGRAM#property indicator_color1clrRed#property indicator_style1STYLE_SOLID#property indicator_width11//--- plot Label2#property indicator_label2"Label2"#property indicator_type2DRAW_HISTOGRAM#property indicator_color2clrDarkTurquoise#property indicator_style2STYLE_SOLID#property indicator_width21//- local variablesint Tick, Tick2; // Для вставки программы используйте кнопку SRCdouble Bid1;
//--- indicator buffersdouble Label1Buffer[];
double Label2Buffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,Label1Buffer);
SetIndexBuffer(1,Label2Buffer);
Bid1=Bid;
//---return(INIT_SUCCEEDED);
}
void start() // Вместо start более модно писать OnTick
{
if(Bid > Bid1) Tick++;
else Tick2++;
Bid1=Bid;
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
He insertado el código en el "constructor" del indicador personalizado. Lo compiló. El compilador me dio una advertencia: se definen dos OnCalculate. Se utilizará la versión OHLC (no sé lo que significa).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? ¿Puede aconsejarnos?
Cuando pegues el código aquí, utiliza el botón del editor de mensajes SRC - en la parte superior del campo de mensajes hay muchas cosas útiles en el panel de formato de mensajes.
No es difícil levantar los ojos justo por encima del texto que estás escribiendo, ¿verdad? Y es mucho más agradable para la gente mirar el código normal en lugar del botín, ¿no?
He insertado tu código en tu post correctamente (SRC)
Cuando pegues el código aquí, utiliza el botón del editor de posts SRC - hay un montón de características útiles en el panel de formato del post en la parte superior de la caja del post.
No es difícil levantar los ojos justo por encima del texto que estás escribiendo, ¿verdad? Y es mucho más agradable para la gente mirar el código normal en lugar del botín, ¿no?
Puse su código en su mensaje para usted correctamente (SRC)
Emitido 1 aviso al compilador: se definen dos OnCalculate. Se utilizará la versión OHLC (no se sabe qué significa esto).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? Por favor, ¿me aconseja?
La función se llamaba antes Inicio, ahora se llama OnTick en el Asesor Experto y OnCalculate en el indicador. El compilador advierte: tienes la misma función dos veces con nombres diferentes. Mueve el contenido de Start a OnCalculate y borra Start. También tendría que describir en su programa, qué y cómo debe mostrarse. Primero decida usted mismo: ¿qué imagen debe haber? Es mejor empezar a estudiar el lenguaje MQL escribiendo scripts. Un Asesor Experto es más complicado, un indicador es aún más complicado
La función antes se llamaba Start, ahora se llama OnTick en el EA y OnCalculate en el indicador. El compilador advierte: tienes la misma función dos veces con nombres diferentes. Mueve el contenido de Start a OnCalculate y borra Start. También tendría que describir en su programa, qué y cómo debe mostrarse. Primero decida usted mismo: ¿qué imagen debe haber? Es mejor empezar a estudiar el lenguaje MQL escribiendo scripts. El Asesor Experto es más difícil, el indicador es aún más difícil.
No puedo insertar el contenido de Start en OnCalculate y me da muchos errores
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Intente escribir la fecha, la hora, la oferta y los resultados de sus cálculos en el archivo para cada tic. A continuación, cárguelo en Excel y compruébelo. No tiene sentido conciliar cada docena de líneas del programa.
Pero mira, tienes return en cada rama del operador condicional, es decir, se ejecuta siempre. Así que lo sacamos del operador condicional:
Oferta[1] - ¿es así?
Gracias. Lo probaré ahora. He entendido lo esencial de tu código y ya es un gran logro para mí :) También vi mis defectos.
¿Qué es el botón SRC?
Intente escribir en el archivo la fecha, la hora, la oferta y los resultados de sus cálculos para cada tic. A continuación, cárguelo en Excel y compruébelo. No tiene sentido conciliar cada docena de líneas del programa.
Pero mira, tienes return en cada rama del operador condicional, es decir, se ejecuta siempre. Así que lo sacamos del ámbito del operador condicional:
Oferta[1] - ¿es así?
He insertado el código en el "constructor" del indicador personalizado. Lo he recopilado. El compilador ha generado 1 advertencia: Se han definido dos OnCalculate. Se utilizará la versión OHLC (no entiendo lo que significa).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? Por favor, ¿me aconseja?
He insertado el código en el "constructor" del indicador personalizado. Lo compiló. El compilador me dio una advertencia: se definen dos OnCalculate. Se utilizará la versión OHLC (no sé lo que significa).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? ¿Puede aconsejarnos?
Cuando pegues el código aquí, utiliza el botón del editor de mensajes SRC - en la parte superior del campo de mensajes hay muchas cosas útiles en el panel de formato de mensajes.
No es difícil levantar los ojos justo por encima del texto que estás escribiendo, ¿verdad? Y es mucho más agradable para la gente mirar el código normal en lugar del botín, ¿no?
He insertado tu código en tu post correctamente (SRC)
Cuando pegues el código aquí, utiliza el botón del editor de posts SRC - hay un montón de características útiles en el panel de formato del post en la parte superior de la caja del post.
No es difícil levantar los ojos justo por encima del texto que estás escribiendo, ¿verdad? Y es mucho más agradable para la gente mirar el código normal en lugar del botín, ¿no?
Puse su código en su mensaje para usted correctamente (SRC)
Sí, gracias. No lo sabía.
Emitido 1 aviso al compilador: se definen dos OnCalculate. Se utilizará la versión OHLC (no se sabe qué significa esto).
Tengo el producto compilado. Adjúntalo a la carta. La ventana separada para el gráfico se abre pero no muestra ninguna información sobre el histograma, a pesar de los ticks.
¿Qué ocurre? Por favor, ¿me aconseja?
La función se llamaba antes Inicio, ahora se llama OnTick en el Asesor Experto y OnCalculate en el indicador. El compilador advierte: tienes la misma función dos veces con nombres diferentes. Mueve el contenido de Start a OnCalculate y borra Start. También tendría que describir en su programa, qué y cómo debe mostrarse. Primero decida usted mismo: ¿qué imagen debe haber? Es mejor empezar a estudiar el lenguaje MQL escribiendo scripts. Un Asesor Experto es más complicado, un indicador es aún más complicado
La función antes se llamaba Start, ahora se llama OnTick en el EA y OnCalculate en el indicador. El compilador advierte: tienes la misma función dos veces con nombres diferentes. Mueve el contenido de Start a OnCalculate y borra Start. También tendría que describir en su programa, qué y cómo debe mostrarse. Primero decida usted mismo: ¿qué imagen debe haber? Es mejor empezar a estudiar el lenguaje MQL escribiendo scripts. El Asesor Experto es más difícil, el indicador es aún más difícil.
No puedo insertar el contenido de Start en OnCalculate y me da muchos errores
El indicador sólo muestra información desde el principio. La ventana de datos (Ctrl-D) muestra los datos de la vela a la que apunta el cursor
:)
¿Y cómo se formula la situación creada con los nombres de las funciones?
inicio - nombre obsoleto. OnTick() es el nombre real de la función de manejo de ticks.
De todos modos, da igual cómo se defina, sólo la palabra "de moda" me hizo sonreír.
inicio - nombre obsoleto. OnTick() es el nombre real de la función de manejo de ticks.
De todos modos, no importa cómo se defina, sólo la palabra "trendy" hace sonreír.