SOLO PARA LECTURA

El foro es ahora un archivo de sólo lectura.

Para informes de errores y preguntas sobre la plataforma → [email protected]

Nuestra comunidad vive en Discord y YouTube: ¡únete a nosotros!

ÚNASE A NOSOTROS Discordia YouTube

"Error "No se encuentra el pedido

3 respuestas

odomike

Abonado, bbp_participant, comunidad, 32 respuestas.

Visitar el perfil

hace 12 años #111948

Hola,

 

Decidí crear un EA basado en el sistema de trading manual SonicR (http://www.forexfactory.com/showthread.php?t=114792). En lugar de utilizar los mismos indicadores personalizados que utilizaron en la estrategia, decidí hacer uso de los indicadores estándar de MT4 (EMA 34 High y Low, CCI Period 63, SMA 10 Close) para replicar la estrategia. Esto es para asegurarme de que no encuentro ningún problema con SQ EA Wizard. No tuve ningún problema con la configuración de la estrategia y las reglas de operación en SQ, pero después de guardar el archivo .mql4 y volver a probar en metatrader 4, siempre obtengo este error "ORDER CANNOT BE FOUND" en el diario del probador y el EA no coloca ninguna operación en absoluto. Es tan confuso porque me fui a través de la estrategia y las reglas de negociación una y otra vez y otra vez para asegurarse de que no hay errores de ningún tipo y realmente no puedo ver ninguna. Entonces, ¿por qué estoy recibiendo estos errores?

 

¿Puede alguien ayudarme a resolver este problema? Agradezco mucho todos sus amables gestos.

 

Gracias de antemano.

~Michael.

 

N.B: Como no utilicé ningún indicador personalizado al crear la estrategia, puedes replicarla muy fácilmente en tu ordenador.

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 12 años #123679

Odomike,

El problema es que 3 reglas se cruzan por encima/por debajo al mismo tiempo en este EA. Una buena regla general es tener sólo una regla cruzar por encima / por debajo, mientras que las otras reglas están utilizando > o < en su lugar.

 

Puse sus indicadores en un gráfico para mostrar por qué.  

 

 

Las pequeñas líneas azules verticales muestran cuando la vela cruza por debajo de MA1, luego MA2, y luego cuando CCI cruza por debajo del nivel 2. Hay 6 velas entre cuando la primera MA cruza y el cruce del CCI. Dado que no todas se cruzan exactamente en la misma barra, es por eso que usted está recibiendo el mensaje de error.

 

Así que usted debe utilizar la Cruz por debajo / por encima de la última cosa que se cruzan en la secuencia de los tres indicadores. Por ejemplo, si CCI es siempre el último elemento en cruzar, entonces puede utilizar estas reglas:

 

Largo

El CCI supera el nivel 1

Oferta > MA1

Oferta > MA2

 

Si un indicador no es siempre el último en cruzar, es decir, pueden cruzar en cualquier orden, entonces usted puede escribir las reglas para que coincida con esto. Así que sus reglas podrían ser:

 

Largo

((( CCI cruza por encima del Nivel 1

       Oferta > MA1

       Oferta > MA2)

O (ICC > Nivel 1

       La oferta cruza por encima de MA1

       Oferta > MA2)

O (ICC > Nivel 1

       Oferta > MA1

       La oferta cruza por encima de la MA2)))

 

Espero que esto ayude.

 

-Stearno

0

odomike

Abonado, bbp_participant, comunidad, 32 respuestas.

Visitar el perfil

hace 12 años #123711

Un millón de gracias stearno. He decidido no continuar con la construcción de mi EA basado en el sistema SonicR. Me di cuenta de algunos lapsos que motivaron mi decisión.
He decidido construir otro EA basado en el RSIOMA_V2 indicador. He añadido el indicador personalizado al Asistente de EA y ha reconocido todas las propiedades del indicador. En los parámetros de mi estrategia, agregué las propiedades del indicador como algunos de los parámetros configurables por el usuario para el EA. Ahora, en las reglas de la estrategia, hice esto ... 
 
SpreadInPips <= MaxAllowedSpread (El valor por defecto para esto es 2. Estoy tratando de usar esto para evitar whipsaws de comunicados de prensa, mientras que EA está negociando)
RSIOMA cruza por debajo de Sell_Trigger (El valor por defecto de RSIOMA es 14 y Sell_Trigger es 70)
 
La idea es que una vez que el RSIOMA oscilante se sumerge y cae por debajo de 70, se debe activar una operación de venta. Eso es para la Regla de Entrada Corta.
 
Luego para la Regla de Entrada Larga:
 
SpreadInPips <= MaxAllowedSpread
RSIOMA cruza por encima de Buy_Trigger (El valor por defecto de Buy_Trigger es 30)
 
La misma idea que el disparador de venta ... RSIOMA va por encima de 30 y la EA activa una operación de compra.
Y cuando la tendencia ya está en marcha y hay un ligero retroceso, y luego la tendencia continúa, entonces:
 
SpreadInPips <= MaxAllowedSpread
RSIOMA cruza por debajo de Buy_Trigger
 
O
 
SpreadInPips <= MaxAllowedSpread
RSIOMA cruza por encima deSell_Trigger
 
Mi problema es que no se cuando usar y cuando usar cruces abajo o cruces arriba o como configurar todo para que funcione bien. Y sigo recibiendo este molesto error en el diario de probador de estrategia: "BROKER STOP DIFERENCIA: 0.00". No sé lo que esto significa. Este error se muestra una vez que la EA se inicia y, a continuación, la EA no coloca un comercio. Y siempre me sale este error:
 
"TestGenerator: unmatched data error (high value 171.18600 at 2014.03.12 09:05 is not reached from the least timeframe, high price 171.17400 mismatches)"
 
Por favor, ayúdenme.
 
En segundo lugar, ¿cómo puedo controlar el tiempo de los oficios EA y cuando no debería comercio? Digamos por ejemplo:
 
1. Quiero que mi EA comience a operar desde la 1:00 hasta las 6:00 GMT, luego se detenga y no coloque más operaciones.
2. Luego vuelve a empezar de 8:00 GMT a 20:00
 
¿Cómo puedo hacerlo? Sé que el Asistente de EA puede manejar estas tareas pero con facilidad. Creo que no estoy haciendo algo bien y siempre obtengo un error cada vez que intento hacer que esto funcione.
 
Gracias una vez más por su ayuda y apoyo. Se lo agradezco mucho.
——————————————————————————————
 
N.B: La imagen adjunta muestra los posibles puntos de entrada tanto para órdenes de compra como de venta en el gráfico mostrado. Y las últimas 2 partes de las reglas de la estrategia no están en el archivo fuente que adjunté. Por favor, ayúdenme.
Archivo: RSIOMA_v2.mq4

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 12 años #124327

Michael,

Buenas preguntas.

 

Para limitar por tiempo, he adjuntado capturas de pantalla de lo que hago personalmente. Utilizo la hora comparada con una variable. A continuación, establezco las variables en los parámetros de las horas que quiero negociar.  

 

Personalmente utilizo dos conjuntos de horas para tener la posibilidad de operar en dos sesiones en un día (por ejemplo, London Open y NY Open). Utilizo parámetros para establecer las variables de modo que pueda optimizar estos parámetros. Usted puede tomar esta misma idea y hacer muchas variaciones que se ajuste mejor a lo que usted desea.

 

Creo que tu estrategia tiene buena pinta. ¿Has intentado hacer un backtest? Por cierto, he descubierto que siempre es mejor hacer primero un backtest y ver que las órdenes se están cumpliendo y tal. Pero entonces voy a hacer un backtest visual para ver con los indicadores de la EA va a utilizar en el gráfico para que pueda ver visualmente cada vez que la EA se supone que abrir o cerrar una orden y asegurarse de que está haciendo lo que quiero. Entonces podré deducir por qué no lo está haciendo y aprender cómo decirle mejor al ordenador a través de estas condiciones cómo hacer lo que quiero que haga. 

 

En cuanto a tus otras preguntas sobre cuándo utilizar >< y cuándo utilizar cruz por encima/por debajo.  

 

Una forma fácil de recordar que utilizo para mantenerlos diferenciados es: cruces arriba / abajo, el inicio de esa barra debe estar en un lado y el final de la barra está en el otro lado.

 

Con ><, es mucho más flexible, ya que elegir esta opción sólo significa que la barra debe estar por encima o por debajo del elemento de comparación. No importa si ha estado por encima ahora, muchas barras atrás, siempre ha estado por encima, etc. Todo lo que importa es en este momento cuando el EA está ejecutando esta regla, debe ser mayor o menor que (por encima o por debajo).  

 

He incluido un pequeño gráfico para ilustrarlo con imágenes. La línea roja es la media móvil.  

 

Si dijera Close[1] < Moving Average, entonces la barra 'A' es lo que obtengo.  

 

Si dijera Close[1] > Moving Average, entonces la barra 'C' es lo que obtendría.

 

Si digo que Close[1] cruza por encima de la Media Móvil, entonces la barra ' B' es lo que obtengo.

 

Básicamente, tenemos que preguntarnos: "En ese momento (En el ejemplo anterior, estamos utilizando el cierre de la última barra en ese momento, Close[1]), ¿quiero que mi indicador esté por encima del cierre, por debajo del cierre, o quiero el mínimo de la última barra en un lado del indicador y el máximo en el otro lado.  

 

Quizá un ejemplo pueda ayudar. He aquí un ejemplo de algo que aprendí al utilizar estas comparaciones:

 

Cuando se utiliza > 30 pips. Así, cuando la orden a 29 pips de ganancia y la siguiente fue a 30 pips, la regla desencadenó la acción de cerrar 50% de la orden. En la siguiente barra, la orden fue a 31 pips de ganancia. Adivine. El beneficio de la orden sigue siendo superior a 30 pips. Así que la acción se activó de nuevo y cerró 50% de la orden. Esto continuó hasta que sólo había un mini lote y no podía cerrar 50% más. Pero voy a decir, backtesting esto era divertido porque cuando me gustaría ver la EA visualmente, se cerraría órdenes como un spray ametralladora.

 

Así que me di cuenta de la causa de esto fue porque he utilizado Profit> 30 pips. Y lo que no recordaba era que 31, 32, 33, 34 pips son todos mayores que 30. Así que usé cerrar 50% cuando Profit cruza por encima de 30 pips. Así que esto funcionó, iría de 29 a 30 pips en una barra, y luego cerrar 50% de mi orden. Así que ahora cuando subió a 31, 32, 33, 34 pips de ganancia, no cerraría más órdenes.  

 

Pero el problema con esta regla era cuando la ganancia volvía a bajar a 25, luego volvía a subir a 29 y 30 y cerraba 50% de la orden porque la regla se cumplía de nuevo. (Esto no está relacionado, pero la forma en que lo resolví fue cuando la regla cerró 50% de la orden, también estableció el valor de una variable a 2. Entonces tenía otra condición añadida a la regla que decía no hacer un cierre parcial cuando esa variable = 2.) Esto solucionó mi problema e hizo que sólo se cerrara una vez)

 

Espero que lo anterior le sirva de ayuda.

 

-Stearno

 

 

0

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)