no necesito fracciones de segundo. Necesito captar el primer segundo de una nueva barra
así
datetime NB_M1;
intOnInit()
{
}
voidOnTick()
{
if (CIsNewBar(_Symbol,PERIOD_M1)) // (1) Если появился новый бар M1
{NB_M1=TimeCurrent();}
......
}
y para guardar el valor anterior
datetime NB_01_M1, NB_02_M1;
intOnInit()
{
}
voidOnTick()
{
if (CIsNewBar(_Symbol,PERIOD_M1)) // (1) Если появился новый бар M1
{NB_02_M1=NB_01_M1; NB_01_M1=TimeCurrent();}
......
}
AMarkov: Eso parece ser lo que necesitas. ¡¡¡Muchas gracias!!!
Esta no es la manera de hacerlo. Así se obtienen los precios mínimos y máximos del instrumento, no del oscilador. A un programador experimentado le da vergüenza dar esas respuestas a preguntas tan elementales...
De hecho, necesitas obtener los datos del oscilador utilizando el CopyBufer
int s, len;
double main[];
double min, max;
len = (int)ChartGetInteger(0, CHART_VISIBLE_BARS); // длина копируемых видимых значений
s = (int)ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR) - len + 1; // 1-й видимый бар минус длина -- начало копируемых баровif (CopyBuffer(handle, MAIN_LINE, s, len, main) != len)
return;
// handle - хэндэл осциллятора// MAIN_LINE - меняем на нужный индекс буфера осциллятора// получаем мин. и макс. значения
min = main[ArrayMinimum(main, 0, WHOLE_ARRAY)];
max = main[ArrayMaximum(main, 0, WHOLE_ARRAY)];
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.
con los identificadores CHART_PRICE_MIN y CHART_PRICE_MAX
devuelve true/false , ¿de qué hora estamos hablando?
La clase almacena la hora del tick anterior, y verdadero/falso no es devuelto por la clase, sino por una función miembrode la misma:
La clase almacena la hora del tick anterior, y verdadero/falso no es devuelto por la clase, sino por una función miembrode la misma:
¡En el código que has publicado la barra de sólo público!
Dado que la clase informa de una nueva barra, el tiempo es iTime(todo lo que necesita,0),
respectivamente la hora anterior iTime(all you need,1)
Z.U. Tal vez sepas cómo obtener el tiempo con fracciones de segundo...
¡En el código que has puesto, la publc es sólo bool!
Teniendo en cuenta que la clase informa de una nueva barra, el tiempo es iTime(todo lo que necesita,0),
respectivamente la hora anterior iTime(all you need,1)
Z.U. Tal vez sepas cómo obtener el tiempo en fracciones de segundo...
Mi error, lo siento
no necesito fracciones de segundo. Necesito captar el primer segundo de una nueva barra
Te equivocas un poco, lo siento
no necesito fracciones de segundo. Necesito captar el primer segundo de una nueva barra
así
y para guardar el valor anterior
entonces es así
Gracias, MakarFX, lo probaré)
Ok, gracias, lo pensaré y lo ejecutaré en el probador.
cuénteme más sobre la función martin en su código.
¿Dónde necesito reemplazar algo para que Martin se extienda a pedidos rentables en lugar de no rentables?
Por favor, cuéntame más sobre la función martin en tu código.
¿Dónde debo sustituir qué, para que se aplique un martin a las órdenes rentables en lugar de a las perdedoras?
Resaltado...si <0, entonces el lote de una operación perdedora se incrementa
si >0, entonces el lote de una operación con beneficios se incrementa
Eso parece ser lo que necesitas. ¡¡¡Muchas gracias!!!
Esta no es la manera de hacerlo. Así se obtienen los precios mínimos y máximos del instrumento, no del oscilador. A un programador experimentado le da vergüenza dar esas respuestas a preguntas tan elementales...
De hecho, necesitas obtener los datos del oscilador utilizando el CopyBufer
Cómo crear un oscilador
O cualquier otro oscilador que necesites.
Resaltado...si <0, entonces el lote de la operación perdedora se incrementa
si >0 entonces el lote de la operación rentable se incrementa
Muchas gracias