[¡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 576
![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
Вот так?
if (OrderSelect(OrdersTotal(), SELECT_BY_POS, MODE_TRADES)) {
ot=OrdersTotal();
if (ot<1){
No, si sólo trabaja un experto y no debe abrirse más de una orden, puede hacer esto (para empezar)
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Una pista, hay una definición de un tiempo máximo y mínimo diario:
if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}
if (High[0]>HiPrice)HiTime=TimeCurrent();
if (Low[0]<LoPrice)LoTime=TimeCurrent();
Tenemos que comparar la hora de alta/baja con la hora especificada del día. Por ejemplo, debería ser 22,00.
¿Se puede escribir así?
datetime TimeE;
int h=22, m=00, ot;
TimeE=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+""+h+": "+m);
Hay una táctica, pero el EA se abre de una manera extraña.
No debo estar configurando correctamente la hora 22.00 para la condición.
Si hay que restablecerlo, ¿cómo?
¿Puede decirme qué tipo de pavo es? ¿A dónde se puede trasladar esta pregunta?
Ayudar a poner al día la EA. La idea es simple - si el Alto es más tarde que el Bajo y después de las 22.00 - comprar desde la corriente. y también si el Bajo es más tarde que el Bajo y después de las 22.00 - vender desde la corriente. Se establece la hora de apertura de los pedidos. La parada y el beneficio son fijos.
En la práctica ha resultado, que se abre a veces correctamente, y a veces no en condiciones.
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Lo hago más fácil. Pero en este caso se abrirá una nueva orden cuando se reinstale el EA.
if(FLAG_ORDER == NO && Signal_OPEN == OPEN_SELL)
{
TICKET_SELL = OrderSend(Symbol(),OP_SELL,Lot,Bid,5,0,0,NULL,0,0,CLR_NONE);
ERROR = GetLastError();
switch(ERROR)
{
case 0 : FLAG_ORDER = YES;
Signal_OPEN = NO;
Error("Set SELL: ",ERROR);
if(Sound_ON == true) PlaySound(Name_Sound_Open);
return(0);
default: Error("Set SELL: ",ERROR); return;
}
}
Cuando este EA se ejecuta en una cuenta real, el error 146 es muy frecuente.
¿Es posible hacer que el Asesor Experto haga varios intentos de abrir una orden, por ejemplo, con una pausa de medio minuto?