Quando ha senso mantenere parte del codice del robot in un indicatore? - pagina 29

 

Ecco il codice corretto con la misura del tempo. Dimitri deve fare uno scoop con un indicatore e postarlo qui in modo da poterlo confrontare.


extern double Alpha = 0.1;

double EMA;

double GetPrice()
{
  return(Open[0]);
}

void init()
{
  EMA = GetPrice();
  
  return;
}

void start()
{
  static int PrevTime = 0;
  int start = GetTickCount();
  
  if (PrevTime == Time[0])
    return;
 
  PrevTime = Time[0];
    
  for(int i = 0; i != 100000; i++)
      EMA = EMA * Alpha + (1 - Alpha) * GetPrice();
  Print("Calculation Time", GetTickCount()-start,"ms");

  return;  
}
 
hrenfx:

Per confronto, ho leggermente modificato l'indicatore (iema.mq4):

e EA:


Non dirmi che è il mio codice
 
hrenfx:
Non siate sfacciati, il codice è nelle appendici a pagina 11.
Non c'è tempismo, il codice è incompleto.
 
Andrei01:

Ecco il codice corretto con la misura del tempo.

Chi dice che è corretto?
 
TheXpert:
Chi dice che ha ragione?
Il codice soddisfa pienamente il problema - misurare il tempo di calcolo dell'EMA nell'EA.
 
Andrei01:

Ecco il codice corretto con la misura del tempo. Dimitri dovrebbe raccoglierlo attraverso il suo strumento e postarlo qui in modo da poterlo confrontare.

Hai una bella faccia tosta a chiamare queste stronzate un codice appropriato e a lasciare intendere che ha qualcosa a che fare con me.

 
Andrei01:

Ecco il codice corretto con la misura del tempo. Dimitri ha bisogno di raccoglierlo attraverso un indicatore e postarlo qui in modo da poterlo confrontare.

Completamente errato. Ovviamente hai fretta di entrare nel codice. Ci sono solo poche corde.

Si fa così: si genera il prezzo BP e si calcola il tempo di esecuzione delle varianti "tutto in uno" e "con indicatore".

 
Lascio il ramo per sempre.
 
hrenfx:

Si fa così: si genera un prezzo BP e si calcolano i tempi di esecuzione delle varianti all-in-one e dell'indicatore.


BP al primo stadio non è necessario, si può semplicemente confrontare la velocità di questo frammento di codice. Il risultato in quanto tale non è importante, è solo il tempo di calcolo che è importante.

In un caso più complesso, possiamo mettere in loop la funzione di avvio invece del ciclo interno.

 
Integer:

Hai una bella faccia tosta a chiamare una tale eresia un vero e proprio codice e a lasciare intendere che ha qualcosa a che fare con me.

Leggi attentamente i termini del concorso prima di maledire, hai richiesto un codice per il confronto - ecco il codice.

Ora vai avanti e attaccalo all'indicatore, proprio come stavi per fare.

Motivazione: