![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Questa è una soluzione parziale.
Quello completo è senza "ordinamento" in OnInit(), ma basato sulla "notifica" automatica dei thread che hanno generato il download/costruzione della storia
Non è chiaro neanche a me... cos'è la notifica automatica dei thread?
E se è un giorno di riposo, non ci saranno ticchettii, e noi vogliamo che l'indicatore sia costruito in qualsiasi momento. Possiamo pompare la storia in un giorno di riposo, giusto? Cioè dobbiamo pompare la storia, e poi in un approccio della funzione calcola tutto... non importa cosa fare - inits o calcola prima di copiare...basta fare una specie di indicatore dello stato di caricamento e limitare le iterazioni in ciclo e se dopo 100 iterazioni la storia non è stata caricata - segnalare un errore e fermare tutto (quando non c'è connessione internet e nemmeno la storia)... penso sia meglio metterlo in loop... mi sbaglio? Spiegami allora qual è il problema...e come farlo bene :-)
Per favore, spiegatemi, mi sembra che mi manchi qualcosa. Chi è questo "notificatore" automatico? E chi spawnerà il download/story building se nessuno sa di quale storia ho bisogno se non io?
Diciamo che ho una classe che fa calcoli. E diciamo che ho il metodo Calc(numero/data del giorno). Questo metodo restituisce true, se è stato possibile calcolare tutto e in questo caso è possibile chiamare altri metodi per estrarre i dati per i buffer/oggetti grafici dell'indicatore.
Ora abbiamo un indicatore - non sa affatto come vengono calcolati i dati e quali periodi vengono utilizzati (che senso ha l'OOP?) - il suo compito è quello di produrre i dati se sono disponibili, ma quali periodi vengono utilizzati - nessuno lo sa (o forse ci sono altri strumenti, non si sa mai, che tipo di indicatori esistono). Naturalmente, la classe può essere estesa con un metodo che restituirà i periodi utilizzati, ma non è garantito che quando si crea la classe, i periodi utilizzati siano noti. Naturalmente, nel caso estremo, possiamo "ordinare" in OnInit() tutti i periodi, ma probabilmente non è razionale.
Ogni indicatore viene avviato in un thread separato. Il terminale può ricordare i thread che hanno creato la storia e questi thread informeranno sulla fine del processo, usando lo stesso OnCalculate() negli indicatori o OnTick() negli Expert Advisors (anche se non ne ho bisogno finora :))
Un piccolo problema con l'orario.
Mentre sono uscito per un caffè Kaspersky Internet Security ha rilevato il file mql5.dll come un virus e lo ha eliminato....
1. Controlla la firma digitale del file. Tutti i nostri file eseguibili sono firmati con i nostri certificati digitali.
2. Prova ad aggiornare le definizioni dei virus in Kaspersky.
1. Una firma digitale è d'obbligo.
2. Solo un'ora fa questo è successo dopo un aggiornamento del database dell'antivirus, prima che tutto funzionasse con successo e stabilmente
1. Una firma digitale è d'obbligo.
2. Solo un'ora fa questo è successo dopo un aggiornamento del database dell'antivirus, prima che tutto funzionasse con successo e stabilmente
Ho controllato su un altro computer con terminale x64 - nessun problema. Ma ho Internet Security 2012 sul mio computer. Con il terminale x32 e Internet Security 2013 è irreale. Subito dopo l'installazione cancella mql5.dll
Sto aspettando l'hotfix, ma sono stufo di vedere il blocco con i riavvii ogni volta che lancio mt5 qui.
PS: non cancella la libreria, ma la taglia parzialmente.
Si prega di consigliare perché questo è il caso, la linea di loop
for(k2 = 0,01; k2 < 0,1; k2 += 0,01)
Stampo il coefficiente k2
Stampa(k2);
prima della stampa
k2 = NormalizeDouble(k2, 2);
si presenta così nel diario
0.07000000000000001
e solo quando il coefficiente è 0,07
tipo k2 doppio k2;
cosa può essere?