Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 130

 
Nikolai Semko:
¿Utilizas el depurador para encontrar tus errores?

No. Menos de 1 semana de experiencia en programación. Tomé un ejemplo de un EA simple y traté de agregarle SL, TP, TStop y TStep. Dice que no hay errores después de la compilación (ver la captura de pantalla anterior), pero de hecho (en el probador) estas funciones no funcionan.

Por favor, aconséjenme qué debo hacer. Y cómo proceder.

 
Sergey_M_K:.

No. Menos de 1 semana de experiencia en programación. Tomé un ejemplo de un EA simple y traté de agregarle SL, TP, TStop y TStep. Dice que no hay errores después de la compilación (ver la captura de pantalla anterior), pero de hecho (en el probador) estas funciones no funcionan.

Por favor, aconséjenme qué debo hacer. Y cómo seguir adelante.

No quiero robarte. No quiero robarte la experiencia tan útil de buscar tus propios errores.

Los errores son algo inevitable, incluso en los profesionales.

Es muy importante poder encontrarlos si quieres seguir programando.

El Metaeditor tiene una herramienta indispensable llamada "Depuración".

Dedica tiempo y domina esta herramienta, y no tendrás que pedir a otros en los foros que busquen tus errores.

Hay que recorrer el programa paso a paso, controlando las variables necesarias y lo que ocurre en ellas.

Con la ayuda de esta herramienta no sólo puede encontrar sus propios errores, sino también comprender las peculiaridades de algunas funciones.

Puedes leer la información aquí o ver la ayuda del MetaEditor.

Puede leer este artículo.

 
Sergey_M_K:

Hola amigos, ayúdenme a resolver el siguiente problema: estoy tratando de escribir un simple Asesor Experto y me encontré con lo siguiente: si el SL se establece en un valor diferente de 0, entonces las operaciones no se abren en absoluto, así como el TP, TStop y TrailingStep no funcionan en absoluto.

¿Qué debo arreglar en el código?

Para establecer los niveles de Stop Loss y Take Profit se utiliza el valor del precio real. Mientras que en su código estos valores no son reales. Por ejemplo, si el SL es igual a 50 para el EURUSD, obtendremos el valor de 0,0005. Para una orden de compra, el Stop Loss sigue siendo correcto (aunque no sea significativo), pero es un error para una orden de venta, ya que debería ser mayor que el precio de apertura. Si el precio actual del EURUSD es 1,25, el valor del Stop Loss debe estar por encima de ese nivel.

Además, no olvide comprobar los valores obtenidos de Stop Loss y Take Profit para ver si están cerca del mercado, comparándolos con el nivel de Stop.

 
Hola, no encuentro una función que devuelva una entrada a la posición más alejada del mercado. ¿Puede publicarlo, por favor?
 
Kofa:
Hola, no encuentro una función que devuelva un ticket de la posición más alejada del mercado. ¿Podría publicarlo por favor, quién lo tiene?

Aquí encontrará muchas cosas.

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
 
Vitaly Muzichenko:

Aquí encontrará muchas cosas

Gracias, Vitaly, pero ahí es donde (y no sólo) estaba buscando. Lamentablemente no hay todas las funciones que necesito:

-devuelveel billete más alejado de la posición de mercado (por magia y dirección) O más temprano

-Retorno debeneficios por el billete

-cierra laposición en el billete

Me puedes decir donde conseguir uno, si lo conoces

 
¡Buenos tiempos! Ayúdame a entender, pongo una línea de tendencia en el gráfico, introduzco las propiedades, la descripción, lo cierro, hay una línea de tendencia, no hay descripción, pongo el cursor en la línea, aparece una descripción en la ventana Gracias
 
Kofa:

Gracias, Vitaly, pero ahí es donde (y no sólo) estaba buscando. Por desgracia, faltan todas las funciones que necesito:

-devuelveel billete más alejado de la posición de mercado (por magia y dirección) O más temprano

-Retorno debeneficios por el billete

-cierra laposición en el billete

Dime dónde conseguirlo, si lo sabes.

Hay un billete para el más cercano. Cómo encontrar el más lejano - Creo que puedes adivinar. Si ha encontrado el ticket, puede trabajar con él if(OrderSelect(ticket, SELECT_BY_TICKET)) { ... }

 
Hola! Estoy haciendo un EA con dos condiciones!!! ¡¡¡Así que en la primera condición, todo debería funcionar en m15, y en la otra en n4!!! ¿Puede decirme cómo se puede hacer?
 
sviter-pro:
Hola! Estoy haciendo un Asesor Experto de acuerdo a dos condiciones! ¡¡¡Bueno, la primera condición debería funcionar en m15 y la otra en n4!!! ¿Puede decirme cómo se puede hacer?

Tomar datos de diferentes TFs. Por ejemplo, el precio de apertura de la barra actual en diferentes TFs (los valores sólo coincidirán con los primeros 15 minutos de la barra H4):

double fOpenM15 = iOpen(Symbol(), PERIOD_M15, 0);
double fOpenH4 = iOpen(Symbol(), PERIOD_H4, 0);

El momento más difícil cuando se trabaja con diferentes TFs es la sincronización de datos. Porque la numeración de las barras en los diferentes TFs es diferente.

Razón de la queja: