Un po' sorpreso :) Ho pensato di condividere e fare una domanda NON retorica. - pagina 16

 
Te l'ho detto - i principianti... La comprensione arriverà con l'esperienza.
 
Renat:
Ve lo dico io: i principianti... La comprensione arriverà con l'esperienza.

Buon punto. E' una buona. :)

Stai esagerando con il novizio. Di cosa stiamo discutendo ora? :)

Scoprire la matematica. :)

==

Aggiungo... forse qualcuno lo farà... potete iniziare a guardare questo.


http://en.wikipedia.org/wiki/%E2%84%9A

e qui http://demonstrations.wolfram.com/RationalNumberExplorer/

e qui http://www.solarix.ru/for_developers/cpp/boost/rational/ru/rational.shtml

 
Academic:



Le faccine nei tuoi prossimi post saranno tagliate. Tenete a mente questo.
 
DDFedor:
Le faccine nei tuoi prossimi post saranno tagliate. Tenetelo a mente.
Chi c'è? :)
 
Renat:
La conversione dei prezzi in valori interi non ha vantaggi significativi. Sì, riduce efficacemente i volumi, ma ha molte volte meno velocità a causa dell'inevitabile conversione in doppio. Precisamente inevitabile, perché non si può rendere l'intero sistema intero, la matematica calcolabile deve ancora essere fatta in doppio (che non ha nemmeno abbastanza precisione).

Sono d'accordo. Ecco perché ho scritto prima:

hrenfx:

P.S. I tuoi numeri sono chiaramente imprecisi: la storia INT non può occupare 2,1 Gb e la storia DOUBLE non può occupare 7 Gb. La differenza dovrebbe essere sempre esattamente 2(USHORT non è sufficiente) volte. Passare all'aritmetica intera con i prezzi dà un vantaggio significativo quando tutta la logica in un EA può essere sostituita con la logica intera. Questo non succede molto spesso.

Ho la calcolatrice più stupida ma più veloce, tutto è intero, perché ha solo operazioni di addizione, sottrazione e confronto. Di conseguenza, il passaggio da INT a DOUBLE non è necessario.

In generale, l'ottimizzazione algoritmica in casi particolari dà sempre un vantaggio in velocità di esecuzione (non di scrittura) rispetto all'approccio generale. Così, per esempio, se il tuo Expert Advisor utilizza l'auto-ottimizzazione dei suoi parametri, la questione della velocità di auto-ottimizzazione è molto importante. Ed è ragionevole creare in DLL o direttamente in MQL5 un Expert Advisor massimamente ottimizzato algoritmicamente. E non usate MT5-optimizer per l'autoottimizzazione. Purtroppo, MT5-optimizer per Expert Advisors auto-ottimizzati è adatto a casi molto limitati.

 
hrenfx:

Sono d'accordo. Ecco perché ho scritto prima:

Nella mia calcolatrice più stupida ma più veloce tutto è sui numeri interi, perché ci sono solo operazioni di addizione, sottrazione e confronto. Cambiare da INT a DOUBLE, rispettivamente, non è necessario.

In generale, l'ottimizzazione algoritmica in casi particolari dà sempre un vantaggio in velocità di esecuzione (non di scrittura) rispetto all'approccio generale. Così, per esempio, se il tuo Expert Advisor utilizza l'auto-ottimizzazione dei suoi parametri, la questione della velocità di auto-ottimizzazione è molto importante. Pertanto, è ragionevole creare in DLL o direttamente in MQL5 il proprio Expert Advisor ottimizzato algoritmicamente al massimo. E non usare l'ottimizzatore MT5 per i casi di auto-ottimizzazione. Sfortunatamente, l'ottimizzatore integrato per gli Expert Advisors auto-ottimizzati è buono per casi limitati.

Può fare un esempio in cui la traduzione in doppio non può essere evitata?


Un altro esempio è quando dobbiamo calcolare il valore percentuale di qualcosa o la sua probabilità.

Nel primo caso, prendiamo un pip come 0,0001 di percentuale e 1,2345% sarà 12345 punti.

È lo stesso con la probabilità.

Bisogna sempre capire che anche la profondità di bit del doppio è limitata e c'è sempre una cosa come i punti nascosti.

 
Academic:

Mi faccia un esempio quando ha bisogno di convertire in doppio?


Un contro esempio potrebbe essere quello di calcolare la percentuale di qualcosa o la probabilità.

Nel primo caso, prendiamo un pip come 0,0001 di percentuale, nel qual caso 1,2345% è 12345 punti.

È lo stesso con la probabilità.

Bisogna sempre capire che anche la profondità di bit del doppio è limitata e c'è sempre una cosa come i punti nascosti.

Beh, che imboscata! L'umanità sta sviluppando la scienza dei numeri in una direzione sbagliata. I numeri reali, e ancor più i numeri complessi, sono stati inventati invano. - Molto semplicemente, alcune persone riescono a cavarsela con un numero di interi!
 
joo:
Beh, che imboscata! L'umanità sta sviluppando la scienza dei numeri nella direzione sbagliata. I numeri reali, tanto meno i numeri complessi, sono stati inventati invano. - Molto semplicemente alcune persone risultano essere in grado di fare con un numero di interi!
Non vedi un esempio?
 
Academic:
Non vedi un esempio?
Come faccio a sapere se lo vedo o no?
 
Un esempio della necessità di andare al doppio: un banale calcolo della MA o di qualsiasi altro indicatore. Basta dividere i numeri interi (virtualizzati dai numeri reali) per ottenere una perdita selvaggia di precisione. Anche il profitto in denaro non può essere calcolato. Di questo ho detto chiaramente e distintamente prima. Non si può capire senza passare alla pratica.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5