[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 576

 
Ekburg:

Esa es la cuestión, ¡todo es normal ahí! Puse las impresoras para rastrear durante la prueba qué valores se pasan a la función de modificación, todo es normal ahí, la parada es diferente, no se lanza nada innecesario, todo está dentro de los límites permitidos por el servidor, y los oponentes en el código de arriba no permiten pasar los mismos valores...

Intente comprobarlo antes de modificarlo de esta manera:

      double Erunda=16.0*Point;// от 12 для пятизнаков, от 2 для четырех
//
      if(MathAbs(OrderStopLoss()-sl)<Erunda && MathAbs(OrderTakeProfit()-tp)<Erunda){нет_необходимости_модифицировать;}
      else { модифицировать;}

 
Sepulca:

Intente hacer la comprobación antes de modificar de esta manera:


¿Qué son estas funciones, para qué sirven? Nunca he visto ni utilizado una.
 
Desead:

Me estoy cansando de luchar con este problema, todos los pedidos pendientes no se borran normalmente, así que uso este bucle para borrarlos:

Incluso he añadido al bucle FOR y WHILE todas las órdenes pendientes siguen ahí, no se borran. Hay muchos pedidos pendientes de eliminar, unos 20, ¿quizás sea algún tipo de dificultad?

Aquí hay un ejemplo de eliminación de órdenes, incluidas las pendientes (las he eliminado con esta):

No todas las órdenes pendientes están presentes en este código (en el filtro de selección). Otra variante de error: compruebe el Magick que reciben las órdenes pendientes cuando se abren (en su propio código).

 
Ekburg:

Gracias. He buscado en el codebase, he encontrado algo, he intentado sustituirlo, lo he cambiado de esta manera y de otra, he leído miles de líneas de código pro, y no sólo eso, sino que da error 1 al modificar y ya está, no sé qué hacer. ¡Me he enfrentado a varias dificultades en la escritura y el posterior trabajo de la EA, pero para resolverlos por mí mismo, de lo contrario no me dan una buena experiencia, he leído la ayuda, volver a leer el tutorial, y resolver los problemas, empecé a pensar un poco diferente que cuando empecé, pero este problema por sí solo no funcionó, así que me dirigí a ustedes, los profesionales! Trailyn no lo habría escrito si no fuera necesario para el trabajo del EA:)
Permíteme que no te crea (que has releído todo o "tan leído") - la cuestión del error #1 está cubierta en el tutorial y ha sido REALMENTE discutida en el foro. La respuesta se puede encontrar aquí.
 
Ekburg:

el resultado es el mismo... ¿qué son estas funciones, para qué sirven? nunca las he visto ni utilizado


No es una función, es sólo una comprobación antes de la modificación, si los valores de SL o TP son muy diferentes a los anteriores, modificamos. No tiene sentido modificar el TP o el SL en un pip, al menos para irritar a las empresas de corretaje.
 
Sepulca:


No es una función, es sólo una comprobación antes de la modificación, si los valores de SL o TP son lo suficientemente diferentes de los valores anteriores, entonces modifica. No tiene sentido modificar el TP o el SL en un punto, aunque sólo sea para evitar el molesto DT.

Gracias, es una buena idea, la utilizaré a partir de ahora.
 
TarasBY:
Permíteme que no te crea (que has releído o "tan leído" todo) - el tema del error #1 está cubierto en el libro de texto y ha sido discutido REALMENTE en el foro. La respuesta se puede encontrar aquí.


por supuesto que no he leído todo, pero he releído el libro de texto varias veces para encontrar las causas del error, pero parece que no están en el código... Voy a mirar su enlace y una vez más leer todo el artículo sobre el tema, gracias por la ayuda, que no ha marcado:)
 

Hola miembros del foro,

Me decidí a escribir un EA para mí. Estoy leyendo un tutorial sobre mql4 porque comercio MT4. Y aquí está lo interesante. ¡Los archivos mqh descargados desde este tutorial se abren (automáticamente) en MetaEditor 5 (también tengo instalado Mt5)! ¿Significa que no funcionarán con Mt4?

 
Ekburg:

¿Qué son estas funciones, para qué sirven? Nunca he visto ni utilizado una.


No es una función, es una forma de comparar números no normalizados. No se pueden comparar entre sí, pero el resultado de restar uno del otro se puede comparar con cero.

Y el cheque que tengo es así:

//+------------------------------------------------------------------+ 
 double ND(double nd){return(NormalizeDouble(nd,Digits));}
//+------------------------------------------------------------------+ 
if(ND(price)!=OrderOpenPrice()||ND(SL)!=OrderStopLoss()||ND(TP)!=OrderTakeProfit()||Expiration!=OrderExpiration())
   {
   OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE);
}
else return;
     
 
lottamer:

Hola miembros del foro,

He decidido escribir un EA para mí. Estoy leyendo un tutorial de mql4 ya que comercio MT4. Y aquí está lo interesante. ¡Los archivos mqh descargados de este tutorial se abren (automáticamente) en MetaEditor 5 (también tengo instalado Mt5)! ¿Significa que no funcionarán con Mt4?


Intenta compilarlo y lo descubrirás.
Razón de la queja: