Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 163

 
zlodei:

¡Escribí el indicador más simple en mql4, quería traducirlo a mql5, y he estado luchando durante una semana, pero no está funcionando! ¡Me estoy poniendo de los nervios, odio mql5 porque ya he escrito 88 líneas de un simple indicador de 34 líneas en mql5!

Aquí está el código en mql4:

Y aquí está el código en mql5:

Laslíneas de los indicadores no se muestran correctamente en MT5.

¿Qué he hecho mal?

Buenas personas, ayúdenme, apiádense del pobre, estoy al borde del colapso, de verdad. ¡Es una pena que no se pueda jurar aquí!

Moderador, no me banees, primero adviérteme si algo está mal.

Necesita ArraySetAsSeries(..., true), para todos los buffers (en OnInit()), y todo funcionará. // En MT5, por defecto =false.
 
papaklass:

Echa un vistazo a https://www.mql5.com/ru/docs/indicators

Existe un código de indicadores estándar

Gracias.

Tal vez no he formulado la pregunta correctamente, me lo he imaginado yo mismo, estaba buscando esto:

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
MetaDriver:
Necesita ArraySetAsSeries(..., true), para todos los buffers (en OnInit()), funcionará. // En MT5, por defecto =false.

Esto no ayuda... Porque en CADA tick hay múltiples (decenas de miles de veces) llamadas a las funciones CopyOpen y CopyClose, lo que lleva a la congelación del indicador y en algunos casos, del terminal.

Además, en el CopyOpen es evidente que se sobrepasa el array, y en el mql5 se produce una detención de la ejecución del programa. Y la terrible carga de la CPU, como resulta.

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - Документация по MQL5
 
Fleder:

Esto no ayuda... Porque en CADA tick hay múltiples (decenas de miles de veces) llamadas a las funciones CopyOpen y CopyClose, lo que lleva a la congelación del indicador y en algunos casos, del terminal.

Además, en el CopyOpen es obvio que se sobrepasa el array, pero en el mql5 se produce una detención de la ejecución del programa. Y la terrible carga de la CPU, como resulta...

Qué terrible algoritmo tienes).
 
zfs:
Qué algoritmo más espeluznante tienes).
Ese espeluznante algoritmo no es mío. La persona (el autor) sólo pidió ayuda y se le despidió amablemente.
 
Fleder:
Este espeluznante algoritmo no es mío. ¡Es que la persona(autor) pidió ayuda y fue cortésmente despedida!
Lo único que queda por hacer es resolver el asunto contigo).
 

¡Buenas tardes!

Me puedes decir cómo estoy aprendiendo a operar en la demo.

Hice una venta con stoploss, después de 10 min de pausa y las cotizaciones no se cargaban desde el servidor. Después de la descarga saltó una vela de 5000 pips y el stop fue débil.

¿Es un fallo de la demo? ¿O puede ocurrir en una cuenta real?

Ya lo he descargado pero aún no lo he hecho.

 
sbr080:

¡Buenas tardes!

Me puedes decir cómo estoy aprendiendo a operar en la demo.

Hice una venta con stoploss, después de 10 min de pausa y las cotizaciones no se cargaban desde el servidor. Después de la descarga saltó una vela de 5000 pips y el stop fue débil.

¿Es un fallo de la demo? ¿O puede ocurrir en una cuenta real?

Ya lo he descargado pero aún no lo he hecho.

La demo es simulada, no hay garantías de funcionamiento normal en ella. Las paradas pueden funcionar en cualquier cuenta.
 

sbr080:

¿O también ocurre en una cuenta real?

¿Qué pasa?

¿picos de cien pips?

o una operación perdedora?

 

Señores, por favor, díganme qué hay que escribir en las dos últimas líneas cuando se modifica una orden pendiente si su vida útil está establecida. (por ejemplo, 6 horas - ).

request.type_time = ORDER_TIME_SPECIFIED; // el pedido estará activo hasta la fecha de vencimiento
request.expiration = TimeCurrent()+6*3600;//última hora conocida del servidor + número de horas*horas

Si el tiempo de vida no cambia, ¿podemos no escribir nada al modificar? Por defecto, morirá por sí mismo.

¿Y si necesitas cambiar su vida?

Modificar una orden pendiente

Solicitud de comercio para modificar los niveles de precio de las órdenes pendientes. Se requieren 7 campos:

-acción

-orden

-precio

-sl

-tp

-tipo_tiempo

-expiración

Estas son las dos líneas del Manual en las que no puedo entrar:

tipo_tiempo

Tipo de orden en el momento de la expiración. El valor puede ser uno de los valores ENUM_ORDER_TYPE_TIME

caducidad

Hora de vencimientode la orden pendiente (para órdenes ORDER_TIME_SPECIFIED)

Por favor, escriba cómo deben ser en el experto, al modificar, voy a entender. Gracias de antemano.
Razón de la queja: