Donde está el error? (4051)Saludos.
Aprendiendo mql4 de nuevo, al darle testear a este código me sale en el diario "error 4051". Busqué el error 4051: Invalid function parameter value (Valor del parámetro de función no válido), mas cuando comienzo a escribir el indicador, aparece un cuadro con el orden de los valores que debo colocar. Aparentemente el error está aquí: TEND1= iADX(NULL,14,PERIOD_CURRENT,PRICE_CLOSE, MODE_PLUSDI,1); TEND2= iADX(NULL,14,PERIOD_CURRENT,PRICE_CLOSE, MODE_PLUSDI,2); (Mas abajo de esto, los valores que debo colocar en el iATR). Aparentemente donde estoy colocando "14", debo colocar este valor como parte de una constante en el lenguaje mql4. ¿Alguien sabe cómo colocarlo? double iADX( string symbol, // symbol int timeframe, // timeframe int period, // averaging period int applied_price, // applied price int mode, // line index int shift // shift ); Aquí el código por sia: void OnTick() { double TEND1, TEND2; TEND1= iADX(NULL,14,PERIOD_CURRENT,PRICE_CLOSE, MODE_PLUSDI,1); TEND2= iADX(NULL,14,PERIOD_CURRENT,PRICE_CLOSE, MODE_PLUSDI,2); //--- if (OrdersTotal()==0 && TEND1>TEND2) { int ticket=OrderSend(Symbol(),OP_BUY,0.01, Ask, 10, Ask-500*Point, Ask+500*Point, NULL, 0, 0, clrNONE); } Print("error", GetLastError()); } //+------------------------------------------------------------------+
Re: Donde está el error? (4051)Listo La forma correcta es esta:
TEND1= iADX(NULL,PERIOD_M15,14,PRICE_CLOSE, MODE_PLUSDI,1); El problema estaba en el lotaje que estaba colocando (0.01), aunque no se por que no me permite colocar este monto pues mi broker permite operarlo. A menos sea que no así para EAs?... (Alpari uk). ¿Alguien sabe si esto es así?
Re: Donde está el error? (4051)Hola trader201, ¿qué tipo de cuenta operas? Quizás la demo sea de una cuenta Pro, en cuyo caso el mínimo son 0.10 si no recuerdo mal.
Saludos, FXWizard
Re: Donde está el error? (4051)Estoy haciendo el testeo desde la cuenta micro.
Tengo una demo también que he llegado a utilizar para testear. No se si sea entonces que Alpari está considerando que el testeo se haga en los datos de la cuenta demo? (pero estoy haciendo el testeo desde la cuenta micro)... Saludos
Re: Donde está el error? (4051)Se me ocurre una prueba: crea un script solo con la orden en cuestión y ejecútalo a ver si te sigue dando el error, más que nada para descartar que no sea de otra cosa.
Saludos, FXWizard
Re: Donde está el error? (4051)Hola a todos.
Aunque hace poco menos de un año que os sigo con interés no ha sido hasta hace un mes que decidí darme de alta y al ver el título del hilo me he animado al primer post. Así que ahí va... Desde hace un par de semanas tengo unos mensajes de error en la plataforma al operar con un EA. Ha sido al cambiar de bróker cuando se han producido porque anteriormente no he tenido problemas. He comprobado las plataformas y son de la misma versión (con anterioridad al cambio de abril no tuve problemas). Los mensajes aparecen repetidamente (cada pocos segundos) en la pestaña Expertos del Terminal y provocan el lanzamiento de multitud de órdenes a mercado (más de una decena) que agotan el margen de la cuenta, cuando solo debería lanzarse una: unknown trade cmd -1 for OrderSend function Error opening order!: 4051 No conozco el lenguaje mql4 pero sospecho que debe ser algo muy trivial relacionado con la declaración de variables o algún cambio de sintaxis de la nueva versión. Agradecería sinceramente cualquier ayuda para localizar el problema. Por lo que he leído hay auténticos monstruos de la programación entre vosotros (al menos para mi lo son). Saludos a todos.
Re: Donde está el error? (4051)Bienvenido Black_Swan, puedes subir el código que ejecuta la orden para que podamos verlo y tratar de averiguar que puede ser?
Saludos, FXWizard
Re: Donde está el error? (4051)
Saludos FXWizard. El error estaba en que había colocado el período en TF, y el TF en período en los valores del ADX. Habia escrito los datos del ADX así, TEND1= iADX(NULL,14,PERIOD_CURRENT,PRICE_CLOSE, MODE_PLUSDI,1); En realidad debe ser así: iADX(NULL, PERIOD_CURRENT, 14, PRICE_CLOSE, MODE_PLUSDI, 1) Saludos.
9 mensajes
• Página 1 de 2 • 1, 2
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados