Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1256
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Cómo puedo saber el tipo de parámetro de entrada?
el propio compilador sustituye los tipos en el momento de la llamada a la función de plantilla, si dicha llamada no estaba todavía en el código, entonces el compilador creará otra copia de la función y establecerá los tipos por sí mismo - bueno, como si lógicamente - una plantilla
si la pregunta es sobre cómo definir el tipo en dicha función, utilice
typename
UPD: añadido al ejemplo anterior el parámetro tipo impresoras:
2020.09.16 18:58:21.679 tst (EURUSD,M5) int myfunc<int,int>(int,int)
2020.09.16 18:58:21.680 tst (EURUSD,M5) val1 = 2, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 3, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) 5
2020.09.16 18:58:21.681 tst (EURUSD,M5) int myfunc<double,double>(double,double)
2020.09.16 18:58:21.681 tst (EURUSD,M5) val1 = 10.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 30.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) 40
UPD: añadido__FUNCSIG__ a este ejemplo
Por la tarde.
Me encuentro con algo extraño al escribir un indicador en MQL5 (indicador en una subventana separada, 4 líneas).
Las descripciones de los búferes iniciales son las siguientes:
Siguiente en OnInit:
Esencialmente: el indicador dibuja 4 líneas: las dos primeras son de un solo color, las dos siguientes son bicolores (cambian de color en las curvas).
El bicolor se debe a la forma de dibujar DRAW_COLOR_LINE.
Pregunta: la primera línea (búferes 2 y 3 en el código anterior) se dibuja perfectamente y todo el código escrito para ella en OnInit funciona;
Es decir, en lugar del texto que puse en la ventana de datos, sólo aparece el nombre del indicador en lugar del buffer. Aunque la propia línea está trazada, y es, como debe ser, multicolor.segunda línea aparece por alguna razón, por ejemplo la línea no funciona:
Creo que el truco está en el cambio de numeración? Por ejemplo, no estoy seguro de por qué en la parte superior del código, cuando declaro la última línea con la directiva #property, el índice debería ser 4, y no 5, ya que antes se han utilizado 4 buffers. ¿Existe alguna relación entre la numeración de líneas al declarar con #property y la numeración de buffers al enlazar con arrays en OnInit?
Por favor, indique qué es lo que está mal en el código anterior. Quizá alguien pueda encontrar un ejemplo de indicador en el que se dibujen al menos dos líneas utilizando el método de dibujo DRAW_COLOR_LINE....
Otra pregunta relacionada: ¿cómo se unen los topes de las líneas de colores? Es decir, ¿cómo sabe el código compilado que si pongo un valor en un búfer de color, este color debe utilizarse para colorear una línea de algún otro búfer?
Por la tarde.
Me encuentro con algo extraño al escribir un indicador en MQL5 (indicador en una subventana separada, 4 líneas).
Las descripciones de los búferes iniciales son las siguientes:
Siguiente en OnInit:
Esencialmente: el indicador dibuja 4 líneas: las dos primeras son de un solo color, las dos siguientes son bicolores (cambian de color en las curvas).
El bicolor se debe a la forma de dibujar DRAW_COLOR_LINE.
Pregunta: la primera línea (búferes 2 y 3 en el código anterior) se dibuja perfectamente y todo el código escrito para ella en OnInit funciona;
Es decir, en lugar del texto que puse en la ventana de datos, sólo aparece el nombre del indicador en lugar del buffer. Aunque la propia línea está trazada, y es, como debe ser, multicolor.segunda línea aparece por alguna razón, por ejemplo la línea no funciona:
Creo que el truco está en el cambio de numeración? Por ejemplo, no estoy seguro de por qué en la parte superior del código, cuando declaro la última línea con la directiva #property, el índice debería ser 4, y no 5, ya que antes se han utilizado 4 buffers. ¿Existe alguna relación entre la numeración de líneas al declarar con #property y la numeración de buffers al enlazar con arrays en OnInit?
Por favor, indíqueme qué es lo que falla en el código anterior. Quizá alguien pueda encontrar un ejemplo de indicador en el que se dibujen al menos dos líneas utilizando el método de dibujo DRAW_COLOR_LINE....
Otra pregunta relacionada: ¿cómo se unen los topes de las líneas de colores? Es decir, ¿cómo sabe el código compilado que si pongo un valor en un búfer de color, este color debe utilizarse para colorear una línea de algún otro búfer?
Las asignaciones se numeran de forma diferente a los búferes.
Esto debería funcionar.
¡Buenas tardes a todos!
Hice una función para modificar el stoploss. Pero cuando funciona da EURUSD,H1: OrderModify error 130.
Y el precio está muy lejos del lugar donde se debe fijar el stoploss.
Esta es la función:
Escribí una función para encontrar el número de barra de un fractal de 3 barras. En el gráfico en línea parece encontrarlo correctamente. Pero durante las pruebas visuales en el probador miente. ¿Puede alguno de los profesionales echar un vistazo al código y encontrar algún error?
Se lo agradecería mucho.
Buenas tardes. ¿QUÉ CÓDIGO DEBO AÑADIR PARA QUE EL INDICADOR DEJE DE FUNCIONAR EN EL PROBADOR DESPUÉS DE UN MES? ES DECIR, ¡ESCRIBÍ TODO BIEN! PERO CUANDO HAGO UN BACKTEST VUELVE A FUNCIONAR. (mgl4)
¡Hola!
Quería poner una condición en el ciclo de cierre de órdenes enel día de apertura, para que las órdenes que se abrieron el viernes no se cerraran.
Buenas tardes. ¿QUÉ CÓDIGO DEBO AÑADIR PARA QUE EL INDICADOR DEJE DE FUNCIONAR EN EL PROBADOR DESPUÉS DE UN MES? ES DECIR, ¡ESCRIBÍ TODO BIEN! PERO CUANDO HAGO UN BACKTEST VUELVE A FUNCIONAR. (mgl4)
Es necesario escribir este código no en OnInit, sino en OnTick().
¡Hola!
Quería poner una condición en el ciclo de cierre de pedidos enel día de apertura de los mismos, para que no se cerraran los abiertos el viernes.
Inténtalo de esta manera: