[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 576

 
Minodi >>:

Вот так?

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

ot=OrdersTotal();

if (ot<1){

No, se solo un esperto sta lavorando e non deve essere aperto più di un ordine, si può fare così (per cominciare)

if(OrdersTotal()==0 && /* все остальные твои условия*/)
 
E se c'è un ordine aperto, o anche più di uno?
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
Prima trova una tattica, testala, poi preoccupati degli EA paralleli e degli ordini a sinistra.
 

Un suggerimento, c'è una definizione di un tempo massimo e minimo giornaliero:

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

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

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

Abbiamo bisogno di confrontare l'ora di alto/basso con l'ora specificata del giorno. Per esempio, dovrebbe essere 22.00.

Si può scrivere così:

datetime TimeE;

int h=22, m=00, ot;

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

 

C'è una tattica, ma l'EA si apre in modo strano.

Non devo aver impostato correttamente l'ora 22.00 per la condizione.

Se deve essere resettato, come?

 

Potete dirmi per favore che tipo di tacchino è questo? Dove si può spostare questa domanda?

 

Aiutami ad aggiornare il mio EA. L'idea è semplice - se l'Alto è successivo al Basso e dopo le 22.00 - compra dalla corrente. e anche se il Basso è successivo al Basso e dopo le 22.00 - vende dalla corrente. Il tempo di apertura degli ordini è fissato. Lo stop e il profitto sono fissi.

In pratica si è rivelato, che si apre a volte correttamente, e talvolta non a condizione.

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


Lo rendo più facile. Ma in questo caso aprirà un nuovo ordine quando l'EA sarà reinstallato.

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

 
come si inserisce il codice in un argomento in modo che sia evidenziato?
 

Quando questo EA lavora su un conto reale, l'errore 146 è molto frequente.

È possibile fare in modo che l'Expert Advisor faccia diversi tentativi di aprire un ordine, diciamo con una pausa di mezzo minuto?

Motivazione: