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
Errore nel caricamento del file in Expert Advisor. Trova 10 differenze. Il primo codice si riferisce allo script, il secondo all'Expert Advisor, sono identici Ctrl-C Ctrl-V. Il codice funziona nello script, non funziona nell'Expert Advisor.
Per trovare 10 differenze, è necessario guardare il codice di apertura dei file. (e aggiungere a questo codice aperto l'uscita del codice di errore in caso di fallimento)
In secondo luogo, se volete testare l'EA con questo file aggiungete la linea #property tester_file "KitMaRsi.csv" al codice EA
Salve. In MQL4, quando si esegue un programma, può verificarsi l'errore ERR_HISTORY_WILL_UPDATED(4066), il cui codice è restituito dalla funzione GetLastError(). Avete un errore simile in MQL5? Ho cercato quihttps://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes ma non ho trovato nulla di simile.
Non dirò nulla sull'errore. Il terminale stesso si assicura che i dati siano sincronizzati, è possibile sincronizzare (caricare) i dati e controllare se la storia è sincronizzata o meno.
L'organizzazione dell'accesso ai dati è descritta qui (c'è un esempio di script di caricamento della storia).
Funzioni che possono essere necessarie: SeriesInfoInteger e SymbolIsSynchronized
L'interruttore con le variabili di carattere non sembra funzionare...
Invece di:
'Tipo' - tipo di espressione switch illegale
'Buy' - l'espressione costante non è integrale
Usare identificatori piuttosto che testo. Che sarebbe più semplice e più logico...
L'interruttore con le variabili di carattere non sembra funzionare...
Invece:
'type' - tipo di espressione switch illegale
'Buy' - l'espressione costante non è integrale
Devo disegnarlo così:
Non è così chiaro ed è storto.
Funziona bene in altre lingue.
Devo scriverlo in un altro modo?
Ho fatto questo.
Non dirò nulla sull'errore. Il terminale stesso si assicura che i dati siano sincronizzati, è possibile sincronizzare (caricare) i dati e controllare se la storia è sincronizzata o meno.
L'organizzazione dell'accesso ai dati è descritta qui (c'è un esempio di script di caricamento della storia).
Funzioni che potrebbero essere necessarie: SeriesInfoInteger e SymbolIsSynchronized
Ci sono analoghi di tali librerie come stdlib.mqh, WinUser32.mqh, stderror.mqh in MQL5, in particolare, sono interessato alla funzione PostMessageA?
Quando si ottimizza con più agenti, i risultati vengono visualizzati sul grafico nell'ordine in cui vengono elaborati, cioè alternati. È possibile fare l'ordine di visualizzazione dei risultati in base alla selezione dei parametri, come in MT4? Cioè, il risultato che veniva dopo sarebbe stato inserito nel giusto ordine. Sto solo dicendo che non è conveniente seguire le tendenze e le regolarità durante l'ottimizzazione e i risultati possono essere analizzati solo dopo aver fatto i calcoli.
++: Si tratta di ottimizzazione con piena forza bruta - naturalmente non ha senso sulla genetica.
Descrizione nel manuale
Infatti
bool ObjectCreate(
long chart_id, // identificatore del grafico
stringa name, // nome dell'oggetto
ENUM_OBJECT type, // tipo di oggetto
intn win, // indice della finestra);
Eseguiamo il codice di esempio di iFractals dall'aiuto su M1, che usa la seconda forma - completa - della chiamata alla funzione OnCalculate(). Ma prima, all'interno di questa funzione, correggiamo
a
per non perdere di vista una sola linea con l'output (se la lasciamo così com'è, visivamente 1 sarà sempre visibile, perché gli altri valori sono rari e immediatamente sostituiti da 1, quindi sembra che 1 sia sempre visualizzato) Dopo il runtime vediamo che i valori non unitari si verificano ogni minuto, cioè su ogni nuova barra, il che indica inequivocabilmente che l'indicatore viene ridisegnato ogni minutocompletamente nonostante il fatto che il codice usialgoritmo economico. I dubbiosi possono aggiungere diverse linee di codice, disegnando, diciamo, linee verticali su ogni frattale e poi rimuoverle dopo il primo disegno e aspettare che l'insieme completo delle stesse linee appaia dopo un minuto con una nuova barra. Tutto ciò che riguarda il finire solo l'ultimo frattale o linea è fuori questione per qualche motivo.
Sì, infatti, l'indicatore dell'esempio alla funzione iFractals() aggiorna i suoi buffer di indicatori con i valori dell'indicatore incorporato. La seconda condizione nella linea (evidenziata in giallo) è "da biasimare" per questo:
Spiegazione: ad ogni tick questi due valori sono confrontati e c'è un'assegnazione alla fine della funzione
//--- запомним количество значений в индикаторе Fractals bars_calculated=calculated;
E la differenza tra loro può nascere nello spirito:
In questo caso la separazione dei due eventi non è fatta, lo avete scoperto. Non posso ancora dire se sistemeremo questo esempio in modo da non avere queste domande.