OrderModify - Código de error 1
OrderModify - Código de error 1

 

Publi

Resultados 1 al 9 de 9

Tema: OrderModify - Código de error 1

  1. #1
    puede intentar poner una sentencia if ... el problema es que podría estar en un bucle e ir tan rápido que intenta hacer una actualización. No sé con qué frecuencia ocurre normalmente, pero podría ser la forma en que configura su Modelo en el probador de EA. Es decir, puntos brutos frente a tics si (OrderStopLoss ()! = MoveSLPrice) {PrintFormat (% s: PipCurrentProfit gt; bePips: % f gt;% f% i, OrderSymbol (), PipCurrentProfit, bePips, OrderTakeProfit ()); OrderModify (OrderTicket (), 0, MoveSLPrice, OrderTakeProfit (), 0, Blue); } MoveSLPrice: el nuevo precio de SL para modificar el pedido si se cumplen las condiciones

  2.                         
    Publicidad
  3. #2
    Tal vez sea algún tipo de error del probador. Resuelvo el problema simplemente añadiendo 1 * Punto. if (NewStopgt; OrderStopLoss () Punto) {OrderModify ..... NewStop}

  4. #3

    Cita Iniciado por ;
    Tal vez en lugar de comparar números de punto flotante (lo que puede ser complicado) podría intentar algo como ... if (MathAbs (new_tp - OrderTakeProfit ()) gt; Point) {//Modify}
    Craig: lo intenté si (MathAbs (new_tp - OrderTakeProfit ()) gt; 0) {//Modificar, así que intenté 0 en lugar de 'Punto'. Imprimí ambos y son las mismas cifras, pero también intentaré 'Point'. Gracias por la sugerencia, FXid10t - sí, probé esto también y estoy de acuerdo en que no lo resuelve. Tdion - Gracias intentaré esto. Sé que tiene que usar el Punto a veces, es decir, si (OrderStopLoss () gt; (Ask- (TrailingStop * Point)) {...} pero no estoy seguro de por qué sería necesario aquí. Los dos números parecen idénticos cuando se imprimen y también he probado MathsAbs y Normalize doble para eliminar y funciones de punto flotante MT4. Dicho esto, no obstante, intentaré su sugerencia. El experto de Metatrader lo hace así que supongo que en ausencia de una solución, podemos ignorar los mensajes del código 1 cuando viene a nuestras pruebas? Mientras tanto, gracias por los comentarios.

  5. #4
    Point * newstop no solo newstop
    Cita Iniciado por ;
    Hola a todos, este es mi segundo post en forosforex pero he leído el sitio por algún tiempo. Mi publicación es con respecto al 'error 1' en el backtest MT4. Actualmente estoy recibiendo mensajes similares en otros EA que escribo (soy un programador de oficio). En la documentación de MT4, el error significa que está actualizando una parada o TP con un valor sin cambios. Por ejemplo, si una parada en el cable es 2.0200 y lo actualiza utilizando OrderModify para que sea 2.0200, obtendrá el error 1. No creo que sea un problema grave y puede que solo sea informativo. De hecho, si realiza una prueba retrospectiva del MacD EA suministrado que viene con MT4, verá que también genera estos errores. La pregunta es ¿cómo eliminarlos? He intentado comparar OrderStopLoss () con la variable en la que almaceno la nueva parada y no hacer OrderModify si son iguales pero de alguna manera el EA siempre hace OrderModify y genera el mensaje de error 1. A pesar de imprimir ambos valores (los valores parecen iguales) e incluso hacer un NormaliseDouble a ambos valores para eliminar cualquier problema de redondeo al compararlos, pero aún sucede. por ejemplo, algo como lo siguiente sigue ejecutando OrderModify incluso cuando los valores de NewStop y OrderStopLoss aparecen iguales cuando se imprimen: if (OrderStopLoss ()! = NewStop) {OrderModify .....} ¿Ha encontrado algún programador por ahí un trabajo ¿alrededor? Tal vez sea un error que los EA de Metatraders lo hagan.
    Cita Iniciado por ;
    Hola a todos, este es mi segundo post en forosforex pero he leído el sitio por algún tiempo. Mi publicación es con respecto al 'error 1' en el backtest MT4. Actualmente estoy recibiendo mensajes similares en otros EA que escribo (soy un programador de oficio). En la documentación de MT4, el error significa que está actualizando una parada o TP con un valor sin cambios. Por ejemplo, si una parada en el cable es 2.0200 y lo actualiza utilizando OrderModify para que sea 2.0200, obtendrá el error 1. No creo que sea un problema grave y puede que solo sea informativo. De hecho, si realiza una prueba retrospectiva del MacD EA suministrado que viene con MT4, verá que también genera estos errores. La pregunta es ¿cómo eliminarlos? He intentado comparar OrderStopLoss () con la variable en la que almaceno la nueva parada y no hacer OrderModify si son iguales pero de alguna manera el EA siempre hace OrderModify y genera el mensaje de error 1. A pesar de imprimir ambos valores (los valores parecen iguales) e incluso hacer un NormaliseDouble a ambos valores para eliminar cualquier problema de redondeo al compararlos, pero aún sucede. por ejemplo, algo como lo siguiente sigue ejecutando OrderModify incluso cuando los valores de NewStop y OrderStopLoss aparecen iguales cuando se imprimen: if (OrderStopLoss ()! = NewStop) {OrderModify .....} ¿Ha encontrado algún programador por ahí un trabajo? ¿alrededor? Tal vez sea un error que los EA de Metatraders lo hagan.

  6. #5
    Tal vez en lugar de comparar números de punto flotante (lo que puede ser complicado) podría intentar algo como ... if (MathAbs (new_tp - OrderTakeProfit ()) gt; Point) {//Modify}

  7. #6

    Cita Iniciado por ;
    ¿Por qué no solo verifica los valores actuales antes de actualizar, para actualizar el orden al que tiene que llamar a SelectOrder ()? Entonces, ¿por qué no verificar el valor actual en ese punto? No veo por qué tienes que hacer un bucle extra.
    Intenté esto, comparando la variable con OrderStopLoss () o OrderTakeProfit (), y al revés, comparando OrderStopLoss (TakeProfit) () con la variable, si no es igual, modificar, aún se dispara el error 1 ...

  8. #7
    ¿Por qué no solo verifica los valores actuales antes de actualizar, para actualizar el orden al que tiene que llamar a SelectOrder ()? Entonces, ¿por qué no verificar el valor actual en ese punto? No veo por qué tienes que hacer un bucle extra.

  9. #8
    Sigo trabajando en ello ... Me temo que la solución será más código para repasar las órdenes y ver si es necesario modificarlas antes de hacerlas para modificarlas. Gran dolor de ol en el culo.

  10. #9
    Hola a todos,

    Este es mi segundo post en forosforex pero he leído el sitio por algún tiempo.

    Mi publicación es con respecto al 'error 1' en el backtest MT4. Actualmente estoy recibiendo mensajes similares en otros EA que escribo (soy un programador de oficio). En la documentación de MT4, el error significa que está actualizando una parada o TP con un valor sin cambios.

    Por ejemplo, si una parada en el cable es 2.0200 y lo actualiza utilizando OrderModify para que sea 2.0200, obtendrá el error 1. No creo que sea un problema grave y puede que solo sea informativo. De hecho, si realiza una prueba retrospectiva del MacD EA suministrado que viene con MT4, verá que también genera estos errores.

    La pregunta es ¿cómo eliminarlos? He intentado comparar OrderStopLoss () con la variable en la que almaceno la nueva parada y no hacer OrderModify si son iguales pero de alguna manera el EA siempre hace OrderModify y genera el mensaje de error 1. A pesar de imprimir ambos valores (los valores parecen iguales) e incluso hacer un NormaliseDouble a ambos valores para eliminar cualquier problema de redondeo al compararlos, pero aún sucede.

    por ejemplo, algo como lo siguiente sigue ejecutando OrderModify incluso cuando los valores de NewStop y OrderStopLoss aparecen iguales cuando se imprimen:

    if (OrderStopLoss ()! = NewStop) {
    OrderModify .....
    }

    ¿Algún programador por ahí ha encontrado una solución? Tal vez sea un error que los EA de Metatraders lo hagan.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.