Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Vi ricordo che il risultato è stato ottenuto con un semplice Expert Advisor, che praticamente non dedica tempo a nessuna analisi e non usa indicatori, cioè i risultati sarebbero stati ancora più tristi con un EA funzionante.
Vi ricordo che il risultato è stato ottenuto con un semplice Expert Advisor, che praticamente non dedica tempo a nessuna analisi e non usa indicatori, cioè i risultati sarebbero stati ancora più tristi con un EA funzionante.
Per il confronto:
L'esecuzione di questo test con 10000 scambi su una macchina Windows 7, Intel Pentium Dual-Core E5400 @ 2.70 GHz, 2038 MB (PR111) ha richiesto 472866ms.
Alla luce di quanto sopra, c'è una certa probabilità che alcuni dei candidati per il Campionato 2010 potrebbero essere stati ingiustamente squalificati a causa della barriera dei 15 minuti e delle peculiarità del tester (se ci fossero molti accordi).
** - ci sono state diverse volte in cui il tester non è riuscito a visualizzare il grafico dei simboli con i trade visualizzati alla fine del test.
Non sono stato in grado di scrivere un "semplice EA" che mostrasse tali risultati. Ecco il mio codice:
Ecco i risultati dell'ottimizzazione, la colonna Risultato mostra il tempo di esecuzione in millisecondi.
Non sono stato in grado di scrivere un "semplice EA" che mostri questi risultati. Ecco il mio codice:
Ecco i risultati dell'ottimizzazione, la colonna Risultato mostra il tempo di esecuzione in millisecondi.
Interessante...
Il codice EA si prega di pubblicare.
L'Expert Advisor è basato sul modello dell'articolo Come scrivere rapidamente un Expert Advisor per l'Automated Trading Championship 2010.
La classe CExpertAdvisor viene utilizzata senza alcuna modifica. Forse questo è un effetto collaterale dell'uso delle classi? I risultati del test danno l'impressione che il rallentamento inizi dopo il superamento di una certa soglia. Forse è una tabella delle transazioni di una dimensione limitata, dopo la quale la riallocazione della memoria / raccolta dei rifiuti inizia ad avere effetto?
PS. Ancora una volta vorrei ricordarvi che l'Expert Advisor utilizza la funzione del conto Alpari-Demo (margine zero), altrimenti il numero di trade potrebbe cambiare.
Non sono stato in grado di scrivere un "semplice EA" che mostri questi risultati. Ecco il mio codice:
Ecco i risultati dell'ottimizzazione, la colonna Risultato mostra il tempo di esecuzione in millisecondi.
Nessun problema nemmeno con l'output in XLSX?
Non sono stato in grado di scrivere un "semplice EA" che mostri questi risultati. Ecco il mio codice:
Ecco i risultati dell'ottimizzazione, la colonna Risultato mostra il tempo di esecuzione in millisecondi.
Tabella - Risultato dell'ottimizzatore: Registrazione OFF? Un effetto collaterale della registrazione?
Un EA basato sul modello dell'articolo Come scrivere un EA veloce per l'Automated Trading Championship 2010.
La classe CExpertAdvisor viene utilizzata senza alcuna modifica. Forse questo è un effetto collaterale dell'uso delle classi? I risultati del test danno l'impressione che il rallentamento inizi dopo il superamento di una certa soglia. Forse è una tabella delle transazioni di una dimensione limitata, dopo la quale la riallocazione della memoria / raccolta dei rifiuti inizia ad avere effetto?
PS. Ancora una volta vorrei ricordarvi che l'Expert Advisor utilizza una caratteristica del conto Alpari-Demo (margine zero), altrimenti il numero di trade potrebbe cambiare.
Questa classe contiene il metodo GetDealByOrder(ulong order)
che viene chiamato in ogni scambio. Di conseguenza, ogni volta viene rivista l'intera storia degli scambi e c'è un rallentamento del tempo di prova che è proporzionale al quadrato del numero di scambi.
Queste cose è meglio non usarle in un Expert Advisor che deve essere ottimizzato o testato, perché le perdite di tempo sono inevitabili. È meglio sostituire queste chiamate in modo algoritmico per questi casi.
Questa classe contiene il metodo GetDealByOrder(ulong order)
che viene chiamato su ogni transazione. Di conseguenza, ogni volta l'intera storia delle compravendite viene cercata e c'è un rallentamento del tempo di prova, proporzionale al quadrato del numero di compravendite.
È meglio non usare queste cose nell'Expert Advisor che deve essere ottimizzato o testato, perché le perdite di tempo sono inevitabili. È meglio sostituire queste chiamate in modo algoritmico per questi casi.
Cioè, tutti quelli che hanno usato il modello di Expert Advisor sono "colpiti"...
E XLSX? Non ha niente a che fare con il codice dell'Expert Advisor, vero?
Questa classe contiene il metodo GetDealByOrder(ulong order)
ulong CExpertAdvisor::GetDealByOrder(ulong order) // получение тикета сделки по тикету ордера
{
PositionSelect(m_smb);
HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER));
uint total=HistoryDealsTotal();
for(uint i=0; i<total; i++)
{
ulong deal=HistoryDealGetTicket(i);
if(order==HistoryDealGetInteger(deal,DEAL_ORDER))
return(deal); // запомнили тикет сделки
}
return(0);
}
che viene chiamato ad ogni transazione. Di conseguenza, in questo Expert Advisor in queste condizioni specificate l'intera storia delle transazioni viene cercata ogni volta, e il tempo di prova che è proporzionale al quadrato del numero di transazioni, sta rallentando.
Queste cose è meglio non usarle in un Expert Advisor che deve essere ottimizzato o testato, perché le perdite di tempo sono inevitabili. È meglio sostituire queste chiamate in modo algoritmico per questi casi.
HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER));
Questo metodo cerca in tutta la storia e non solo in quella parte della storia che è associata a una posizione aperta? Se non ho più di 5 operazioni collegate a una posizione aperta, penso che sia meglio usare HistorySelectByPosition piuttosto che cercare nell'intera storia HistorySelect(0,TimeCurrent());
P.S. CExpertAdvisor non ha guardato
HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER));
Questo metodo cerca in tutta la storia e non solo in quella parte della storia che è collegata a una posizione aperta? Se non ho più di 5 operazioni collegate a una posizione aperta, penso che sia meglio usare HistorySelectByPosition piuttosto che cercare nell'intera storia HistorySelect(0,TimeCurrent());
P.S. CExpertAdvisor non ha guardato
In questo caso, abbiamo migliaia di affari in una posizione, e tutti hanno lo stesso identificatore di posizione POSITION_IDENTIFIER. Quindi, la chiamata di HistorySelectByPosition in questo caso è equivalente alla chiamata diHistorySelect(0,TimeCurrent()), l'enumerazione di questi affari porta a una ricerca di tutti gli affari dalla storia.
Diciamo che è stato fatto un esempio sfortunato di utilizzo del modello dell'articolo. È come nella storia degli uomini siberiani e della motosega giapponese.
E XLSX? Il codice EA ha qualcosa a che fare con questo?