Domande di base ...
se (Curtime() > lasttime + 30*60)
Domanda di base ...
Salve,
Sono nuovo di MetaTrader e ho una domanda di base:
Voglio limitare le posizioni aperte nel mio expert-advisor a solo 1 posizione alla volta - ma voglio questa limitazione per simbolo, quindi se eseguo un altro expert-advisor su un altro simbolo, si aprirà una nuova posizione su quel simbolo.
In altre parole, voglio essere in grado di aprire 1 posizione per tutti i simboli, ma non più di 1 posizione per un simbolo (e sto parlando di molti expert-advisor su molti simboli...)
Come posso farlo?
Ho visto la funzione"totaltrades", ma dalla documentazione ho capito che questa funzione si applica al conto e non al simbolo corrente,
quindi "if totaltrades=1 then exit;" causerà 1 posizione alla volta per tutti i simboli...
10X !
1 posizione per tutti i simboli
int total=OrdersTotal();
if(total<1)
{
.
.
.
}
Ma una posizione per un simbolo o per un grafico aperto?
beh, uno per grafico è il migliore...
Ma se non si può fare, allora va bene anche 1 per simbolo...
1 per simbolo
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() )
return(0);
....Grande!
10 volte tanto!
E ti disturberò di nuovo... (:
Posso farlo anche per grafico?
Perché ho diversi sistemi per diversi intervalli di tempo grafici ...
Mi dispiace, non capisco 
Ciao
Voglio fare il seguente nel codice
'Non fare trading per 30 minuti dal mio ultimo trade'
Così se i miei indicatori indicano che dovrei aggiungere ancora al mio attuale trade, allora piazzo il trade nella stessa direzione solo se sono passati 30 minuti
Sto facendo quanto segue - questo codice non funziona ancora - è solo in fase di progettazione - non so come aggiungere 30 minuti al mio ultimo ordine
Questo è per un EA che lavora solo sulla coppia corrente
int start()
{
int cnt, ticket, total, stop1;
static datetime lasttime
total=OrdersTotal();
for(cnt=0;cnt<totale;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//Determina il tempo dell'ultimo OrderClose
if (OrderCloseTime > lasttime + 30)
{
lasttime = orderclosetime
}//if (OrderCloseTime)
}
Ora voglio dire
se (Curtime() > lasttime + 30 minuti)
{
Continua la negoziazione
}
aiuto pls