Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 375
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
¡Buenos días a todos!
Por favor, dame una orden para que el robot no abra más de 1 orden por 1 vela.
Incluso si tomó su toma en esta vela - no para abrir la siguiente orden en la misma vela.
Ahora resulta que si se cumplen las condiciones de los indicadores - abrir una operación.
Cuando se cierra una operación en la toma, inmediatamente se abre una nueva operación en la misma vela, y aquí ya me resulta innecesario y crea problemas.
Creo que es importante dar algunos comentarios.
Necesita un trato estrictamente de 1 vela - 1 trato.
Muchas gracias de antemano.
¡Buenos días a todos!
Por favor, dame una orden para que el robot no abra más de 1 orden por 1 vela.
Incluso si tomó su toma en esta vela - no para abrir la siguiente orden en la misma vela.
Ahora resulta que si se cumplen las condiciones de los indicadores - abrir una operación.
Cuando se cierra una operación en la toma, inmediatamente se abre una nueva operación en la misma vela, y aquí ya me resulta innecesario y crea problemas.
Creo que es importante dar algunos comentarios.
Necesita un trato estrictamente de 1 vela - 1 trato.
Gracias de antemano.
También puedes utilizar la bandera.
Declarar una variable estática bool o una variable global, que sea flag. Orden abierta - flag = true, una nueva vela abierta - flag = false y añadir este flag a la condición de apertura de la orden.
También puedes utilizar una bandera.
Declarar variable estática bool o variable de nivel global, que sea flag. Orden abierta - flag = true, una nueva vela abierta - flag = false y añadir este flag a la condición de apertura de la orden.
La bandera debe ser guardada en el terminal global y restaurada en su reinicio.
Depende del periodo en el que se encuentre la operación y de la posibilidad de reiniciar el terminal en una barra para abrir una orden y reiniciar el terminal.
No me gusta la GV y trato de prescindir de ella. Cuando se inicia un EA, debe recoger toda la información sobre las órdenes abiertas de todos modos, así que ¿por qué no restablecer el valor de la bandera en el inicio? Esta es una opción. La segunda variante es que el valor inicial de la bandera prohíbe la apertura de órdenes y sólo la siguiente barra dará permiso. Así, aunque hayamos abierto y reiniciado el EA en la barra actual, la bandera nos prohibirá de todas formas abrir órdenes hasta la siguiente barra.
Si da esos consejos con tanta sutileza, no tendrá que pensar en nada. Así que el número de preguntas aumentará en consecuencia... ¿Por qué decidir algo tú mismo... Pregunta en el foro y obtendrás una versión que funcione. Y lo único que queda es poner el producto en el mercado...
Depende del periodo en el que se encuentre la operación y de la posibilidad de reiniciar el terminal en una barra para abrir una orden y reiniciar el terminal.
No me gusta la GV y trato de prescindir de ella. Cuando se inicia un EA, debe recoger toda la información sobre las órdenes abiertas de todos modos, así que ¿por qué no restablecer el valor de la bandera en el inicio? Esta es una opción. La segunda variante es que el valor inicial de la bandera prohíbe la apertura de órdenes y sólo la siguiente barra dará permiso. Así, aunque tengamos una nueva orden de apertura en la barra actual y reiniciemos el EA, la bandera prohibirá de todas formas la apertura de órdenes hasta la siguiente barra.
Sólo por dar consejos con tanta sutileza, no tendremos que pensar en nada. En consecuencia, el número de preguntas puede aumentar. ¿Por qué decidir algo tú mismo... Pregunta en el foro y obtendrás una versión que funcione. Y lo único que queda es poner el producto en el mercado...
:)
Es la misma razón por la que nos gustan mujeres diferentes.
¿Qué diferencia hay, la bandera o el momento de abrir una posición? No importa cómo lo hagas, todavía tienes que comprobar algo...Hola, ¿pueden decirme cómo devolver el número de las últimas órdenes perdedoras, después de las rentables?
Aquí está mi código, ¿qué está mal?
int GetProfitLoss()// Pérdida en las órdenes cerradas (número de las últimas órdenes perdedoras)
{
int Pérdida = 0;
datetime lastCloseTime = 0;
int cnt = OrdersHistoryTotal();
for(int i=0; i < cnt; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId && lastCloseTime < OrderCloseTime())
{
lastCloseTime = OrderCloseTime();
}
si (OrderProfit()<0)
{
Pérdida ++;
}
if(OrderProfit()>0)
{
break; // Salir del bucle en la primera rentable encontrada }
}
}
}
}
retorno(Pérdida);
}
¡Buenos días a todos!
Por favor, dame una orden para que el robot no abra más de 1 orden por 1 vela.
Incluso si tomó su toma en esta vela - no para abrir la siguiente orden en la misma vela.
Ahora resulta que si se cumplen las condiciones de los indicadores - abrir una operación.
Cuando se cierra una operación en la toma, inmediatamente se abre una nueva operación en la misma vela, y aquí ya no es necesario y me crea problemas.
Creo que es importante dar algunos comentarios.
Necesita un trato estrictamente de 1 vela - 1 trato.
Gracias de antemano.
Función NumberOfBarCloseLastPos().
Esta función devuelve el número de barra de la última posición que se ha cerrado, o-1. La selección de las posiciones a considerar se establece mediante parámetros externos:
La función NumberOfBarOpenLastPos().
Esta función devuelve el número de barra de la última posición abierta o-1. La selección de las posiciones a considerar está definida por parámetros externos:
A continuación, utilizando estas funciones, compruebe la condición que necesita.
Por favor, ayuda.
Necesito añadir la siguiente función a mi robot:
Después de abrir una operación, en 40 segundos si el beneficio es superior a 15 pips, la operación se cierra instantáneamente, si es inferior, el takeprofit se mueve al nivel de beneficio de 15 pips.
Gracias de antemano.
La función NumberOfBarCloseLastPos().
Esta función devuelve el número de cierre de barra de la última posición o-1. La selección de las posiciones a tener en cuenta se define mediante parámetros externos:
La función NumberOfBarOpenLastPos().
Esta función devuelve el número de barra de la última posición abierta o-1. La selección de las posiciones a considerar está definida por parámetros externos:
A continuación, utilice estas funciones para comprobar la condición que necesita.
¡Muchas gracias!
¡¡¡Lo miraré!!!