Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 61

 
Yedelkin:

Non capisco quale sia esattamente l'inconveniente. Avete scaricato la storia una volta in OnInit() per tutti i simboli - questo è tutto.

Ebbene, la creazione di un indicatore garantisce che la storia venga scaricata alla giusta profondità?

"MQL5 Reference - Accesso alle serie temporali e agli indicatori - Organizzazione dell'accesso ai datihttps://www.mql5.com/ru/docs/series/timeseries_access

La ricezione di nuovi dati dal server provoca l'aggiornamento automatico dei dati di prezzo utilizzati nel formato HC per tutti i timeframe e il ricalcolo di tutti gli indicatori, che ovviamente li utilizzano come dati di input per il calcolo.

Quando chiamo un indicatore da un Expert Advisor, se la storia di un simbolo non è caricata, il terminale inizia a scaricare i dati e il traffico rimane lo stesso

Non mi piace il caricamento indipendente dei dati, è necessario monitorarlo costantemente, logicamente il terminale della quinta generazione stesso dovrebbe farlo! MT4 ha un caricamento indipendente della storia dal codice dell'indicatore - "che era una spina nel fianco" :)

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
 
IgorM:
Capisco. L'inconveniente sta nell'ottenere dati freschi dall'indicatore (da altri simboli), e non quelli storici, come sembrava inizialmente. C'è solo un'idea in questo caso: un semplice indicatore consuma memoria in modo direttamente proporzionale al numero dei suoi buffer, quindi se non volete sprecare memoria, potete spostare il carico sugli indicatori ausiliari.
 
Yedelkin In questo caso c'è solo un'idea: un indicatore semplice usa la memoria in modo direttamente proporzionale alla quantità dei suoi buffer, quindi se non volete sprecare memoria, potete spostare il carico sugli indicatori ausiliari.

Ora questo è costruttivo, ma nessuno vieta di limitare il numero di barre nelle impostazioni del terminale - consumerà meno memoria, CopyClose() ecc. richiede anche array, e questa è la stessa memoria del computer. E sembra che nell'indicatore stesso si possa limitare il numero di barre per il ricalcolo - richiede anche meno memoria.

una tale costruzione funzionerà correttamente con il tester?

 
IgorM: Ma nessuno vieta di limitare il numero di barre nelle impostazioni del terminale - consumerà meno memoria

Sì, "chi è avvisato è avvisato" :)

IgorM: CopyClose() ecc. richiedono anche array, che è la stessa memoria del computer.

Non sono d'accordo sul consumo di memoria simile da parte della funzione CopyClose(). Questa funzione permette di avere piccoli array, e il buffer dell'indicatore - è sempre allungato alla sua lunghezza completa specificata nelle impostazioni del terminale, cioè almeno 50 mila barre.

IgorM : Un tale progetto funzionerà correttamentecon il tester?
In settembre il tester non reagisce alla limitazione del numero di barre nelle impostazioni del terminale. Cioè ha caricato l'intera storia. Per quanto riguarda gli indicatori ausiliari, funzionano normalmente nel tester.
 
Perché i calcoli vengono eseguiti dalla CPU e non dalla GPU? Forse non capisco qualcosa, ma l'efficienza di CUDA e OpenCL è riconosciuta in molte industrie. Anche per il calcolo medico, alcuni miseri 2-4-8 agenti sono semplicemente patetici rispetto ai 128 o più agenti di una scheda grafica
 
madload:

Ditemi, perché le risorse computazionali sono della CPU e non della GPU? Forse non capisco qualcosa, ma l'efficienza di CUDA e OpenCL è riconosciuta in molte industrie. Anche per i calcoli medici. E dei miseri 2-4-8 agenti sono semplicemente patetici rispetto ai 128 o più agenti di una scheda grafica.

Chi vi proibisce di usare le risorse di calcolo della GPU?

Vedere:

OpenCL: il ponte per i mondi paralleli

OpenCL: dalla codifica ingenua a quella più intelligente

 
Reshetov:

Chi vi impedisce di usare le risorse di calcolo della GPU?

Vedere:

OpenCL: il ponte per i mondi paralleli

OpenCL: dalla codifica ingenua a una codifica più significativa

Ho scaricato il metatester ma ha solo una CPU. non c'è modo di collegare le schede grafiche ai calcoli - è quello che chiedo - ci sarà un software per la GPU?
 
madload:
non c'è modo di collegare le schede video ai calcoli

Non essere assurdo. Vi ho dato i link a due articoli dove è scritto in chiaro russo e inglese come usare le capacità della GPU per i calcoli.

 
Reshetov:

Non essere assurdo. Vi ho dato i link a due articoli dove è scritto in chiaro russo e inglese come usare le capacità della GPU per i calcoli.


MQ non ha ancora capito come standardizzare la pletora di morse che girano sui computer cloud.

Problema 1: ci sono diversi core di CPU sul computer e una scheda video, tutti gli agenti andranno alla scheda chiedendo risorse.

Problema 2: le morse differiscono molto sia in memoria che in numero di core (scrivere codice per un widget personalizzato è una cosa, ma scrivere codice universale è molto più difficile). Non dimenticare che l'intelligenza della folla è uguale a quella della pecora più stupida. Da qui il problema di quale barra fissare. Per un codice saranno sufficienti 128 core e 512 Mb di memoria, mentre un altro codice avrà bisogno di non meno di 2GB e 2048 core. Anche in questo caso la viscosità varia molto più della CPU, da cui il problema delle applicazioni cludenti. Per le CPU il problema è risolto attraverso il livello PR a partire dal quale i core possono essere utilizzati dagli agenti.

carico pazzesco:

Ditemi, perché i calcoli sono fatti dalle CPU e non dalle GPU? Forse mi sfugge qualcosa, ma l'efficacia di CUDA e OpenCL è riconosciuta in molte industrie. Anche i calcoli medici vengono utilizzati. E dei miseri 2-4-8 agenti sono semplicemente patetici rispetto ai 128 o più agenti di una scheda grafica.

Cloud non ha un misero 2-4-8 agenti, scala a seconda del compito, ho testato un EA con 512 agenti, per compiti seri potrebbe averne di più.

 
Urain:

Non dire cazzate, gli agenti non usano le GPU perché MQ non ha ancora capito come standardizzare una massa eterogenea di morse sui computer claud.

Non dire cazzate, la GPU è usata negli agenti locali. Non ho chiesto del bollitore claud, ho chiesto del metatester.

Vedere https://www.mql5.com/ru/forum/6042/page10

Renat:

ilovebtc:

La scheda video è già abilitata nella nuova build del tester o no? Se sì, dove posso vedere i risultati?

Sì, certo. Potete chiamare le funzioni OpenCL da MQL5 e calcolare i vostri compiti.

Vedere https://www.mql5.com/ru/forum/23/page15

Terminale client MetaTrader 5 build 655

...

25. MetaTester: aggiunto il supporto per l'utilizzo di programmi OpenCL negli agenti di test.

I programmi OpenCL sono destinati a eseguire calcoli su schede video che supportano OpenCL 1.1 o superiore. Le moderne schede video contengono centinaia di piccoli processori specializzati che possono eseguire simultaneamente semplici operazioni matematiche su flussi di dati in entrata. Il linguaggio OpenCL organizza tale calcolo parallelo e fornisce un'enorme accelerazione per una certa classe di compiti.

OpenCL: внутренние тесты реализации в MQL5
OpenCL: внутренние тесты реализации в MQL5
  • www.mql5.com
Мы ведем работу над нативной поддержкой OpenCL прямо в MQL5.