Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 871
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
r772ra yartmedia70, gracias por la aclaración.
Tengo entendido que la magia es necesaria principalmente cuando un operador utiliza varios EAs, con varias órdenes abiertas, en varios pares de divisas, cuentas, etc. (¿verdad?)
No lo creo, y si pienso que mi Expert Advisor funcionará en beneficio, me bastará. Todavía lo estoy desarrollando para un par, una cuenta en una compañía de corretaje y sólo una orden debe estar abierta y el mago (o cualquier otro identificador para una posición abierta) es necesario para que se cierre sólo al ocurrir ciertas condiciones para esta misma orden y otras condiciones que son válidas para cerrar otras órdenes (que pueden estar abiertas sólo después del cierre de esta orden) no son válidas para esta orden.
Por ejemplo, una orden puede estar abierta cuando aparezcan las condiciones (a+b+c+d+d) o (a+d+e) o (f+c+i+c) y, dependiendo de las condiciones en las que esté abierta la BAY, debería cerrarse según sus propias condiciones:(a+b+c+d) por (f+j+l),(a+d+e) por (h+l+m+n),(g+z+i+k) por (p+r+c+t) .
Me parece que el bucle de orden tampoco es necesario aquí. Tiene que haber alguna solución sencilla que no ocupe mucho espacio. He expuesto mi visión más arriba, pero aún no he llegado al análisis, y además de errores lógicos debo tener errores de sintaxis (pueden faltar paréntesis o estar mal colocadas las variables, etc.).
No lo consideres un problema, por favor ayuda. Estoy atascado sin ella. Gracias
Determina el ticket de la última posición abierta y lo procesa. IMHO - almacenar el número de ticket en una variable es malo, ya que es fácil perderlo en caso de cualquier fallo. Para trabajar con una orden, primero hay que seleccionarla. Y se puede seleccionar por índice, o por billete. El billete debe conocerse con exactitud. Después de una selección exitosa usando el ticket, también debemos comprobar si la posición con este ticket ha sido cerrada. Si sólo hay una posición en el mercado, el ciclo no es una operación que requiera mucho tiempo. Pero no necesitamos almacenar el número del billete en una variable. Se puede seleccionar el último orden de la lista, pero hay una dependencia de ordenación, que se puede cambiar (antes, había una dependencia de ordenación en el terminal, luego se quitó, luego volvió a aparecer, luego se volvió a quitar) - ¿crees que no volverá a aparecer? No lo sé. Sólo habrá una iteración en el bucle cuando sólo haya una posición en el mercado, ¿es mucho?
¿Ha llegado la condición de comprar cerca?
Si es así, buscaremos el ticket de la última posición de compra abierta
Si no, entonces vamos al principio.
Si hemos encontrado el billete, hacemos lo que necesitamos en la situación dada con la orden
De lo contrario, vaya al principio
Este es un ejemplo ligeramente modificado del post anterior
¿Qué es la función OrdBuy_1()? No es una variable sino una función. Esta construcción es completamente errónea. Una función se define fuera de cualquier otra función, no dentro.
Determina el ticket de la última posición abierta y lo procesa. IMHO - almacenar el número de ticket en una variable es malo, ya que es fácil perderlo con cualquier fallo. Para trabajar con la orden, primero hay que seleccionarla. Y se puede seleccionar por índice, o por billete. El billete debe conocerse con exactitud. Después de una selección exitosa usando el ticket, también debemos comprobar si la posición con este ticket ha sido cerrada. Si sólo hay una posición en el mercado, el ciclo no es una operación que requiera mucho tiempo. Pero no necesitamos almacenar el número del billete en una variable. Se puede seleccionar el último orden de la lista, pero hay una dependencia de ordenación, que se puede cambiar (antes, había una dependencia de ordenación en el terminal, luego se quitó, luego volvió a aparecer, luego se volvió a quitar) - ¿crees que no volverá a aparecer? No lo sé. En el ciclo habrá una sola iteración con una sola posición en el mercado, ¿es mucho?
¿Ha llegado la condición de comprar cerca?
Si es así, buscaremos el ticket de la última posición de compra abierta
Si no, entonces vamos al principio.
Si hemos encontrado el billete, hacemos lo que necesitamos en la situación dada con la orden
De lo contrario, vaya al principio
Gracias, intentaré rehacerlo. Aun así, aunque trataré de rehacer según tu explicación, expresa mis errores en el ejemplo anterior para no repetirlos.
Gracias
Gracias, intentaré rehacerlo. Aun así, aunque trataré de rehacer según tu explicación, expresa mis errores en el ejemplo anterior para no repetirlos.
Gracias
He jugado con la línea de tendencia y he aprendido a conseguirla. Pero resulta que los objetos gráficos no funcionan durante la optimización en el probador.
¿Qué debo hacer? ¿Vale la pena conseguirlo en un indicador?
¿Funcionará la optimización de esta manera?
Tengo que irme, no tengo tiempo. En resumen: si una variable es int, ¿por qué la compruebas como bool? Los valores de Stop Loss y Take Profit deben ser normalizados. No busqué más.
Bueno, estoy completamente confundido: OrdBuy_1( ) es la función que abre BAY en las condiciones #1 por encima de esta función. Sólo que probablemente el tipo correcto sea double y no int, porque devuelve el precio de apertura de la orden. Y por lo que tengo entendido, no lo he insertado en ninguna función; se coloca por separado, después de int start(), extrayendo los valores de todos los indicadores necesarios y analizando la situación actual del mercado (¿me equivoco?).
¿Y cómo normalizo la parada y la toma, o mejor aún, cómo no las pongo?
Y no entiendo lo del cheque. Debo haber entendido mal el tutorial - "bool OrderClose (int ticket, double lots, double price, int slippage, color Color=CLR_NONE)Función para cerrar una orden de mercado." ¿Qué es un cheque?
En fin, cuanto más avanzamos, más tonto se vuelve :(.
He jugado con la línea de tendencia y he aprendido a conseguirla. Pero resulta que los objetos gráficos no funcionan durante la optimización en el probador.
¿Qué debo hacer? ¿Vale la pena conseguirlo en un indicador?
¿Funcionará la optimización de esta manera?
He jugado con la línea de tendencia y he aprendido a conseguirla. Pero resulta que los objetos gráficos no funcionan durante la optimización en el probador.
¿Qué debo hacer? ¿Vale la pena conseguirlo en un indicador?
¿Funcionará la optimización de esta manera?