Creo que está bien, pero en la comprobación del OrderCloseTime,
no veo por qué necesitas los 30 minutos extra.
Si el OrderCloseTime más reciente es más reciente que el anterior, entonces debería ser lasttime.
si (Curtime() > lasttime + 30*60)
Pregunta básica ...
Hola,
Soy nuevo con MetaTrader y tengo una pregunta básica:
Quiero limitar las posiciones abiertas en mi asesor experto a sólo 1 posición a la vez - pero quiero que la limitación por símbolo, por lo que si voy a ejecutar otro asesor experto en otro símbolo, se abrirá una nueva posición en ese símbolo.
En otras palabras, quiero ser capaz de abrir 1 posición para todos los símbolos, pero no más de 1 posición para un símbolo (Y estoy hablando de muchos expertos-asesores en muchos símbolos...)
¿Cómo puedo hacerlo?
Vi la función"totaltrades", pero de la documentación entendí que esta función se aplica a la cuenta y no para el símbolo actual,
así que "si totaltrades=1 entonces exit;" causará a 1 posición a la vez para todos los símbolos...
¡10X !
1 posiciones para todos los símbolos
int total=OrdersTotal();
if(total<1)
{
.
.
.
}
¿Pero una posición para un símbolo o para un gráfico abierto?
Bueno, uno por gráfico es lo mejor ...
Pero si no se puede hacer, entonces 1 por símbolo también es bueno...
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() )
return(0);
....¡¡¡¡¡Grandioso!!!!
¡10 veces más!
Y te voy a molestar de nuevo ... (:
¿Puedo hacerlo también por gráfico?
Porque tengo diferentes sistemas para diferentes gráficos de intervalos de tiempo ...
Lo siento, no lo entiendo.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Hola
Quiero hacer lo siguiente en código
No operar durante 30 minutos desde mi última operación
Así que si mis indicadores indican que debo añadir a mi comercio actual de nuevo, entonces coloco el comercio en la misma dirección sólo si 30 minutos han pasado
Estoy haciendo lo siguiente - este código no funciona todavía - es sólo en la fase de diseño - No sé cómo añadir 30 minutos a mi última orden
Esto es para un EA que sólo trabaja en el par actual
int inicio()
{
int cnt, ticket, total, stop1;
static datetime lasttime
total=Total de pedidos();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//Determinar la hora del último OrderClose
if (OrderCloseTime > lasttime + 30)
{
lasttime = orderclosetime
}//si (OrderCloseTime)
}
Ahora quiero decir
if (Curtime() > lasttime + 30 minutos)
{
Contiue trading
}
ayuda de pls