Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1111

 

Ciao a tutti.

Potete aiutarmi a creare una condizione all'apertura di un ordine, in modo che si apra solo se l'ora attuale (precisa al minuto) non è uguale all'ora di chiusura dell'ordine precedente.

Ecco la costruzione:

int accTotal=OrdersHistoryTotal();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==true) {

datetime ctm=OrderCloseTime();

}

...

e poi condizione per aprire un ordine

if(.....&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Ma naturalmente non funziona perché TimeCurrent() restituisce un tempo preciso al secondo, e io ho bisogno di un minuto perché faccio trading su barre di un minuto e nelle forti fluttuazioni del mercato anche durante un minuto il prezzo può andare a centinaia di punti e questo spesso non è nella mia direzione. Ecco perché ho bisogno di un solo ordine da aprire in un minuto.

 
ev85:

Ciao a tutti.

Potete aiutarmi a creare una condizione all'apertura di un ordine, in modo che si apra solo se l'ora attuale (precisa al minuto) non è uguale all'ora di chiusura dell'ordine precedente.


Naturalmente, non funziona perché TimeCurrent() restituisce un tempo preciso al secondo, mentre io ho bisogno di un minuto. Dato che faccio trading su indicatori al minuto e con forti fluttuazioni di mercato, anche in un minuto il prezzo può andare a centinaia di punti e non sempre nella mia direzione. Ecco perché ho bisogno di un solo ordine da aprire in un minuto.

TimeHour(),TimeMinute().
 
ev85:

Ciao a tutti.

Potete aiutarmi a creare una condizione all'apertura di un ordine, in modo che si apra solo se l'ora attuale (precisa al minuto) non è uguale all'ora di chiusura dell'ordine precedente.

Ecco la costruzione:

int accTotal=OrdersHistoryTotal();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==true) {

datetime ctm=OrderCloseTime();

}

...

e poi condizione per aprire un ordine

if(.....&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Ma naturalmente non funziona perché TimeCurrent() restituisce un tempo preciso al secondo, e io ho bisogno di un minuto perché faccio trading su barre di un minuto e nelle forti fluttuazioni del mercato anche durante un minuto il prezzo può andare a centinaia di punti e questo spesso non è nella mia direzione. Ecco perché ho bisogno di un solo ordine da aprire in un minuto.

   datetime t=0;
   int  ticket;

   for(int i=0; i<OrdersHistoryTotal(); i++) 
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) 
        {
         if(OrderSymbol()==Symbol()) 
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              {
               if(t<OrderCloseTime()) t=OrderCloseTime();
              }
           }
        }
     }
   if(TimeCurrent()-t>60)   //Ecли после закрытия последней поз > 60 секунд, то открываемся
       ticket=OrderSend(.....);
Qualcosa del genere
 
Come determinare la tendenza in MQL4 in modo intelligente?
 
Cei Come determinare la tendenza in MQL4?

Ci sono molti modi - cercate gli indicatori di tendenza in CodeBase. Differenziare una media mobile, prendere un coefficiente di regressione lineare, ... ma per i miei gusti è meglio prendere le inversioni

Ho cliccato in cima a questa pagina Code Base. Ho inserito un indicatore di tendenza nella casella di ricerca. Come ha detto Mayakovskiy, tutti questi indicatori sono buoni, ma non c'è differenza. Ecco un link ad uno di essi. Ho fatto qualche altra ricerca e ho letto: Un buon Expert Advisor ... dovrebbe dare una raccomandazione -"Non entrare nel mercato".

 
Cei:
Come determinare la tendenza in MQL4?

Aspetta un'inversione, dichiara - c'era una tendenza lì ))))

Non c'è altro modo. La tendenza è definita nel passato, come le onde, come i frattali, come gli zigzag.

 

Amici, c'è qualche funzione per proibire il commercio?

Ne ho bisogno per un piccolo ciclo:

per (fornito; nessuna negoziazione; fino a quando tutti gli ordini correnti sono chiusi)

 
ev85:

Amici, c'è qualche funzione per proibire il commercio?

Ne ho bisogno per un piccolo ciclo:

per (fornito; nessuna negoziazione; fino a quando tutti gli ordini correnti sono chiusi)

Totale ordini()
 
Il compito è il seguente.

Ho bisogno di eseguire l'indicatore su tutti i 9 timeframe per 100 simboli da Market Watch e produrre il risultato come una tabella.
Devo tenere aperti 900 grafici o no, in modo che la storia sia pompata e aggiornata?
 
RickD:
Il compito è il seguente.

Ho bisogno di eseguire l'indicatore su tutti i 9 timeframe per 100 simboli da Market Watch e produrre il risultato come una tabella.
Affinché la cronologia sia bumpata e rilevante, devo tenere aperti 900 grafici o no?

No, 100 grafici sono sufficienti, ma devi scrivere l'indicatore correttamente.

Motivazione: