[¡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

 
Minodi >>:

Вот так?

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)

if(OrdersTotal()==0 && /* все остальные твои условия*/)
 
¿Y si hay un pedido abierto? ¿O incluso más de uno?
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Primero encuentre una táctica, pruébela, y luego preocúpese de los EAs paralelos y de las órdenes de la izquierda.
 

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.

Archivos adjuntos:
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает


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;
}
}

 
¿cómo se inserta el código en un tema para que se resalte?
 

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?