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

 
Lo siento, tengo que salir una hora, no puedo ignorarlo. Si no tengo noticias tuyas cuando llegue, esperaré pacientemente. Lo siento.
 
Artyom Trishkin:

¿A qué hora es esta nueva flecha y a qué hora comienza el ciclo?

Usted mismo debe ocuparse de su código. O bien imprimes todos los valores y entiendes de dónde vienen, o pones un punto de interrupción y vas al depurador y ves todos los valores en cada paso. Pero no creo que necesites el depurador todavía...

Por supuesto por mí mismo, y sólo de esta manera, pero me estáis ayudando mucho, gracias. Imprimo todo, lo desmonto. No es que la flecha no exista, es que no la ve. Tengo la misma configuración en el indicador paralelo que se ejecuta en este gráfico y los accesos del Asesor Experto en el código.

En cualquier caso, ya me liaré más tarde, muchas gracias. Si no encuentro nada, también lo haré y volveré a pedir ayuda.

 
Sergey Voytsekhovsky:

Por supuesto que lo hago yo mismo, pero ustedes me ayudan mucho, gracias. Imprimo todo en una fila, lo desmonto. Escribe todo correctamente, como si la flecha no estuviera ahí, no se da cuenta. Tengo la misma configuración en el indicador paralelo que se ejecuta en este gráfico y los accesos del Asesor Experto en el código.

En cualquier caso, ya me liaré más tarde, muchas gracias. Si no encuentro nada, también escribiré y volveré a pedir ayuda.

¿A qué hora es esta nueva flecha y a qué hora comienza el ciclo?
 
Chicos, por favor, ver mis comentarios aquí es el enlacehttps://www.mql5.com/ru/forum/160683/page848#comment_11760845
 
Artyom Trishkin:
¿A qué hora es esta nueva flecha y a qué hora comienza el ciclo?

Flecha hacia abajo en el gráfico horario de hoy 20.00 (hace 4 velas)

Expert Advisor considera que la última flecha hacia abajo fue hace 59 velas

El último ciclo comenzó a las 00:00

 
Seric29:

Otra cuestión es cómo crear un bucle que pueda funcionar en ambos sentidos, si necesita ejecutarse de forma incremental, si necesita ejecutarse de forma decremental. Este es un esquema de ejemplo de cómo funcionaría.

Si (algo sucedió) {asignación de valores a las variables} entonces el bucle será llamado y tendrá un cuerpo, cuyos cálculos dependerán de los valores del bucle

for( en función de las variables anteriores incremento o decremento)

{ cuerpo }

No hay forma de duplicar la condición, tiene que ser especificada una vez en el bucle. ¿Es posible hacer esto?

puedes hacerlo con for(), puedes hacerlo con if() - romper en un bucle infinito, también puedes escoger condiciones para la interrupción del bucle en while(), aquí hice un script de prueba con for():

#property strict
//+------------------------------------------------------------------+
void OnStart()
  {
   Print("loop(10,1) :");
   loop(10,1);
   Print("loop(5,-1) :");
   loop(5,-1);
  }
//+------------------------------------------------------------------+
void loop(int limit,int offset)
  {
   for(int i=0;fabs(i)<=fabs(limit);i+=offset)
     {
      Print("i = ",i);
     }
  }
//+----------------------------------------------------------------

resultado:

2019.05.21 08:13:43.126 Script t1 EURUSD,M15: eliminado

2019.05.21 08:13:43.126 t1 EURUSD,M15: uninit reason 0

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = -5

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = -4

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = -3

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = -2

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = -1

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 0

2019.05.21 08:13:43.126 t1 EURUSD,M15: loop(5,-1) :

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 10

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 9

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 8

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 7

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 6

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 5

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 4

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 3

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 2

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 1

2019.05.21 08:13:43.126 t1 EURUSD,M15: i = 0

2019.05.21 08:13:43.126 t1 EURUSD,M15: loop(10,1) :

2019.05.21 08:13:43.126 t1 EURUSD,M15: inicializado

2019.05.21 08:13:43.095 Script t1 EURUSD,M15: cargado con éxito


 
Igor Makanu:

Ya veo.

¿No hay forma de exportar funciones de plantilla desde c++?

 
Artyom Trishkin:
¿A qué hora es esta nueva flecha y a qué hora comienza el ciclo?

Buenas tardes. Creo que he encontrado el problema, estoy investigando cómo solucionarlo. Todo se arregló (el EA vio las señales extremas, ejecutándolo en el probador también confirmó todo) después de que introduje los parámetros del indicador igual no sólo en la ventana de configuración del EA y del indicador, sino también en el propio código del indicador.

 
Sova-kmv :

¡Buenos días a todos! La gente, bueno, dime si alguien sabe.

Aquí puedes obtener los precios actuales utilizando este código.

Pregunta:

¿Cómo sujetarlo correctamente?

Pues bien, sería posible obtenerlo de varios pares de divisas.

Bueno, ¡estoy tratando de entenderlo!

Puedes probarlo:

 SymbolInfoDouble ( _Symbol , SYMBOL_BID );

Puede sustituir _Símbolo por el par de divisas seleccionado. Digamos: AUDCAD o EURUSD o cualquier otra cosa.

 
sitio web
Razón de la queja: