Senza la doppia matematica non c'è niente da fare nel nostro campo. Tanto più nel 2020.
Mentre nei primi giorni di OpenCL si poteva ancora cercare dei compromessi ed essere ingannati dalla nozione "beh, si può calcolare qualcosa in float", oggi non è così.
Qualsiasi tentativo di convertire doppio -> int -> doppio uccide completamente le prestazioni e il profitto, specialmente su grandi dimensioni.
L'opzione corretta è usare formati nativi e schede più moderne con nuovi driver.
Non voglio discutere del moderno modello di monetizzazione nell'IT. L'acquisto di un nuovo hardware che lavora al 25% dell'efficienza possibile rispetto all'utilizzo di algoritmi ottimizzati non causerà ovviamente il riscaldamento globale :)
Rimanderemo l'argomento OpenCL e MT5 per una data successiva, quando ci sarà qualche soldo in più per un computer desktop nel budget familiare.
Ho un favore da chiederti, Renat. Nel manuale di MQL5 (sezione OpenCL) aggiungere un disclaimer che dica che prima di usare dati e calcoli doppi nelle schede grafiche/coprocessori grafici, bisogna essere sicuri che siano supportati da questi dispositivi. In modo che i neofiti di MQL5 non si facciano illusioni sul vecchio hardware.
Una richiesta a te Renat. Si prega di aggiungere nel manuale MQL5 (sezione OpenCL) un disclaimer che affermi che prima di usare dati e calcoli doppi nelle schede grafiche/coprocessori grafici, si dovrebbe verificare che siano supportati da questi dispositivi. In modo che i neofiti di MQL5 non si facciano illusioni sul vecchio hardware.
Questo è già scritto nel test automatico della mappa e non è selezionabile: fatto nell'ultima release
OpenCL test compilation failed with error: use of type 'double' requires cl_khr_fp64 extension to be enabled
Si può dire delle vecchie mappe senza doppio supporto che sono assolutamente inutili per i calcoli matematici.
Questo è già scritto nel test automatico della mappa e non è selezionabile: fatto nell'ultima release
Ho molto rispetto per MetaQuotes. Le piattaforme molto buone sono sviluppate e mantenute da voi.
Disclamer (requisiti di sistema) è logico se si vuole tenere traccia della reputazione. Perché i principianti ingenui (come me:) si entusiasmano per una caratteristica interessante, raccolta in rete, e avendo fallito nel lancio di MT5, possono raffreddarsi verso una nuova piattaforma, perché hanno l'impressione che ci siano potenzialmente altri fallimenti mentre la usano. Per esempio, la necessità di capire l'OOP nelle librerie standard, ecc.
A proposito, sarebbe utile avere un modello di un semplice Expert Advisor di trading senza OOP (preferibilmente direttamente sul sito MT5), in modo che anche gli infanti di MQL4 possano abituarsi rapidamente a MQL5, pur avendo il pieno controllo sul codice. In questo senso, un nuovo tutorial MQL5 (preferibilmente più breve - senza rimaneggiare quelli vecchi) sarebbe una buona idea. Allora la comunità di trading (il principale motore/arresto del progresso) striscerebbe più velocemente verso una nuova piattaforma.
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
aim-1 : Rispetto MetaQuotes. Ottime piattaforme sono sviluppate e supportate da voi.
Disclaimer (requisiti di sistema) è logico se vuoi monitorare la tua reputazione. Perché i neofiti ingenui (come me :) preso fuoco di caratteristiche interessanti raccolte in rete e interrotto quando MT5 è lanciato può raffreddare per un lungo periodo alla nuova piattaforma, come sembra che altri guasti sono potenzialmente possibili quando si utilizza. Per esempio, la necessità di capire OOP nelle librerie standard, ecc.
Con l'OOP, tra l'altro, sarebbe bello esporre ufficialmente (meglio, proprio sulle pagine del sito MT5) un template di un semplice Expert Advisor di trading senza OOP, in modo che anche i neonati di MQL4 possano essere rapidamente coinvolti in MQL5, pur controllando completamente il lavoro del codice. In questo senso, un nuovo libro di testo su MQL5 (preferibilmente più breve - senza ripetere la vecchia acqua) non sarebbe male. Allora la comunità di trading (il principale motore/arresto del progresso) striscerà verso la nuova piattaforma più velocemente.
Grazie ancora per il vostro duro lavoro.
Alcuni esempi vengono forniti con il pacchetto MQL5. Programmazione totalmente orientata alle procedure. Non sono sicuro di MQL4
//test.mqhvoid f( int ii )
{
for ( int i = -ii; i <= ii; i++ )
{
int j = CLContextCreate( i );
if ( j != -1 )
{
CLContextFree( j );
Print( ii, ":", i, ":", j );
}
}
}
#include "test.mqh"voidOnStart() { f( 32765 ); }
Risultato:
32765:0:214735257632765:1:2147418112
e se
#include "test.mqh"voidOnStart() { f( 32766 ); }
Risultato:
32766:0:2147418112
Perché c'è un'uscita (linea) in un caso e due nell'altro?
Sì, ho deciso di non usare affatto le vecchie schede senza doppio supporto.
Le vecchie schede in generale sono molto cattive, compresi i cattivi driver non riparati che spesso si bloccano, facendo cadere il terminale.
La realtà è che dovreste già controllare esplicitamente le versioni dei driver, come fanno gli sviluppatori di giochi per PC. I driver predefiniti di Microsoft non vi porteranno molto lontano.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Controllerò la resa.
Senza la doppia matematica non c'è niente da fare nel nostro campo. Tanto più nel 2020.
Mentre nei primi giorni di OpenCL si poteva ancora cercare dei compromessi ed essere ingannati dalla nozione "beh, si può calcolare qualcosa in float", oggi non è così.
Qualsiasi tentativo di convertire doppio -> int -> doppio uccide completamente le prestazioni e il profitto, specialmente su grandi dimensioni.
L'opzione corretta è usare formati nativi e schede più moderne con nuovi driver.
Il supporto c'è:
Una richiesta a te Renat. Si prega di aggiungere nel manuale MQL5 (sezione OpenCL) un disclaimer che affermi che prima di usare dati e calcoli doppi nelle schede grafiche/coprocessori grafici, si dovrebbe verificare che siano supportati da questi dispositivi. In modo che i neofiti di MQL5 non si facciano illusioni sul vecchio hardware.
Questo è già scritto nel test automatico della mappa e non è selezionabile: fatto nell'ultima release
Si può dire delle vecchie mappe senza doppio supporto che sono assolutamente inutili per i calcoli matematici.
Questa è la realtà.
Questo è già scritto nel test automatico della mappa e non è selezionabile: fatto nell'ultima release
Alcuni esempi vengono forniti con il pacchetto MQL5. Programmazione totalmente orientata alle procedure. Non sono sicuro di MQL4
e se
Risultato:
Perché c'è un'uscita (linea) in un caso e due nell'altro?
Non chiaro Risultato:
e se
Risultato:
Perché c'è un'uscita (linea) in un caso e due nell'altro?
Grazie per il messaggio.
Fisso.
Overflow dell'handle OpenCL dovuto a un frequente sovrautilizzo dell'handle, più di SHORT_MAX volte
e una settimana fa funzionava bene. Perché disabilitare OpenCL se non c'è supporto per il doppio e non viene utilizzato?
Sì, ho deciso di non usare affatto le vecchie schede senza doppio supporto.
Le vecchie schede in generale sono molto cattive, compresi i cattivi driver non riparati che spesso si bloccano, facendo cadere il terminale.
La realtà è che dovreste già controllare esplicitamente le versioni dei driver, come fanno gli sviluppatori di giochi per PC. I driver predefiniti di Microsoft non vi porteranno molto lontano.