Errori, bug, domande - pagina 2099
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
Ragazzi, sono stufo di inserire il mio nome utente e password da www.mql5.com in android in mt5.
Perché continuano a perdere il loro nome utente e la loro password?
Anche a me viene chiesto regolarmente, ma non inserisco il mio nome utente/password, mi limito a premere il pulsante Back e risulta essere loggato.
Perché una funzione molto utile come ChartXYToTimePrice() è così costosa in tempo di esecuzione?
Ho scritto una funzione analoga a XYToTimePrice() e funziona molto più velocemente. Fino a diverse centinaia di volte più veloce.
Ma c'è anche ChartID_in con SubWindow_out nella funzione originale. Fare un analogico completo.
Quindi c'è anche ChartID_in con SubWindow_out nell'originale. Fare un analogico completo.
Aggiungere ChartID_in e SubWindow_out non è affatto difficile. Ma non sto puntando a creare un analogo completo, ho solo creato questa funzione per mostrare la lentezza di ChartXYToTimePrice().
Ma è vero, la mia funzione ha bisogno di un ulteriore parametro id evento. Finora, questa funzione funziona più o meno allo stesso modo con lo spessore della candela originale di un pixel, ma è possibile migliorarla, se necessario.
Aggiungere ChartID_in e SubWindow_out non è affatto difficile. Ma non sto puntando a creare un analogo completo, ho solo creato questa funzione per mostrare la lentezza di ChartXYToTimePrice().
Ma è vero, la mia funzione ha bisogno di un ulteriore parametro id evento. E mentre questa funzione funziona più o meno lo stesso con lo spessore della candela originale di un pixel, ma è possibile migliorarla, se necessario.
E ho anche notato una strana caratteristica di ChartXYToTimePrice. Il suo tempo di esecuzione è direttamente proporzionale al numero di barre sul grafico.
Questo indica un algoritmo "strano" per il suo calcolo. Cioè, è una sommatoria ciclica che è piuttosto strana per la soluzione ottimale di un tale problema.
La velocità della funzione XYToTimePrice è la stessa indipendentemente dal numero di barre.
E per essere onesti, la velocità delle funzioni ChartGetInteger e ChartGetDouble è anche chiaramente sopravvalutata e ha caratteristiche molto strane. Per esempio, la funzione
è 20-100 volte più veloce della funzione
se MAX è dopo MIN:
ma se li scambiate, la situazione si inverte.
Cioè sembra logico - la stessa funzione, che viene calcolata ripetutamente, usa dati già calcolati e memorizzati da una chiamata di funzione precedente. Ma mostra solo alcuni calcoli folli e la creazione di un sacco di dati intermedi e forse anche di array per calcolare un semplice valore doppio del prezzo massimo (o minimo) del grafico, che probabilmente si trova già in qualche variabile e deve solo essere preso.
Anche se non escludo che questo effetto si verifichi a causa di alcune peculiarità del profiling e sia di natura fasulla. Ma la lentezza di queste funzioni non è falsa.
può essere raffinato, se necessario.
Probabilmente è ancora valido dire che è corretto confrontare le caratteristiche di velocità delle due funzioni quando i loro risultati coincidono. Per favore, completatelo.
Ragazzi, sono stanco di inserire il mio nome utente e la mia password da www.mql5.com su Android in mt5.
Perché perdono costantemente il loro nome utente e la loro password?
Scrivete a servicedesk. Si prega di allegare i registri. Grazie.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
fxsaber, 2017.10.04 09:13
È stato scritto molte volte su questo. Non corretto per qualche motivo.
Ho anche notato una strana caratteristica di ChartXYToTimePrice. Il suo tempo di esecuzione è direttamente proporzionale al numero di barre sul grafico.
Questo mostra la "stranezza" del suo algoritmo di calcolo. Cioè, è una sommatoria ciclica che è piuttosto strana per la soluzione ottimale di un tale problema.
La velocità della funzione XYToTimePrice è la stessa indipendentemente dal numero di barre.
E per essere onesti, la velocità delle funzioni ChartGetInteger e ChartGetDouble è anche chiaramente sopravvalutata e ha caratteristiche molto strane. Per esempio, la funzione
è 20-100 volte più veloce della funzione
se MAX è dopo MIN:
ma se li scambiate, la situazione si inverte.
Cioè sembra logico - la stessa funzione, che viene calcolata ripetutamente, usa dati già calcolati e memorizzati da una chiamata di funzione precedente. Ma mostra solo alcuni calcoli folli e la creazione di un sacco di dati intermedi e forse anche di array per calcolare un semplice valore doppio del prezzo massimo (o minimo) del grafico, che probabilmente si trova già in qualche variabile e deve solo essere preso.
Anche se non escludo che questo effetto si verifichi a causa di alcune peculiarità del profiling e sia di natura fasulla. Ma la lentezza di queste funzioni non è falsa.
La lentezza delle funzioni di richiesta di dati grafici risiede nel modo in cui l'informazione viene inviata e ricevuta, non nell'implementazione stessa. L'implementazione di queste funzioni è primitiva e non dipende dal numero di barre sul grafico.
Ma poiché il grafico è un oggetto le cui informazioni sono distribuite tra molte fonti, l'intero controllo è basato su code di messaggi. Finché la richiesta precedente non viene elaborata, la successiva attende.
Ma se avete diverse richieste per lo stesso grafico in una riga, allora queste richieste successive vengono eseguite molto rapidamente. Questo perché nessuno ha avuto il tempo di tagliare tra loro e la prima richiesta.
Il collo di bottiglia delle funzioni di richiesta di dati grafici sta nel modo in cui l'informazione viene inviata e ricevuta, non nell'implementazione stessa. L'implementazione di queste funzioni è primitiva e non dipende dal numero di barre sul grafico.
Ma poiché il grafico è un oggetto le cui informazioni sono distribuite tra molte fonti, l'intero controllo è basato su code di messaggi. Finché la richiesta precedente non viene elaborata, la successiva è in attesa.
Ma se avete diverse richieste per lo stesso grafico in una riga, allora queste richieste successive vengono eseguite molto rapidamente. Questo perché nessuno ha avuto il tempo di tagliare tra loro e la prima domanda.
Così sia. Ma la realizzazione di questo non rende le cose più facili. Slava, non fraintendere un semplice programmatore. Il mio esempio di un indicatore di prova dei messaggi precedenti mostra chiaramente che il tempo medio di esecuzione di una richiestaChartXYToTimePrice() è di 5000 - 10000 microsecondi (allo spessore di una candela di 1 pixel e la finestra MT standard sullo schermo FullHD). Cosa si può fare in questo tempo?
Bene, per esempio, durante questo tempo si può formare un'immagine nello stesso schermo di 500 cerchi ombreggiati e visualizzarli sullo schermo:
Anche se c'è una coda, ma perché c'è una coda così lunga?
Da un lato della scala c'è una generazione pixel per pixel di 500 cerchi con la loro uscita sullo schermo, e dall'altro lato c'è una semplice interrogazione per due cifre. E pesa lo stesso.
Un semplice programmatore si siede lì, si gratta la testa e non riesce a mettere insieme i puzzle.
Così sia. Ma rendersene conto non rende le cose più facili. Slava, non fraintendere un semplice programmatore. Il mio esempio di un indicatore di prova dai messaggi precedenti mostra chiaramente che il tempo medio di esecuzione della richiestaChartXYToTimePrice() è di 5000 - 10000 microsecondi (con una larghezza di candela di 1 pixel e finestra standard MT su schermo FullHD). Cosa si può fare in questo tempo?
Bene, per esempio, durante questo tempo è possibile formare un'immagine nello stesso schermo di 500 cerchi ombreggiati e visualizzarli sullo schermo:
Anche se c'è una coda, ma perché c'è una coda così lunga?
Da un lato della scala è una formazione pixel per pixel di 500 cerchi e la loro visualizzazione sullo schermo, e dall'altro lato una semplice interrogazione a due cifre. E pesa lo stesso.
Un semplice programmatore si siede e si gratta la testa e non riesce a mettere insieme i puzzle.
Avete percepito la differenza tra comando sincrono e comando asincrono.