Un po' sorpreso :) Ho pensato di condividere e fare una domanda NON retorica. - pagina 10

 
Renat:

Quando si fanno dichiarazioni forti in pubblico, bisogna essere preparati per le prove pubbliche.

Oh, posso citarla?
 
Renat:

Sfortunatamente, questo non è un test, ma un'altra affermazione non dimostrata.

Non ho scritto per niente:

I confronti "ho fatto i conti qui ed ecco i totali" non possono in alcun modo servire da prova senza riprodurre pubblicamente l'intero test.

Quando si fanno dichiarazioni forti pubblicamente, bisogna prepararsi per le prove pubbliche. Cioè, mettere il tester sul tavolo in modo che possa essere testato e assicurarsi che sia i calcoli che i risultati siano corretti.

Non ho ancora scritto nulla sotto forma di rapporto. Ho scritto quello che vedo con tutti i miei parametri di sinistra? Dove hai visto che stavo testando qualcosa? Non so per quanto tempo funzionerà in MT5 - non lo proverò nemmeno, ci vorrà almeno un anno. Ho già detto che scriverò un test quando avrò abbastanza tempo. Se qualcuno ha tempo, che lo scriva secondo il "ToR" approssimativo che ho scritto. Ho tempo per le sciocchezze mentre no. Sarà - per divertimento scriverò. Non pensate davvero che si possa eseguire un compilatore C++ nudo? Ha-ha. L'unica domanda è quante centinaia di volte più veloce sarà.

Quindi non c'è niente di cui parlare, ancora.

 

E non c'era dubbio che tutto si sarebbe ridotto alla mancanza di prove.

È facile superare il compilatore C++, perché il terminale e il tester sono scritti in esso. Il kernel dei calcoli dell'infrastruttura è tutto ottimizzato in C++. Il codice MQL5 è completamente convertito in nativo x86/x64 prima di essere eseguito, ed eseguito alla massima velocità.

Non ci sarà una differenza centuplicata non appena mostrerete la vostra creazione alla gente. Non ci saranno altro che risate.

 
Renat:

E non c'era dubbio che tutto si sarebbe ridotto alla mancanza di prove.

È facile superare il compilatore C++, perché il terminale e il tester sono scritti in esso. Il kernel dei calcoli dell'infrastruttura è tutto ottimizzato in C++. Il codice MQL5 è completamente convertito in nativo x86/x64 prima di essere eseguito, ed eseguito alla massima velocità.

Non ci sarà una differenza centuplicata non appena mostrerete la vostra creazione alla gente. Non ci saranno altro che risate.

Quale la tua creazione? :)) Quello che funziona come voglio e più veloce di MT5? Chi vuole vederlo?

Ma ho già scritto un test. Aspettate. :)

 
Academic:

Qual è la tua creazione? :)) Quello che funziona come ho bisogno e più veloce di MT5 SUPRE? Chi deve mostrarlo?

Ma ho già scritto un test. Aspettate. :)

Sì, è proprio la creazione di cui continuate a parlare, ma il codice è un mistero.

Senza il codice non c'è niente di cui parlare, solo la pubblicazione del codice vi darà la possibilità di puntare il dito su una linea e dire qui c'è un errore che dà un tale aumento.

Oppure ho preparato un'altra frase "in modo da utilizzare solo i prezzi di apertura del giorno, mettere tester da prezzi di apertura su D1 e confrontare" :o)

ZZZY Come diceva l'ippopotamo gatto "signora, per il tempo che servo il sire, ho visto non solo donne nude, ma anche donne con la pelle completamente spogliata", quindi sentitevi liberi, il codice nello studio, qualcosa di super nuovo c'è improbabile, ma l'errore aiuterà a trovare.

 
Academic:


Bene. Se ho tempo, farò dei test speciali. Ma se qualcuno ce l'ha (il tempo) ora e potrebbe farlo, sarebbe interessante da vedere.

Fondamentalmente abbiamo bisogno di fare un EA che calcola i tick e poi dovrebbe essere eseguito (meglio farlo così) da marzo 2007 ad oggi. Con due parametri interi nell'intervallo da 0 a 100 - un totale di 10000 corse. Usate una marca temporale per documentare i tempi di inizio e fine dell'ottimizzazione. Poi dividete questo tempo per il numero di tick moltiplicato per il numero di corse. Otterremo un overhead minimo per un tick - chiamiamolo NM.

Allora l'Expert Advisor dovrebbe essere più complesso - per esempio impostato per fare N trade per barra. Per esempio, per 300 barre un trade. Con il numero medio di tick per barra diciamo L - possiamo ottenere il numero di tick per il quale un trade dovrebbe essere condotto. La compravendita è casuale. Questo è tutto. Un tale EA può essere implementato sia su МТ4 che su МТ5.


Poi complichiamo ulteriormente le cose - prendiamo gli indicatori, per esempio, una delle maschere.


Come risultato, dovremmo sempre ottenere il tempo di un tick - dividerlo per il numero di tick. E possiamo per esempio correlare questo numero con NM (overheads minimi) e questo è tutto.

Come risultato otterremo un INDEX di performance indipendente dal numero di tick. Sia assoluto (come tempo di un tick) che relativo a NM.

Un modo ben specificato di analisi delle prestazioni.

Prima di tutto confronta gli ottimizzatori almeno su semplici Expert Advisors in MT4 e MT5.

Poi su input casuali (per ogni ottimizzatore tracciare il grafico delle prestazioni in funzione della frequenza degli input casuali).

E poi l'Expert Advisor sugli indicatori più semplici e il suo analogo all-in-one.

Preparare una tale analisi non è davvero difficile. Hai solo bisogno di un forte desiderio e di tempo libero.

E non so perché dovrei mostrare la mia calcolatrice, non è universale e quindi è ottimizzata al massimo. Per definizione, è più veloce di QUALSIASI ottimizzatore universale (non solo MetaQuotes).

Solo i tester-ottimizzatori universali devono essere confrontati tra loro. Prendete solo MT4 e MT5 per il momento. Lasciatemi dire in anticipo che il tester universale per JForex API è notevolmente più lento (questo può essere visto ad occhio) rispetto al tester di MetaQuotes. Tuttavia, ovviamente, la qualità dei test (specialmente di quelli multivaluta) è molto migliore lì.

Poi, puoi usare NinjaTrader, AmiBroker e altri. La cosa principale è determinare il metodo di confronto.

 
Urain:

Sì, è proprio la creazione di cui continuate a parlare, ma il codice è un mistero.

Senza il codice non c'è niente di cui parlare, solo la pubblicazione del codice vi darà la possibilità di puntare il dito su una linea e dire qui c'è un errore che dà un tale aumento.

Oppure ho preparato un'altra frase "quindi stai usando solo i prezzi di apertura del giorno, metti il tester con i prezzi di apertura su D1 e confronta" :o)

Quindi, non siate timidi, dateci il codice, non è probabile che ci sia qualcosa di super nuovo, ma vi aiuteremo a trovare l'errore.


Signore :) Perché dovrei mostrarvi il codice che deve essere .... 10.000 linee? :) O forse dovrei mostrarvi come sono fatti tre loop annidati :)) Beh, tu pensi davvero quello che dici. :) È divertente.

 
Renat:

E non c'era dubbio che tutto si sarebbe ridotto alla mancanza di prove.

È facile superare il compilatore C++, perché il terminale e il tester sono scritti in esso. Il kernel dei calcoli dell'infrastruttura è tutto ottimizzato in C++. Il codice MQL5 è completamente convertito in nativo x86/x64 prima di essere eseguito, ed eseguito alla massima velocità.

Non ci sarà una differenza centuplicata non appena mostrerete la vostra creazione alla gente. Non ci saranno altro che risate.

Beh, prendiamo in giro MT5 - ecco il codice C++ e il risultato :)

#include <Windows.h>
#include <stdio.h>

int main ( void )
{

        double s = 123456789.;
        double r = 0.;

        DWORD t0 = GetTickCount();
        
        int e=10000;

        for ( int i=0; i<e; i++){
                for( int j=0; j<e; j++){
                        double d = i+j;
                        r *=d;
                }
        }

        DWORD t1 = GetTickCount();

        double dt = t1-t0;
        
        double it = ( dt / (e*e) ) / 1000. ;

        printf ( "0 = %f, it = %g (sec), %f mio per sec", r, it, ( 1./it )/1000000. );
}


===============

0 = 0.000000, it = 7.8 e-010 (sec), 1282.051282 mio per sec

Aspettiamo almeno 400 milioni di cicli al secondo. :) Ma qui avete 1282 milioni di cicli al secondo. :))

 
Academic:
Beh, prendiamo in giro MT5 - ecco il codice C++ e il risultato :)

Aspetta almeno 400 milioni di cicli al secondo. :) Ma qui avete 1282 milioni di cicli al secondo. :))

Perché diavolo l'hai fatto?! Paragonare un tester-ottimizzatore universale con il proprio calcolatore è intrinsecamente scorretto. La vostra calcolatrice sarà, per definizione, più veloce della variante universale.

Non riduciamo il dialogo più o meno costruttivo a un paragone del genere.

Hai suggerito un metodo di confronto, scrivilo già. Propongo di non sporcare il thread, come hanno fatto sopra, e lasciare un livello di conversazione più o meno normale. Altrimenti, inizierà un tale casino che il thread diventerà solo merda.

 
hrenfx:

Perché diavolo l'hai fatto?! Paragonare un tester-ottimizzatore universale con il proprio calcolatore è intrinsecamente scorretto. La vostra calcolatrice sarà, per definizione, più veloce della variante universale.

Non riduciamo il dialogo più o meno costruttivo a un paragone del genere.

Hai suggerito un metodo di confronto, scrivilo già. Propongo di non sporcare il thread, come hanno fatto sopra, e lasciare un livello di conversazione più o meno normale. Altrimenti, sarà un tale disastro che il thread diventerà solo merda.

Beh, mi è stato detto che è facile superare un compilatore C - beh, se è impossibile superarlo qui, allora l'ottimizzatore specializzato certamente non ce la farà. :)