Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 67

 
alexey1979621:

Al probar un Asesor Experto en el diario aparece un error

2013.08.07 12:35:41 2012.06.06 05:29 Puria - 1.452 - SQ EURUSD,M30: Error 4002 (array index - out of range)

2013.08.07 12:35:41 2012.06.06 05:29 Puria - 1.452 - SQ EURUSD,M30: Intentando abrir una orden de compra. Esperando una respuesta.

En consecuencia, los pedidos no se abren. ¿Cómo eliminar el error? ¿Cuáles son las razones?

Estaré encantado de ayudar.

Sin código, sólo puedo sugerir que el índice que apunta a una celda de la matriz está apuntando fuera de la matriz. Si una matriz tiene un tamaño de 10 y el índice tiene un tamaño de 10, el índice apunta a la undécima celda de la matriz que no existe, porque la indexación de la matriz comienza con cero. Para este ejemplo: un array de tamaño 10 está indexado de 0 a 9 - un total de 10.

 
Mepkypuu:
No se aclarará mucho sólo con los mensajes de la terminal, no te ayudará mucho si no publicas el código del EA. En alguna parte de tu matriz estás escribiendo un lote de datos inexistente, como uno de los supuestos, pero adivinar no es mi perfil.
Un amigo me dio este EA. He visto que funciona sin errores en persona en Skype. Tengo el error 4002. ¿Qué otra cosa podría ser?
 
alexey1979621:
Un amigo me dio este asesor. Funciona sin ningún error, lo he visto en persona por Skype. Tengo el error 4002. ¿Qué otra cosa podría ser?

Le he dado una respuesta inequívoca. No se puede arreglar sin código.
 
r772ra:
Puedes hacerlo.

Gracias. ¿Quizá haya visto el dominio público?
 
001:
Gracias. ¿Tal vez se haya visto en el dominio público?

Aquí
 
alexey1979621:
Un amigo me dio este asesor. Funciona sin ningún error, lo he visto en persona por Skype. Tengo el error 4002. ¿Qué otra cosa podría ser?
Una vez más, adivinar no es mi especialidad. Mira el código, donde se escriben las matrices, trabaja a través de todas las posibles formas de recoger los datos en su mente, y uno de ellos no existirá. Debería excluirse de alguna manera. Y en general, pedirle a tu amigo que se encargue del error... Es el autor del Asesor Experto, ¿no? Es de su competencia asegurarse de que el código excluye posibles errores de ejecución.
 

¿Pueden decirme si es correcta dicha entrada?

for(int i=ObjectsTotal(OBJ_HLINE)-1; i>=0; i--) 

¿No resultará que cuando tengo, por ejemplo, 3 objetos horizontales, y un total de 10 objetos, y estos objetos horizontales dispersos entre los 10, entonces la búsqueda 3 superior será analizado, pero los próximos 7, que será todo (o parte) de las líneas horizontales, no vendrá? ¿O se ordenará automáticamente por líneas horizontales?

Y, en caso de que esto último sea cierto, ¿es posible realizar dicha entrada?

for(int i=ObjectsTotal(OBJ_HLINE && OBJ_TREND)-1; i>=0; i--) 
 
Chiripaha:

Por favor, pueden decirme si dicha entrada es correcta:

¿Podríaser que cuando tengo, por ejemplo, 3 objetos horizontales, y un total de 10 objetos, y estos objetos horizontales dispersos entre los 10, entonces la búsqueda 3 superior será analizada, pero los siguientes 7, que serán todos (o parte) de las líneas horizontales, no vendrá? ¿O se ordenará automáticamente por líneas horizontales?

Y, en caso de que esto último sea cierto, ¿es posible realizar dicha entrada?

for(int i=ObjectsTotal(OBJ_HLINE && OBJ_TREND)-1; i>=0; i--) 

1. No funcionará. Se ordenará por horizontal.

2. ¿Debería?

 
Ordenar por la primera y no por la horizontal....
 
artmedia70:

1. No funcionará. Se ordenará por horizontal.

2. ¿Debería?

2. Tengo que hacerlo. Necesito ver 2 tipos de objetos: líneas horizontales y líneas de tendencia. El resto de los objetos no son relevantes en esta enumeración.

FAQ:
Ordenar por primera y no por horizontal....
Si he entendido bien, ¿hay diferencias de opinión? o la respuesta sobre las "primicias" no contradice la afirmación anterior?