Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 249
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
Tal vez eso sea mejor.
Sólo intercambiar lugares. Aun así, Hour()>OpenHH más a menudo que la hora y los minutos.
¿Crees que esto aumentará la velocidad del EA? Me pregunto, tal vez... Francamente, nunca he pensado en el orden de las condiciones en IF...)
¿Crees que esto aumentará la velocidad del EA? Interesante, tal vez... Sinceramente, nunca he pensado en el orden de establecimiento de las condiciones en IF...)
Todo parece correcto, debería funcionar. Probé tu código en el mío - funciona con minutos. Pero sólo de 14:25 a 14:59, de 15:25 a 15:59, etc.
{
int OpenHH=14,OpenMM=25;
bool Trade=true;
//----
if (Trade) // Разрешение на торговлю.
if (TimeHour(TimeCurrent()) >= OpenHH ) // В назначенный час
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); } // открыть ордера.
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
Pero en cuanto añado minutos ( TimeMinute(TimeCurrent()) >= OpenMM ) - sin resultado.
El EA también se niega a colocar órdenes por minutos cuando utiliza la función StrToTime().
Gracias de nuevo... Seguiré investigando...
Tal vez eso sea mejor.
No... Esto tampoco funciona...
Incluso cuando se utiliza otra función StrToTime() - si especifico el tiempo en horas enteras - todo está bien, pero tan pronto como añado minutos - no hay resultado. Aunque, como escribí en el primer post, los pedidos se cierran a las 23:45 los viernes sin problemas...
bool Trade=true;
string OpenTime = "14:00"; // Вот так работает!!!
string OpenTime = "14:25"; // А вот так - не работает!!!
if ( StrToTime(OpenTime) == TimeCurrent() && Trade )
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
No... Esto tampoco funciona...
Incluso cuando se utiliza otra función StrToTime() - si especifico el tiempo en horas enteras - todo está bien, pero tan pronto como se añaden los minutos - ningún resultado. Aunque, como escribí en el 1er post, los pedidos se cierran a las 23:45 los viernes sin problemas...
bool Trade=true;
string OpenTime = "14:00"; // Вот так работает!!!
string OpenTime = "14:25"; // А вот так - не работает!!!
if ( StrToTime(OpenTime) == TimeCurrent() && Trade )
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
No sé... Este código también me funciona....
¿Cómo se prueba? Si, por ejemplo, en H1 y a precios de apertura, probablemente no funcione.
¿Cómo se hace la prueba? Si, por ejemplo, en H1 y a precios de apertura, probablemente no funcione.
Verás, es tan simple como eso... Los minutos deben ser un múltiplo de TF ...
Ahora / si ( TimeCurrent() == StrToTime(OpenTime) && Trade ), si OpenTime = 14:25 / funcionará, pero sólo en TF=M1 y M5 ... La función de apertura de órdenes necesita las cotizaciones actuales pero la función de cierre de órdenes no las necesita...
De alguna manera me perdí este punto (por mi inexperiencia)...
Muchas gracias, lo he solucionado...
Sepulca:
¿Cómo se hace la prueba? Si, por ejemplo, en H1 y a precios de apertura, probablemente no funcione.Ja, ja... Y aquí hay una mentira...
El problema resultó estar en la función OpenOrders(). Me he olvidado completamente de quitar el control de la apertura de la orden en la ruptura de una vela (barra):
if (Volume[0] > 1) return;
Entonces, en qué TF el Asesor Experto estaba probando, estaba abriendo órdenes en esos minutos...
Estúpido en general, en un duro...
Gracias...