Errori, bug, domande - pagina 939

 
notused:

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 :-)

 
Lizar:
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 :))

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 

Un piccolo problema con l'orario.

 
Mentre ero fuori per un caffè Kaspersky Internet Security ha rilevato il file mql5.dll come un virus e lo ha eliminato....
 
Bene_Nota:
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

 
Bene_Nota:

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

Non so cosa stia succedendo, sto lavorando con mtb24 e alpha dal 9 marzo, nessun virus. Il problema è dalla loro parte.
 
Su un altro computer ho controllato con il terminale x64 - nessun problema. Tuttavia, Internet Security 2012 è installato lì. Il terminale x32 e Internet Security 2013 non sono realistici. Subito dopo l'installazione cancella mql5.dll
 
Bene_Nota:
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?