Renat Fatkhullin:
Espanderemo drasticamente le impostazioni dettagliate dei test con commissioni, condizioni di attivazione degli ordini, slippage, ecc.
Questa aggiunta sarebbe una delle prime ad essere vista.
Confrontare le corse è una grande cosa.
C'è anche questa necessità dei giorni barbuti che le soluzioni di terzi sono diventate popolari: combinare più corse in una sola.
Cioè, diversi TC sono gestiti "simultaneamente", ma la loro storia complessiva e il loro patrimonio sono costruiti.
Forum sul trading, sistemi di trading automatico e test di strategia
fxsaber, 2019.07.22 01:54
Un tester diventa una trebbiatrice molto forte quando è dotato della capacità di automatizzare.
Se gli sviluppatori includono in MQL le funzioni di gestione dei Tester interni(impostare data/simbolo/modalità, eseguire la migliore esecuzione singola, salvare il rapporto, ecc. ), diventerà cento volte più forte di tutti i potenziali concorrenti. E passerà dall'essere un giocattolo serio a uno strumento di ricerca senza precedenti, poiché diventerà una vera e propria trebbiatrice di computer.
Ma dubito che lo farà. Se qualcuno può aiutare ad automatizzare l'evidenziazione, sarebbe fantastico.
TesterSetInfo, TesterGetInfo.
C'è anche una necessità dai tempi della barba che le soluzioni di terzi sono diventate popolari: combinare diversi passaggi in uno.
Cioè, diversi TC sono gestiti "simultaneamente", ma la loro storia complessiva e il loro patrimonio sono costruiti.
Sostenere un collega. Devo implementarlo sul lato, ma d'altra parte, come organizzarlo nel tester? Hm, aggiungere qualche attributo a tale passaggio come "Portfolio #". - forse come questo?
Sostenere un collega. Devo implementare questo sul lato, ma d'altra parte, come si organizza questo nel tester? Hmm, aggiungere un qualche tipo di attributo a tale passaggio come "Portfolio #". - forse come questo?
Assegnare manualmente gli agenti ad ogni programma in fase di test allo stesso tempo.
Per esempio, abbiamo 8 agenti, e 4 di loro sono assegnati a un esperto e 4 a un altro. Di conseguenza, solo due programmi mql possono essere testati simultaneamente.
Oppure ad ogni esperto saranno assegnati 2 agenti, e poi gli stessi 8 agenti staranno già testando 4 programmi ecc.
Oppure, assegnare automaticamente gli agenti, come una gara, il primo che prende l'agente, il primo che prende l'agente.
Un agente ha completato un compito, aspetta di nuovo che venga preso dalla coda dei compiti, ecc.
Così, il numero di programmi testati simultaneamente aumenta.
Ogni programma che viene testato allo stesso tempo, alloca automaticamente il proprio ambiente virtuale di tester.
E ogni test viene eseguito da solo allo stesso tempo, dopo il completamento di tutti i passaggi, i risultati di ogni programma vengono riassunti e vengono calcolati i valori medi.
Vengono visualizzate le statistiche generali.
Assegniamo manualmente gli agenti ad ogni programma che viene testato allo stesso tempo.
Per esempio, abbiamo 8 agenti e 4 sono assegnati a un Expert Advisor e 4 a un altro. Come risultato, solo due programmi mql possono essere testati simultaneamente.
Oppure, assegnare automaticamente gli agenti, come una gara, così chi ottiene l'agente per primo, ottiene lo stesso.
L'agente ha completato un compito e sta aspettando di essere ripreso dalla coda dei compiti, ecc.
Così, il numero di programmi testati simultaneamente aumenta.
Ogni programma da testare allo stesso tempo, assegna automaticamente il proprio ambiente virtuale di tester.
E ogni test viene eseguito da solo allo stesso tempo, dopo il completamento di tutti i passaggi, il risultato di ogni programma viene riassunto e vengono visualizzate le statistiche generali.
La mia variante è più semplice e più funzionale, ti permette di testare tutti gli EA e le loro impostazioni di cui hai bisogno, senza alcun problema inutile. La tua variante richiede un manager per distribuire i compiti... È necessario aggiungere un gestore di test di portafoglio che è formato da un utente e dove l'Expert Advisor e il set / impostazioni di esso sono indicati, così come l'ID del portafoglio - in modo che si possa poi confrontare diversi portafogli, allora sarà universale e funzionale.
La mia variante è più semplice e più funzionale, ti permette di testare tutti gli EA e le loro impostazioni che vuoi senza alcun problema inutile. La tua variante richiede un manager per distribuire i compiti... Abbiamo bisogno di aggiungere un gestore per il test del portafoglio, che è formato da un utente e dove sono indicati l'Expert Advisor e il set / impostazioni per esso, così come l'ID del portafoglio - per essere in grado di confrontare diversi portafogli, allora sarà universale e funzionale.
Quindi, abbiamo due approcci.
Oppure testare ogni programma in modo sequenziale, e poi generare i risultati per numero di portafoglio, per statistiche generali.
Oppure testate ogni programma simultaneamente in modalità multi-threaded, e visualizzate immediatamente le statistiche generali per questi set.
L'unica differenza è nell'azione delle impostazioni iniziali, o nella generazione manuale delle statistiche generali dopo il test.
E possibilmente nella velocità generale di esecuzione dei test.
p.s. MetaCitazioni - a volte i sogni si avverano.
Cos'è uno stress test?
(cioè quali funzionalità sono coinvolte)
Grande notizia!
Questo incoraggerà il passaggio alla MT5.
Dopo tutto, tutti riscriveranno programmi per mt5 per testarli lì...
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Non lasciatevi intimidire dallo stato di mezza tacca del tester nelle beta. Abbiamo volutamente lanciato tutte le versioni intermedie in beta per ottenere i risultati più velocemente.
Come stiamo riformando il tester di strategia:
Una casella di ricerca rende facile trovare risultati passati oltre al download diretto da un file.
Per ora, nelle versioni beta abbiamo abilitato la modalità di test in pip che riduce notevolmente la quantità di modellazione e accelera i test.
Il set completo di impostazioni sarà introdotto un po' più tardi.
L'accelerazione sarà particolarmente evidente sugli agenti locali, dove non dovremo pompare grandi quantità di dati e non avremo più copie di dati storici.
L'obiettivo è quello di accelerare i compiti il più possibile, in modo che non ci siano ritardi dovuti ad agenti inadatti o lenti.
Inoltre, il linguaggio MQL5 stesso è in fase di sviluppo attivo, abbiamo incluso scope, supporto esteso di template, lavoro con classi create implicitamente e così via.
Molto probabilmente includerà presto nuove funzionalità:
Più tardi passeremo al compito rivoluzionario di includere moduli nel linguaggio.
Queste sono librerie C++ ricompilate in formato EX5 e disponibili per l'uso diretto dal codice MQL5. Cioè, inizieremo a lavorare sulla ricompilazione delle librerie opsorced, quando le loro chiamate a basso livello/pericolose saranno completamente mappate sul nostro runtime sicuro e i wrapper sicuri saranno fatti per il codice MQL5.
In questo modo abbiamo intenzione di aumentare la funzionalità del linguaggio senza compromettere la sicurezza. Gli assemblaggi dei moduli sono disponibili solo per noi, il che fornisce un certo livello di sicurezza per le soluzioni risultanti.
Questo meccanismo funziona già.
Per esempio, alcune delle funzionalità dell'ambiente MQL5 sono state a lungo costruite nativamente proprio nel codice EX5 durante la compilazione, il che fornisce un'ottima ottimizzazione a livello di compilazione.