Discussione sull’articolo "Guida Step-By-Step alla scrittura di un Expert Advisor in MQL5 per Principianti" - pagina 11

 
Grenjohn:

Potete dirmi di più per favore! È possibile aprire e chiudere posizioni in Expert Advisor, chiaramente in base al tempo in secondi, indipendentemente dai tick, come un normale timer. Cioè, se l'orologio segna 12:52:25, la posizione viene aperta, senza aspettare un nuovo tick, e lo stesso vale per la chiusura?

Avviare un timer con la frequenza desiderata e verificare il verificarsi dell'ora richiesta.

Oppure calcolate il tempo necessario per l'attivazione (12:52:25 - ora di inizio) e impostate l'intervallo esatto.

Non incorrere in un divieto di trading, il timer si attiverà anche quando il mercato è chiuso.

 
E come avviare il timer o come impostare l'intervallo esatto, dovrebbe essere scritto nel codice dell'Expert Advisor?
 
Grenjohn:
E come avviare il timer o come impostare l'intervallo esatto, dovrebbe essere scritto nel codice EA?
Prima di tutto, utilizzate la ricerca.
 
Beh, l'ho trovato nella ricerca, ci darò un'occhiata grazie!
 

Posso chiedervi se è possibile programmare un Expert Advisor per aprire un Expert Advisor in un giorno specifico della settimana, in modo che apra e chiuda le posizioni in un giorno specifico della settimana?

[Eliminato]  
Grenjohn:

Posso chiedervi se è possibile programmare un Expert Advisor per aprire un Expert Advisor in un giorno specifico della settimana, in modo che apra e chiuda le posizioni in un giorno specifico della settimana?

È possibile
 
Grenjohn:

Posso chiedervi se è possibile programmare un Expert Advisor in modo che apra un Expert Advisor in un giorno specifico della settimana, in modo che apra e chiuda le posizioni in un giorno specifico della settimana?

È possibile.
[Eliminato]  
Dima_S:
Possiamo.
Sincronicamente)))))
 

Grazie, ma avevo capito che quando si verifica tale evento (l'ora che ho specificato), la funzione dovrebbe funzionare, ma per qualche motivo non funziona.

La posizione non si apre!!!?

extern int tp = 1000;

extern int sl = 1000;

extern double Lots = 0,2;

int ticket;

void OnStart()

{

datetime date1=D'2014.10.28.13.22.13';

if(OrdersTotal()==0)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);

}

if (OrdersTotal( )==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)

{

bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);

bool close1=OrderClose(ticket,Lots,Bid,20,Green);

}

return(0);

}

Mi spiego meglio: ho bisogno che ogni settimana (una volta alla settimana), in un giorno tale e quale, a un'ora tale e quale, a un secondo tale e quale, una posizione venga aperta e poi chiusa pochi secondi dopo.

[Eliminato]  
Grenjohn:
Rispettiamoci a vicenda. Inserite il codice correttamente in modo che possa essere letto. Vi è già stato mostrato come fare.