Errori, bug, domande - pagina 3125
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Dio, questi indicatori tampone sono così scomodi. Inquietante.
Con il disegno su tela tutto è molto più facile, meno codice, più chiaro, più versatile e completa libertà d'azione.
Tutti capiscono la tua passione per i kanva da molto tempo. Ma non tutti sono così abituati... )))
Non dovresti.
Sì... se non muoio prima io...
Probabilmente non è una stampella, ma finora non ho spiegazioni per quello che sta succedendo. Grazie...
Probabilmente dipende da quale buffer è più alto nella costruzione. Basta cambiare il + in -
e funzionerà anche. Ma avevo bisogno di dirigere lo spessore all'interno della barra.
Il tampone di riempimento ha due colori. Dovete impostarli entrambi separati da virgole. Quello che è più in alto sullo schermo determina il colore di riempimento. Non si specifica uno dei colori - è sostituito da clrNONE
È più facile lavorare con i buffer, ma si può emettere qualsiasi cosa su Kanvas. D'altra parte, negli indicatori personalizzati in MQL5 ci sono anche molti tipi diversi di buffer di indicatori. In generale, il programmatore non dovrebbe fare un errore scegliendo uno di questi metodi. Ma la scelta dovrebbe sempre dipendere dal compito da svolgere...
Naturalmente, i buffer sono più difficili da lavorare. È più facile con una tela.
Non puoi mettere #proprietà in una funzione.
E si può aggiungere una linea di kanvas con una sola riga passando un array a una funzione.
Personalmente uso kanvas più per la visualizzazione di alcuni processi e dati intermedi durante lo sviluppo. In questo modo è più facile vedere i problemi e trovare soluzioni ottimali.
A meno che, ovviamente, non si tratti di algoritmi primitivi costruiti su intersezioni.
Ecco, per esempio, il mio lavoro attuale.
Tutto questo rivestimento è servizio e mi aiuta molto a trovare soluzioni ottimali.
Con i buffer, ovviamente, non si può fare. Inoltre, questa soluzione funziona ugualmente in Expert Advisors e indicatori. E il codice funziona anche in MT4.
Naturalmente, i buffer sono più difficili da lavorare. È più facile con una tela.
Non puoi mettere #proprietà in una funzione.
E si può aggiungere una linea di kanvas con una sola riga passando un array a una funzione.
E questo viene implementato molto facilmente e rapidamente. Letteralmente al volo.Personalmente uso kanvas più per la visualizzazione di alcuni processi e dati intermedi durante lo sviluppo. In questo modo è più facile vedere i problemi e trovare soluzioni ottimali.
A meno che, naturalmente, non si tratti di algoritmi primitivi costruiti su intersezioni.
Ecco, per esempio, il mio lavoro attuale.
Tutto questo rivestimento è servizio e mi aiuta molto a trovare soluzioni ottimali.
Con i buffer, ovviamente, non si può fare. Inoltre, questa soluzione funziona ugualmente in Expert Advisors e indicatori. E il codice funziona anche in MT4.
Questo problema richiede l'uso di Canvas. Naturalmente, non abbiamo altra scelta. Anche se c'è una possibilità, è DirectX. Ma non so chi lo usa nelle applicazioni MQL. Non ho mai visto esempi simili. Kanvass mi ha aiutato molto quando avevo bisogno di emettere l'oscillatore nel grafico insieme agli indicatori di tendenza. Naturalmente, non posso ottenere un tale risultato usando meccanismi di indicatori personalizzati. Ho creato due classi basate su CCanvas. Uno di loro visualizza gli oscillatori, il secondo - gli indicatori di tendenza utilizzando metodi, dove vengono passati array di valori di indicatori, array di colori e array di indici di colore. Ma quando ho bisogno di visualizzare un indicatore, uso metodi di indicatori personalizzati. Non so perché. O è un'abitudine o non voglio complicare troppo il codice, quando il punto principale e la complessità è nel calcolo dei valori, non nel metodo del loro output.
Ma la scelta dovrebbe sempre dipendere dal compito da svolgere...
Ho dimenticato di dirtelo. L'uso di Kanvas è anche molto utile nei robot in cui è necessario emettere valori calcolati in un grafico, ma i buffer degli indicatori non sono disponibili. Poi i valori o i segnali possono essere emessi usando Kanvas solo se ce ne sono abbastanza (non 2-3 segnali che possono essere emessi usando oggetti grafici).
Dio, questi indicatori tampone sono così scomodi. Inquietante.
Con il disegno su tela tutto è molto più facile, c'è meno codice, più chiaro, più universale e completa libertà d'azione.
La versatilità di una tela finisce quando i suoi valori devono essere ottenuti da un altro EA/indicatore.
O avete già trovato una soluzione anche per questo? )
La versatilità di Kanvas finisce quando i suoi valori devono essere ottenuti da un altro EA/indicatore.
O hai già trovato una soluzione anche per questo? )
Quali sono i problemi, Andrei?
Si forma una struttura di dati o una matrice di strutture nell'EA o nell'indicatore e la si invia a una risorsa.
E sul lato ricevente, si legge questa struttura o array di strutture.
È ancora più conveniente, perché si ha a che fare con nomi e diversi tipi di dati di dimensioni necessarie, piuttosto che array doppi numerati dell'intera lunghezza delle virgolette.
Se questo è un indicatore per un mercato, ma si deve fornire la classe che legge i dati dalla risorsa.
Il cliente deve solo aggiungere un include e dichiarare un'istanza della classe. Può anche chiamare metodi da OnTimer e OnTick. E poi questa istanza della classe avrà sempre i dati effettivi dell'indicatore di lettura sotto forma di una struttura o array di strutture convenientemente leggibile.