[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 576

 
Minodi >>:

Вот так?

if (OrderSelect(OrdersTotal(), SELECT_BY_POS, MODE_TRADES)) {

ot=OrdersTotal();

if (ot<1){

Não, se apenas um especialista está trabalhando e não deve ser aberto mais de um pedido, você pode fazer isso (para começar)

if(OrdersTotal()==0 && /* все остальные твои условия*/)
 
E se houver uma ordem em aberto? Ou mesmo mais de uma?
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Primeiro encontre uma tática, teste-a, depois se preocupe com EAs paralelos e deixe as ordens.
 

Uma dica, há uma definição de um tempo diário alto e baixo:

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

if (High[0]>HiPrice)HiTime=TimeCurrent();

if (Low[0]<LoPrice)LoTime=TimeCurrent();

Precisamos comparar a hora de alta/baixa com a hora especificada do dia. Por exemplo, deve ser às 22h00.

Pode ser escrito desta forma:

data/horaE;

int h=22, m=00, ot;

TimeE=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+""+h+": "+m);

 

Há uma tática, mas a EA abre de uma forma estranha.

Não devo acertar a hora 22.00 para a condição.

Se tiver que ser reiniciado, como?

 

Você pode me dizer que tipo de peru é este? Para onde esta pergunta pode ser transferida?

 

Ajude a atualizar a EA. A idéia é simples - se Alta for posterior a Baixa e depois das 22.00 - comprar da corrente. e também se Baixa for posterior a Baixa e depois das 22.00 - vender da corrente. O tempo de abertura dos pedidos é definido. A parada e o lucro são fixos.

Na prática, isso se revelou, que se abre às vezes corretamente e às vezes não em condições.

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


Eu facilito. Mas neste caso, abrirá uma nova ordem quando a EA for reinstalada.

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

 
como inserir o código em um tópico para que ele seja destacado?
 

Quando esta EA está funcionando com uma conta real, o erro 146 é muito freqüente.

É possível fazer o Expert Advisor fazer várias tentativas para abrir uma ordem, digamos, com uma pausa de meio minuto?