Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 780

 
Algus:

Sì, un gruppo di segnali sonori, altrimenti si ottengono molti file sonori (vedi #7763). E la frequenza è troppo alta o troppo bassa. L'analisi principale avviene all'apertura delle battute. Non ci sono duplicati, ovviamente.

E in generale non sono le melodie ma i messaggi. I toni non sono informativi, gli uccelli lo erano all'inizio, quando si potevano contare i segnali sulle dita):

Bene, allora scrivi il cifrario del segnale nel buffer dell'indicatore anche da 6 cifre, dove le informazioni sulla coppia TF e il tipo di segnale saranno codificate - allora non ti confonderai - prendi il valore dal buffer all'array, e inizia la decodifica in ordine, e puoi anche organizzare l'array, in modo che i segnali vadano in ordine di un simbolo, quindi la durata del segnale è ridotta - prima coppia temporale e poi TF-Signal, e tutto questo nel ciclo. Non è così complicato. L'unica cosa da fare è controllare una nuova candela per ogni coppia, altrimenti il segnale potrebbe non essere sincronizzato e saltare. In generale, è meglio raccogliere il segnale da uno strumento, elaborarlo, suonarlo, raccoglierlo da un altro. Oppure fai un array booleano, dove segni che il segnale è già stato raccolto dallo strumento, e lo aggiorni dopo ogni riproduzione di informazioni dal TF, così sarà meglio. Allora non dovrai aspettare che tutti gli indicatori facciano il calcolo a causa dell'apparizione di una nuova barra.

 
anatoliy.r:
Sono qui ....... Risulta essere così facile! Grazie!!!)

Sei il benvenuto :)

 
Algus:

Non è chiaro. Il multi-indicatore (mi) commuta solo le finestre, quindi non c'è nessun problema con quello nel terminale così com'è. Se conta, allora per il carico della CPU 1mi=14 non mi. Inoltre, per scaricare tutta la grafica di 14 TF in una finestra... com'è? In più ogni chat ha il suo indicatore che conta e disegna anche? Caricamento 1 Mi+14 non Mi=28 non Mi. Non sarebbe più facile organizzare bene il suono?

14 tabelle io, naturalmente, non guardo subito, ma lo sento subito):

Perché tenere aperti 14 grafici con 14 indicatori? (e devo ancora capire come collegarli)

Un indicatore in una finestra, che disegnerà/monitorerà tutto, e passerà al TF/simbolo richiesto con un clic, è sufficiente. (Passate da una finestra all'altra, vero?).

 
Taras Slobodyanik:

Perché tenere aperti 14 grafici con 14 indicatori? (e devo ancora capire come collegarli)

Un indicatore in una finestra, che disegnerà/monitorerà tutto, e passerà al TF/simbolo richiesto con un clic, è sufficiente. (Passate da una finestra all'altra, vero?).

Teoricamente è possibile. Ma c'è qualcosa che devo aver frainteso):

Non può disegnare tutto in una finestra, non può monitorarlo. Passare a un altro TF/simbolo con un clic - è programmatico? Probabilmente, MQL permette, non l'ho provato. Che cosa allora? Si apre un nuovo grafico, l'indicatore MQL viene caricato e disegna i modelli. Penso di sì, forse mi sbaglio? Se no, in che modo è meglio e più veloce di 14 finestre aperte? Quindi, tutto questo è già implementato nel terminale e non c'è differenza in quale pannello si clicca. Ho 360 kg di versione mono del mio MI, è ancora una spina nel fianco. In effetti, state suggerendo di trasferire il funzionamento del terminale all'indicatore. Penso che sia più facile, più efficiente e più veloce capire waveOut API o imparare un altro linguaggio di programmazione.

 

da quanto ho capito, il compito non è quello di fare 14 indicatori o 1 multi-indicatore più veloce, ma di far interagire 14 indicatori tra loro

per me, sarebbe più facile combinare tutto in un solo indicatore

 
Taras Slobodyanik:

da quanto ho capito, il compito non è quello di fare 14 indicatori o 1 multi-indicatore più veloce, ma di far interagire 14 indicatori tra loro

per me, sarebbe più facile combinare tutto in un solo indicatore

Grazie per l'interesse):
 

Una tale domanda. Ho messo una cronologia di tick, ora quando si prova anche a 32 velocità su M15 la velocità è di circa 1 bar al secondo, che è molto lento. C'è qualcos'altro che si può fare per aumentare la velocità della corsa?

Senza visualizzazione ci vuole anche molto tempo

 
Aleksey Vyazmikin:

Bene, allora scrivi il cifrario del segnale nel buffer dell'indicatore anche da 6 cifre, dove le informazioni sulla coppia TF e il tipo di segnale saranno codificate - allora non ti confonderai - prendi il valore dal buffer all'array, e inizia la decodifica in ordine, e puoi anche organizzare l'array, in modo che i segnali vadano in ordine di un simbolo, quindi la durata del segnale è ridotta - prima coppia temporale e poi TF-Signal, e tutto questo nel ciclo. Non è così complicato. L'unica cosa da fare è controllare una nuova candela per ogni coppia, altrimenti il segnale potrebbe non essere sincronizzato e saltare. In generale, è meglio raccogliere il segnale da uno strumento, elaborarlo, suonarlo, raccoglierlo da un altro. Oppure fai un array booleano, dove segni che il segnale è già stato raccolto dallo strumento, e lo aggiorni dopo ogni riproduzione di informazioni dal TF, così sarà meglio. Allora non dovrete aspettare che tutti gli indicatori facciano il calcolo a causa dell'apparizione di una nuova barra.

Se possibile, specificare):

In quale buffer di indicatori dovrei scrivere - tutti e 14, uno dei 14 o il buffer di indicatori del manager del suono? E perché devo scriverlo nel buffer dell'indicatore e poi nell'array, se posso scriverlo direttamente nell'array?

Nemmeno io capisco cosa intendi per la nuova candela. Vi aspettavate una sorta di sincronizzazione?

Con quale metodo e dove si raccolgono i segnali del simbolo? Negli indicatori di lavoro o dal manager?

A proposito, ci sono segnali che sono arbitrari nel tempo.

In generale, mi pento, non capisco l'algoritmo:)

 

Salve. Sto scrivendo una funzione - non posso passare un array come parametro insieme a qualsiasi altro parametro. Esempi:

void f(int &a[]){} //не вызывает проблем у компилятора 
void f(int x=0,
       int &a[]){} //выдаёт ошибку: 'a' - missing default value for parameter
//ок, выставляю default value:
void f(int x=0,
       int &a[]=0){} //ошибка: '=' - illegal operation use

L'immaginazione si esaurisce ulteriormente.
Si suppone che una funzione vada a curiosare in un array - e per questo, suppongo che debba passare questo array. O non è così?
Grazie in anticipo.

 
Mikhail Sobolev:

Salve. Sto scrivendo una funzione - non posso passare un array come parametro insieme a qualsiasi altro parametro. Esempi:

L'immaginazione si esaurisce ulteriormente.
Si suppone che una funzione vada a curiosare in un array - e per questo, suppongo che debba passare questo array. O non è così?
Grazie in anticipo.


void f(int &a[],int x=0){}