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

 
Tomcrafft:

Hola a todos.

Chicos, ayúdenme... ¿Cómo hago para que cuando se abra una orden a partir de un determinado nivel (con stop y take)

El Asesor Experto no abre una segunda, tercera, etc. orden. Y la siguiente orden debe abrirse sólo después de que la primera se cerró en la parada o toma.

Primero comprueba si ya hay una orden abierta en el mercado, y si aún no está, entonces ábrela, de lo contrario no es necesario.
 
"Borrar la caché del probador", ¿qué es esto y cómo lo consigo?
 
eugggy:

Se necesita ayuda: hay 2 órdenes pendientes (en diferentes direcciones), cuando una se activa, la otra debe cerrarse. El código se muestra a continuación. Como hacerlo correctamente, que no hubiera ningún error con el número de billete equivocado y que funcione correctamente, literalmente un par de líneas necesarias para poner en el asesor, no me entero de nada. Gracias de antemano.



¿Cuándo obtiene valor la variable "Tip"? Debería ser después de OrderSelect().

OrderSelect(Total,SELECT_BY_TICKET,MODE_TRADES);
Tip=OrderType();

if(Tip==OP_SELL)

 
eugggy:

Necesito ayuda: hay 2 órdenes pendientes (en diferentes direcciones), cuando una se dispara, necesitamos cerrar la otra. El código se muestra a continuación. Como se debe redactar correctamente que no fue un error con un número de billete equivocado y funciona correctamente, sólo un par de líneas necesarias para poner en el asesor, tengo algo que no puedo aprender. No sé cómo hacerlo, gracias de antemano.



Compruebe si hay órdenes de mercado.

Si está presente, comprueba si hay alguna pendiente

Si es así, elimínelos

 
eugggy:
Lo he hecho por medio de un bucle for, pero me hago un lío, OrdersTotal() devuelve el número de pedidos (2), si le resto uno, entonces qué pedido se seleccionará: el primero o el segundo, y luego el mismo lío con los tickets. En general, el error 4108 - número de ticket erróneo, y también Alert(Ticket) devuelve un número superior a 0, incluso si el EA acaba de ser lanzado y no hay órdenes.

Aclarar si SELECT_BY_TICKET o SELECT_BY_POS ???

Lea sobre OrderSelect() en la ayuda

SELECT_BY_TICKET los números de pedido en el servidor de la empresa, por ejemplo #12345 y #12399

SELECT_BY_POS los números de pedido "en la lista personal", es decir, para dos pedidos, uno tiene #0, el otro #1

 
eugggy:
Si lo dejo así, ¿funcionará correctamente? Parece que funciona, tal vez sea necesario algún retorno o RefreshRates, en una palabra ¿funcionará en la vida real?


No, no lo hará.

 

eugggy:
А нельзя ли подробнее? Нельзя))). Я имею ввиду, если сильно не придираться, где, что, неправильно и как исправить?

Lo he hecho con un bucle for, pero empieza mi confusión, OrdersTotal() devuelve el número de pedidos (2), si le resto uno, entonces qué pedido se seleccionará: el primero o el segundo, y luego la misma confusión con los tickets. En general, el error 4108 es un número de ticket erróneo y Alert(Ticket) devuelve un número superior a 0 incluso si el EA acaba de ser lanzado y no hay órdenes.



Ya tienes tu respuesta detallada:

Vinin :


Compruebe si hay órdenes de mercado.

Si lo hay, comprueba si hay órdenes pendientes.

Si está presente, eliminar Por ciclos sucesivos para
 
eugggy:
Me gustaría saber más al respecto. No))). Es decir, si no eres exigente, ¿dónde, qué, mal y cómo arreglar?


Me repetiré.

Compruebe que hay una orden de mercado,

Si lo hay, comprueba si hay una orden pendiente.

Si lo hay, elimínalo.

En todo caso, mañana escribiré el código. Aunque ya se ha hecho en alguna parte de este tema.

 
eugggy:
Entiendo, pero es fácil para ti, dos para probar, pero lo he probado - no funciona, por eso pregunto. Como si fuera un programador con 5 años de experiencia. No puedes))) - Estoy bromeando.
publique todo su código aquí
 
eugggy:
Tengo la idea, pero tengo problemas con la implementación, no estoy familiarizado con la búsqueda de órdenes, no hay casi nada en la ayuda, y el tutorial no es para mentes promedio. Si no hay problema, trataré de usar algún código fuente de MQL4, o tal vez encuentre algunos libros sobre MQL4 para que una persona promedio pueda comprenderlo.

Además, explique con sus propias palabras lo que debería hacer el EA
Razón de la queja: