Dígame, ¿existe una función que pueda enviar una posición para su posterior trabajo (modificación) utilizando , ulong deal; // Ticket deal, si se realiza por el ticket del deal, recordado anteriormente? Probablemente, esa elección requeriría algún algoritmo complejo, como que la mano izquierda roce la oreja derecha.
Dimka-novitsek: Dígame, ¿existe una función que pueda enviar una posición para su posterior trabajo (modificación) utilizando , ulong deal; // Ticket deal, si se realiza por el ticket del deal, recordado anteriormente? Probablemente, esta elección requerirá algún algoritmo complejo, como que la mano izquierda roce la oreja derecha...
Cada operación tiene un identificador de posición. Utilizando este identificador, intentaremos buscar la posición en sí.
Buenas noches a todos. Veo que la gente está interesada en esta rama. Sobre el campeonato...
¡Todavía no he comprobado mis datos enviados desde la información cerrada para el campeonato, aunque el experto - comprobado!
¿Cuándo se revisarán?
Si el robot se comprueba sin errores, no hay que preocuparse. Según tengo entendido, el experto se comprueba automáticamente, pero los datos personales se comprueban manualmente.
Buenas noches a todos. Veo que la gente está interesada en esta rama. Sobre el campeonato...
¡Todavía no he comprobado mis datos enviados desde la información cerrada para el campeonato, aunque el experto - comprobado!
¿Cuándo se revisarán?
Se ha aconsejado en otro lugar: si hay alguna pregunta, un competidor registrado puede escribir fácilmente sobre su problema en la sección "Discusión" de su página de campeonato. El mensaje llegará al destinatario mucho más rápido que a través del foro.
Hay un trozo de código del artículo que define el inicio de una nueva barra.
staticdatetime Old_Time;
datetime New_Time[1];
bool IsNewBar=false;
// копируем время текущего бара в элемент New_Time[0]int copied=CopyTime(_Symbol,_Period,0,1,New_Time);
if(copied>0) // ok, успешно скопировано
{
if(Old_Time!=New_Time[0]) // если старое время не равно
{
IsNewBar=true; // новый барif(MQL5InfoInteger(MQL5_DEBUGGING))
Print("Новый бар",New_Time[0],"старый бар",Old_Time);
Old_Time=New_Time[0]; // сохраняем время бара
}
}
else
{
Alert("Ошибка копирования времени, номер ошибки =",GetLastError());
ResetLastError();
return;
}
//--- советник должен проверять условия совершения новой торговой операции только при новом бареif(IsNewBar==false)
{
return;
}
Todo funciona bien. Pero quiero incluir el cálculo de diferentes estadísticas pesadas en el último si. Quiero tener cálculos mínimos en el momento de una nueva barra.
Esta es mi pregunta. Cómo se comportará este código si las estadísticas se calculan para un tiempo relativamente largo (digamos, 2 segundos) y la brecha entre los ticks de la barra antigua y la nueva es mínima.
Por lo que entiendo, mientrasla función OnTick() está calculando los ticks se saltarán pero el siguiente tick será nuevo para el EA, aunque no sea el primero de la barra.
St.Vitaliy: Cómo se comportará este código, si las estadísticas se leen durante un tiempo relativamente largo (digamos 2 segundos)
Si la función OnTick() se ejecuta durante 2 segundos, entonces todas las cotizaciones que vengan durante este periodo serán ignoradas por el Asesor Experto. ¿Este es el punto que querías aclarar? Una "nueva" cotización para el Asesor Experto será una cotización que llegue inmediatamente después de que se ejecute la función OnTick(), aunque esta cotización no sea el "primer tick de la barra".
Yedelkin: Si la función OnTick() se ejecuta durante 2 segundos, entonces todas las cotizaciones que vengan dentro de este marco de tiempo serán ignoradas por el EA. ¿Es este el punto que querías aclarar?
Aquí, estos 2 segundos se ignoran (y los ticks durante este tiempo), pero en el tercer tick, por ejemplo, vendrá otro tick y el código lo percibirá como nuevo en la barra?
Esto se confirma indirectamente por el hecho de que cuando ejecuto el EA, el siguiente tick es siempre el primero.
Si la estadística se calcula para 90 segundos, la condición para un nuevo tick en M1 se ejecutará al menos una vez?
St.Vitaliy: Aquí, estos 2 segundos se ignoran (y los ticks durante este tiempo), pero en el tercero, por ejemplo, vendrá otro tick y el código lo aceptará como un nuevo tick en la barra? Indirectamente se demuestra por el hecho, que cuando ejecuto el EA, el siguiente tick es siempre el primero. Hago una pregunta diferente, si las estadísticas se calcularán durante 90 segundos, ¿se cumplirá alguna vez la condición de un nuevo tick en M1?
Bueno, ya lo he terminado arriba. Permítanme repetir: la "nueva" cotización para el Asesor Experto es una cotización que llega justo después de la finalización de la siguiente función OnTick(), incluso si esta cotización no es el "primer tick de una barra". Su condición de una nueva barra que llega
if(Old_Time!=New_Time[0])
se comprobará sólo después de que el Asesor Experto termine de procesar la cotización que llegó en la barra "anterior"... Si la función OnTick() se ejecuta durante 90 segundos y se inicia a las 00.00.00, la "condición para un nuevo tick en M1 se ejecutará en algún momento", concretamente después de las 00.01.30
Dígame, ¿existe una función que pueda enviar una posición para su posterior trabajo (modificación) utilizando , ulong deal; // Ticket deal, si se realiza por el ticket del deal, recordado anteriormente? Probablemente, esta elección requerirá algún algoritmo complejo, como que la mano izquierda roce la oreja derecha...
Buenas noches a todos. Veo que la gente está interesada en esta rama. Sobre el campeonato...
¡Todavía no he comprobado mis datos enviados desde la información cerrada para el campeonato, aunque el experto - comprobado!
¿Cuándo se revisarán?
Buenas noches a todos. Veo que la gente está interesada en esta rama. Sobre el campeonato...
¡Todavía no he comprobado mis datos enviados desde la información cerrada para el campeonato, aunque el experto - comprobado!
¿Cuándo se revisarán?
Buenas noches a todos. Veo que la gente está interesada en esta rama. Sobre el campeonato...
¡Todavía no he comprobado mis datos enviados desde la información cerrada para el campeonato, aunque el experto - comprobado!
¿Cuándo se revisarán?
Tengo una pregunta.
Hay un trozo de código del artículo que define el inicio de una nueva barra.
Todo funciona bien. Pero quiero incluir el cálculo de diferentes estadísticas pesadas en el último si. Quiero tener cálculos mínimos en el momento de una nueva barra.
Esta es mi pregunta. Cómo se comportará este código si las estadísticas se calculan para un tiempo relativamente largo (digamos, 2 segundos) y la brecha entre los ticks de la barra antigua y la nueva es mínima.
Por lo que entiendo, mientrasla función OnTick() está calculando los ticks se saltarán pero el siguiente tick será nuevo para el EA, aunque no sea el primero de la barra.
La comprobación manual aún no ha funcionado
Si la función OnTick() se ejecuta durante 2 segundos, entonces todas las cotizaciones que vengan dentro de este marco de tiempo serán ignoradas por el EA. ¿Es este el punto que querías aclarar?
Aquí, estos 2 segundos se ignoran (y los ticks durante este tiempo), pero en el tercer tick, por ejemplo, vendrá otro tick y el código lo percibirá como nuevo en la barra?
Esto se confirma indirectamente por el hecho de que cuando ejecuto el EA, el siguiente tick es siempre el primero.
Si la estadística se calcula para 90 segundos, la condición para un nuevo tick en M1 se ejecutará al menos una vez?
Cada operación tiene un identificador de posición. Utilice este identificador para buscar el propio puesto.
Bueno, ya lo he terminado arriba. Permítanme repetir: la "nueva" cotización para el Asesor Experto es una cotización que llega justo después de la finalización de la siguiente función OnTick(), incluso si esta cotización no es el "primer tick de una barra". Su condición de una nueva barra que llega
se comprobará sólo después de que el Asesor Experto termine de procesar la cotización que llegó en la barra "anterior"... Si la función OnTick() se ejecuta durante 90 segundos y se inicia a las 00.00.00, la "condición para un nuevo tick en M1 se ejecutará en algún momento", concretamente después de las 00.01.30