Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 852
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
No abre un comercio, ¿dónde está la culpa?
No abre el comercio, ¿dónde está el error?
Error número 1: En cada tick se crea un NUEVO indicador HANDL
Caladero número 2: (probablemente) la variable Lot tiene un volumen incorrecto.
Fallo número 3: (probablemente) el tipo de llenado de la orden para la clase CTrade no se llena.
En general, ¿qué hay en el registro del terminal (o del probador)?
el importe multiplicado por la pérdida de divisas de 1 SL
Y si la pérdida es 1, en BO por ejemplo.
Puse los valores en la fórmula, ni siquiera cerca del mismo resultado.
¿Qué ocurre?
Brecha número 1: En cada tick se crea un NUEVO indicador HANDL
Caladero número 2: (probablemente) la variable Lot tiene un volumen incorrecto.
Fallo número 3: (probablemente) el tipo de llenado de la orden para la clase CTrade no se llena.
De todos modos, ¿qué hay en el registro del terminal (o del probador)?
Este código sí estaba en onitics
Lo he trasladado a onytics. Acabo de leer los artículos aquí - y he entendido que no hay diferencia para el trabajo, pero es mejor en onitiket. Pero en términos de claridad para mí, era más conveniente hacer todo en 1 bloque, soy puramente para mí mientras resuelvo los problemas que me planteo (aprendizaje.)
El problema estaba en el lote -tenía que poner no un lote variable- y en la función returnlot (porque era una función para calcular el lote).
Ahora he encontrado un error en la función de lote - el lote se calcula con muchos decimales y como resultado la orden no se puede abrir. Hay que reducir los caracteres innecesarios y dejar sólo 2.
NormalizeDouble y DoubleToStr hasta ahora no puede trabajar - escribe que la función no puede ser colocado en la función, y por debajo cuando pongo su trabajo con la función escribe error - que no puedo arreglar.
Este código estaba en onitics.
Lo he movido a ontic. Acabo de leer los artículos aquí - y de ellos entendí que no hay diferencia para el trabajo, pero es mejor en ontiket. Pero en términos de claridad para mí, era más conveniente hacer todo en 1 bloque, soy puramente para mí mientras resuelvo los problemas que me planteo (aprendizaje.)
El problema estaba en el lote -tenía que poner no un lote variable- y en la función returnlot (porque era una función para calcular el lote).
Ahora he encontrado un error en la función de lote - el lote se calcula con muchos decimales y como resultado la orden no se puede abrir. Hay que reducir los caracteres innecesarios y dejar sólo 2.
Cuando pego la función NormalizeDouble y DoubleToStr todavía no puedo hacerlo - dice que la función no puede ser puesta en una función, y cuando las pego abajo la función escribe errores que no puedo corregir.
En MQL5 es necesario crear un mango de indicador SOLO una vez y SOLO en OnInit. Es un axioma. No se puede crear una manija de indicador en cada tick en OnTick - es incorrecto.
La normalización correcta del lote está en la clase comercial CSymbolInfo::NormalizePrice
En MQL5 se debe crear una manija de indicador SOLO una vez y SOLO en OnInit. Es un axioma. No se puede crear una manija de indicador en cada tick en OnTick - esto es CORRECTO.
La normalización correcta del lote está en la clase comercial CSymbolInfo::NormalizePrice
No es cierto, no lo discuto. ¡¡¡PERO!!! ¿Qué cambiará si lo creamos en cada tic? Ni siquiera el valor cambiará.
No es cierto, no hay discusión con eso. ¡¡¡PERO!!! ¿Qué va a cambiar si se crea en cada tic? Ni siquiera el valor cambiará.
¿Qué sentido tiene? Sólo un montón de trabajo extra para el guión, eso es todo.
No es cierto, no se puede discutir eso. ¡¡¡PERO!!! ¿Qué va a cambiar si se crea en cada tic? Ni siquiera el valor cambiará.
En un artículo reciente he demostrado que MQL5 combate eficazmente los vestigios de la codificación al estilo de MQL4 - creación de asas en cada tick: la memoria no se desperdicia, pero la velocidad de operación disminuye al menos. Pero repito: la creación de indicadores en MQL5 al estilo de MQL4 no es el método correcto. Si se cambia a MQL5, significa que hay que reconstruir el estilo de programación.
¿Qué sentido tiene? Es un trabajo extra para el guión, eso es todo.
Por supuesto que no tiene sentido. Era una pregunta tan oculta drubashke: ¿Por qué se asemejan a los neuróticos, que son suficientes aquí como es, e incluyen Caps Lock?
Es decir, el resultado es el mismo, pero desde luego la ejecución no tiene sentido y es mucho más movida, según entiendo por lo que se ha escrito.
Ojalá hubieran pensado en escribirlo en el artículo, pero en general está claro que no hay razón para hacer lo mismo varias veces.
Pero mi objetivo era escribir para entender y trabajar en sí mismo, no para optimizar.