Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1321

 
¿Quién más puede ayudar? Como hacer una pausa en los ticks o candelabros (barras), para no quedarse dormido (Sleep), es decir, por ejemplo, después de cerrar una operación de 100 barras no operar, no hacer nada, para que la función funcione en el tester y en el real.
Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
 
Порт-моне тв:
¿Quién más puede ayudar? Cómo hacer una pausa en los ticks o candelabros (barras), para no dormirse (Sleep), es decir, por ejemplo, después de que la transacción se cierra para 100 bares, no para el comercio, no hacer nada, para que la función funciona en el probador y en la cuenta real.

encontrar la última orden cerrada en el historial con su mago y símbolo

la hora de cierre estará disponible para este pedido

averiguar el tiempo actual cada tick y restar este tiempo del tiempo encontrado de una orden cerrada y compararlo con lo que necesita, incluso en barras - una barra tiene un tiempo de apertura y el marco de tiempo, o simplemente en segundos


el único problema es la primera orden, al determinar la última orden cerrada, si no se ha encontrado en el historial, deberíamos devolver 0, es decir, 1970.01.01.


No voy a escribir el código - debe estar en las funciones KIM cómo encontrar el último orden cerrado

 
Igor Makanu:

encontrar la última orden cerrada en el historial con su mago y símbolo

la hora de cierre estará disponible para este pedido

averiguar el tiempo actual cada tick y restar este tiempo del tiempo encontrado de una orden cerrada y compararlo con lo que necesita, incluso en barras - una barra tiene un tiempo de apertura y el marco de tiempo, o simplemente en segundos


el único problema es la primera orden, al determinar la última orden cerrada, si no se ha encontrado en el historial, deberíamos devolver 0, es decir, 1970.01.01.


No voy a escribir el código - debe estar en las funciones KIM cómo encontrar el último orden cerrado

Será mejor que me digas cómo funciona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // para saltar.


No funciona en el probador. Y lo que has escrito es complicado y repulsivo.

 
Порт-моне тв:

será mejor que me digas cómo funciona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // para saltar.

input int WaitXBars = 100;
//+------------------------------------------------------------------+
void OnStart()
{
   int WaitXBarsInSec = PeriodSeconds() * WaitXBars;
   if(TimeCurrent() - LastOrderCloseTime() > WaitXBarsinSec)
   {
      // выставим новый ордер
   }
Puerto mone tv:

Y lo que has escrito es complejo y repulsivo.

No tengo nada en contra, espera, tal vez alguien sugiera una forma más sencilla, yo sugerí la forma más confiable

 
Порт-моне тв:

será mejor que me digas cómo funciona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // para saltar.

tu barra actual siempre es cero
y siempre es menor que 100, ya que NULL es menor que STA
te escribieron que necesitabas la hora de la última posición cerrada
e incluso te especificaron donde buscar

incluso hay una función que devuelve el número de barra, ya estás listo


 
Igor Makanu:

No tengo nada en contra de ello, esperen tal vez que alguien me diga cómo hacerlo más fácil, sugerí como confiable

Si puedes - envíame un ejemplo con el código de la oferta, no he encontrado nada en internet

 
Порт-моне тв:

Si es posible, envíame un ejemplo de código de transacción, no encuentro nada en internet

https://www.mql5.com/ru/forum/131859

 
Iurii Tokman:

tu barra actual es siempre cero
y siempre es menor que 100, porque el cero es menor que el CTA
te escribieron que necesitas la hora de la última posición cerrada
e incluso te indicaron donde buscar

incluso hay una función que devuelve el número de barra, ya estás listo


No lo entiendo. ¿Dónde se introduce el número de barras pendientes?

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
 
Igor Makanu:

número de barras deespera entonces?

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
 
Порт-моне тв:
No lo entiendo, ¿dónde estáel número de barras que hay queesperar entonces?

su ejemplo ya dice
sólo hay que cambiar la hora

Razón de la queja: