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
L'ottimizzatore di codice ha delle limitazioni sulla dimensione dell'albero degli oggetti?
Ottengo un "errore di ottimizzazione dell'albero" in fase di compilazione quando il numero di oggetti è aumentato.
P.S. In modalità debug compila.
Puoi allegare un esempio del codice sorgente nel ticket di servicedesk? Il codice sarà rimosso dopo la verifica.
Molto probabilmente, è a causa delle funzioni lunghe, ma è meglio che ci mandi il codice in modo che possiamo controllare noi stessi e risolvere l'errore. Aiuterà molti commercianti.
In primo luogo, che senso ha scaricare forzatamente la storia nel tester? Il tester stesso scaricherà la storia necessaria e accessibile dal server, se ci sono richieste nel codice o operazioni commerciali per i simboli necessari. Dato che il vostro codice è vuoto, il tester non ha bisogno di simulare tick per altri simboli, tranne che per il simbolo su cui viene eseguito il test. Ed è quello che il tester ha scaricato la sua storia. E poiché non c'è storia (nel tester), ci ritroviamo con 0.
In secondo luogo, anche se si aumenta il codice chiamando l'intera cronologia per tutti i simboli, è improbabile che il download di tutta la cronologia disponibile per tutti i simboli abbia successo, e da qualche parte fallirà. Poiché il tester utilizza la base delle citazioni del terminale, ha bisogno di scaricare la storia necessaria.Potete dirmi cosa significano i valori nella colonna Risultato quando si seleziona la funzione obiettivo Saldo + min Drawdown?
Potete dirmi cosa significano i valori nella colonna Risultato quando è selezionata la funzione obiettivo Saldo + min Drawdown?
Se guardate l'Aiuto nel terminale, molte domande spariranno perché è tutto scritto lì
Criterio di ottimizzazione
Un criterio di ottimizzazione è un certo fattore, il cui valore definisce la qualità dell'insieme di parametri di input testati. Più alto è il valore del criterio di ottimizzazione, migliore è considerato il risultato del test con il dato set di parametri. Questo parametro può essere selezionato nella scheda "Impostazioni" a destra del campo "Ottimizzazione".
Il criterio di ottimizzazione è richiesto solo per l'algoritmo genetico.
Sono disponibili i seguenti criteri di ottimizzazione:
Grazie. )) Per qualche motivo stavo pensando al criterio di Drawdown minimo, non al Saldo + Drawdown minimo. ))
Il fatto è che quando il tester cerca di simulare tick per altri simboli, il log comincia a riempirsi di messaggi come contiene 0 record M1 perché non c'è storia in questa data e il log cresce a quantità inimmaginabili e ho bisogno di sapere la data della storia per evitare questi errori, ma quando si richiede la funzione SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) ritorna 0
Per quanto ho capito, prima del test, il tester crea un ambiente di mercato per il conto collegato (l'ultimo collegato se non c'è connessione al server), controlla la sincronizzazione dei dati con il server (di nuovo, se c'è una connessione), carica le quotazioni mancanti dalla data di inizio del test (se c'è una connessione), crea una sequenza di test delle quotazioni per tutti i simboli necessari, e solo allora inizia il test. Cosa succede se non riesce a scaricare la cronologia necessaria (per esempio, a causa della mancanza di cronologia sul server o a causa dell'assenza di connessione con il server) ? Ti dice onestamente. No, non è necessario.
Poi, si vuole ottenere la data di inizio della storia sul server (nel tester). Sembra che questa proprietà non sia inclusa nell'ambiente di mercato del tester, anche se potrebbe essere stata salvata dal server. È un errore? Non credo. Dopo l'inizio del test, il tester non può accedere al server (attraverso il terminale) per scaricare le citazioni di cui avete bisogno. Tutto ciò che è disponibile, è già caricato dal tester durante la fase di inizializzazione del processo di test e la sequenza di test è già stata formata e non può essere modificata. Invece di SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), nel tuo caso, penso che tu possa usare SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), dovrebbe funzionare nel tester.
Puoi allegare un esempio del codice sorgente nel ticket di servicedesk? Il codice sarà rimosso dopo la verifica.
Molto probabilmente, si tratta di funzioni lunghe, ma è meglio che ci mandi il codice in modo che possiamo esaminarlo e risolvere l'errore. Aiuterà molti commercianti.
Ok, allegato 2 opzioni con "errore di generazione del codice" e "errore di ottimizzazione dell'albero". La funzione onInit è molto lunga (~1000 righe di codice generato).
Biglietto #217917.
Ok, allegato 2 varianti con "errore di generazione del codice" e "errore di ottimizzazione dell'albero". La funzione onInit è molto lunga (~1000 righe di codice generato).
Biglietto #217917
Per quanto ho capito, prima del test, il tester crea un ambiente di mercato per il conto collegato (l'ultimo collegato se non c'è connessione al server), controlla la sincronizzazione dei dati con il server (di nuovo, se c'è una connessione), carica le quotazioni mancanti dalla data di inizio del test (se c'è una connessione), crea una sequenza di test delle quotazioni per tutti i simboli necessari, e solo allora inizia il test. Cosa succede se non riesce a scaricare la cronologia necessaria (per esempio, a causa della mancanza di cronologia sul server o a causa dell'assenza di connessione con il server) ? Ti dice onestamente. No, non è necessario.
Poi, volete ottenere la data di inizio della storia sul server (nel tester). Sembra che questa proprietà non sia inclusa nell'ambiente di mercato del tester, anche se potrebbe essere stata salvata dal server. È un errore? Non credo. Dopo l'inizio del test, il tester non può accedere al server (attraverso il terminale) per scaricare le citazioni di cui avete bisogno. Tutto ciò che è disponibile, è già caricato dal tester durante la fase di inizializzazione del processo di test e la sequenza di test è già stata formata e non può essere modificata. Invece di SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), nel tuo caso, penso che tu possa usare SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), dovrebbe funzionare nel tester.