Errori, bug, domande - pagina 2458
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
Quando sono passato da MQL4 a MQL5 ho incontrato un problema:
Codice:
ResetLastError();
int ObjTotal = ObjectsTotal(0);
int Error = GetLastError();
restituisce:
ObjTotal = 0.
Errore = 4022
Cos'è questo errore e perché non è menzionato nella documentazione?
Ho provato diverse varianti: ObjectsTotal(0, -1, -1), ObjectsTotal(ChartID(), 0, OBJ_TREND), ecc.
Il risultato è lo stesso.
Come farlo funzionare?
Consiglio: se volete chiedere qualcosa, inserite il codice COMPLETO, non un pezzo di esso.
Qual è il punto: chiunque prende il tuo codice e lo esegue per conto suo. E quasi nessuno guarda il codice chunky - il codice chunky è irrispettoso.
Esempio del tuo codice:
Eseguilo su un grafico che non ha alcun oggetto grafico. Risultato:
Cioè, non c'è nessun errore.
Usando il terminale:
Un consiglio: se volete chiedere qualcosa, inserite il codice COMPLETO, non un pezzo.
Grazie per il consiglio, è quello che farò.
Tuttavia, la questione rimane aperta.
Chiarimento: se il pezzo di codice del post precedente è nella funzione OnDeinit() dell'indicatore, il risultato è questo:
2019.05.10 14:08:20.105 PtS (EURUSD,H1) ObjectsTotal: 0, GetLastError: 4022
Se si esegue lo stesso codice dopo aver rimosso l'indicatore dal grafico, come lo script (1.mq5 del post precedente), si ottiene
2019.05.10 14:08:33.609 1 (EURUSD,H1) ObjectsTotal: 8575, GetLastError: 0
Per favore, aiutatemi a capire il motivo.
errore nel tester di strategia durante l'ottimizzazione.
"compito rifiutato dall' agente tester "
Per esempio, se la valuta del suo conto è EUR,
Se la valuta del suo conto è USD
appare quando si usano altre coppie di valute nel codice.
Nel mio esempio sta usando il calcolo del lotto dinamico
cioè quando l'EA richiede il prezzo di un'altra valuta.
@Vladislav Andruschenko
Ciao, hai avuto qualche risposta o soluzione a questo problema?
Quando il programma/periodo viene cambiato, PBB riceve un valore di 10, indipendentemente dal valore che hai specificato nel campo di input.
Al momento della reinizializzazione, è come se fosse la prima esecuzione.
Ci sono due modi per risolvere il tuo problema
1 - Memorizzare il valore PBB nelle variabili globali e ottenere il periodo da lì.
2 - Quando OnChartEvent si innesca, reinizializzare l'indicatore MA e ottenere un nuovo handle...
Controllato tutte le opzioni. Non funziona.
Errore in MQL5.
Non inizializza nuovi valori. Solo con ingresso parametro int PBB_=. Non ci sono altre opzioni. Questo non è affatto buono.
Ho controllato tutte le opzioni. Non funziona.
Falla nel programma MQL5.
I nuovi valori non vengono inizializzati. Solo con ingresso int PBB_= parametro. Non ci sono altre opzioni. Questo non è affatto buono.
Tutto va bene in MQL, è solo che non capisci cosa stai facendo nel tuo codice e come tutto funziona...
Ancora una volta, quando chiamateChartSetSymbolPeriod(0,_Symbol,_Period);
Stai resettando tutto a default...
In alternativa, provate l'inite per richiedere un valore dal vostro campo di testo.
Quando avviate l'indicatore per la prima volta, tutto è creato e quando cambiate i dati nel campo, chiamerà la nuova unità e imposterà il valore dal vostro campo di testo...
Tutto va bene in MQL, è solo che non capisci cosa stai facendo nel codice e come tutto funziona...
Ancora una volta, quando chiamateChartSetSymbolPeriod(0,_Symbol,_Period);
Stai resettando tutto a default...
In alternativa, provate a interrogare il valore del vostro campo di testo nell'init.
Dopo la logica, il primo avvio dell'indicatore, tutto è creato, ma quando si cambiano i dati nel campo, ci sarà una nuova chiamata nell'unità e l'impostazione del valore dal vostro campo di testo...
Ho provato con il campo di testo e attraverso GlobalVariable, ma non ho mai provato nulla. È silenzioso come in un carro armato.
In un'altra varianteOnCalculate funziona senza problemi.
Ho provato sia da un campo di testo che tramite GlobalVariable e qualsiasi altra cosa abbia provato. È silenzioso come un carro armato.
L'altra versione di OnCalculate funziona senza problemi.
Questo significa che stai facendo qualcosa di sbagliato
Allora stai facendo qualcosa di sbagliato.
Hai già pubblicato il codice.
Se io sono inetto, qualcuno deve essere un professionista. Non lo vedo ancora.
Accetto il suo sforzo per trovare una risposta. C'è molto più di questo. Cioè a livello degli sviluppatori.