Discussione sull’articolo "Visualizza questo! Libreria grafica di MQL5 simile a 'plot' del linguaggio R" - pagina 2
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
È possibile creare due o più scale sul grafico, in modo simile a un righello, dove le divisioni sono indicate come centimetri e pollici, con i valori indicati solo se il punto è stato usato per tracciare il grafico?
Sarà abbastanza facile aggiungere un nuovo contrassegno nel contesto dell'attività, utilizzando il metodo MarksToAxisAdd.
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script|
//+------------------------------------------------------------------+
void OnStart()
{
double x[]={-11,-11,11,11};
double y[]={-10,10,-10,10};
//--- grafico
CGraphic graph;
graph.HistoryNameWidth(80);
graph.Create(0,"Graph",0,30,30,830,430);
//--- Punti
CCurve *curve=graph.CurveAdd(x,y,CURVE_LINES);
graph.CurvePlot(0);
//--- aggiungere segni all'asse X
graph.MarksToAxisAdd(x,8,MARK_INTERNAL,0);
graph.Update();
Sleep(1000);
}
P.S. Tenete presente che il metodo MarksToAxisAdd non crea nuovi oggetti. Pertanto, quando si ridisegna il grafico con il metodo Redraw, questa marcatura andrà persa.
P.P.S. Se non si ha solo bisogno di aggiungere nuove serif, ma anche di firmarle, il compito è più complicato. Sarà necessario scrivere manualmente ogni carattere utilizzando il metodo TextAdd.
L'aggiunta di una nuova marcatura nel contesto dell'attività sarà molto semplice utilizzando il metodo MarksToAxisAdd.
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script|
//+------------------------------------------------------------------+
void OnStart()
{
double x[]={-11,-11,11,11};
double y[]={-10,10,-10,10};
//--- grafico
CGraphic graph;
graph.HistoryNameWidth(80);
graph.Create(0,"Graph",0,30,30,830,430);
//--- Punti
CCurve *curve=graph.CurveAdd(x,y,CURVE_LINES);
graph.CurvePlot(0);
//--- aggiungere segni all'asse X
graph.MarksToAxisAdd(x,8,MARK_INTERNAL,0);
graph.Update();
Sleep(1000);
}
P.S. Si noti che il metodo MarksToAxisAdd non crea nuovi oggetti. Pertanto, quando si ridisegna il grafico con il metodo Redraw, questa marcatura andrà persa.
P.P.S. Se non si ha solo bisogno di aggiungere nuove serif, ma anche di firmarle, il compito è più complicato. Sarà necessario scrivere manualmente ogni carattere utilizzando il metodo TextAdd.
Grazie per la risposta.
È necessario che le tacche siano parallele - l'obiettivo è vedere due valori di un punto - quindi abbiamo bisogno di firme di punti. Non è previsto che il lavoro con la carta sia come quello con la carta, cioè che quando si punta nella finestra di navigazione si ottengano i valori della carta in base alle scale?
Grazie per la risposta.
Ho bisogno che le tacche siano parallele - l'obiettivo è quello di vedere due valori di un punto - quindi ho bisogno delle firme dei punti. Avete intenzione di lavorare con un grafico come con un grafico, cioè quando si punta nella finestra di navigazione, ottenere i valori del grafico in base alle scale?
Questa funzionalità non è ancora prevista come parte della libreria Graphics. Ma nello stesso topic sulla libreria Grafica ho già incontrato un'implementazione personalizzata della funzionalità di cui parli(#36).
Questa funzionalità non era prevista come parte della libreria Graphics. Ma nella stessa discussione sulla libreria Graphics ho già visto un'implementazione personalizzata della funzionalità di cui si parla(#36).
Grazie per il link. È un peccato che non sia stata pianificata: penso che sia estremamente utile per il lavoro reale con la grafica.
Ho una domanda a cui probabilmente conoscete la risposta, dato che avete passato molto tempo a lavorare con i grafici, e temo di aver inventato di nuovo una bicicletta: esiste un metodo per tracciare un grafico sovrapponendo tra loro torte di dati multistrato sotto forma di matrice? Umanamente (nell'esecuzione fisica) si presenta così: prendiamo un bicchiere - lo differenziamo in celle, in ogni cella dipendiamo l'indice x da y, facciamo la normalizzazione degli indicatori e dipingiamo a seconda dell'indicatore delle celle sul bicchiere con una sfumatura di un colore, poi l'indicatore successivo con la stessa matrice, ma con altri valori, anch'esso normalizzato e dipinto, ma con un'altra sfumatura. Il risultato dell'analisi sarà una tavolozza, che è risultata - si presume che dalla tonalità del colore e dalla sua capacità di trasmettere la luce, si possano individuare i modelli di influenza di un indicatore su un altro. (se non altro, questo è il mio know-how :)) C'è qualcosa di simile nel terminale, ma c'è un grafico sugli estremi, che non è lo stesso, ma forse ha ispirato la mia idea.
Grazie per il link. È un peccato che non sia previsto - penso che sia estremamente utile per il lavoro reale con i grafici.
Ho una domanda, alla quale probabilmente conoscete la risposta, dato che avete passato molto tempo a lavorare con i grafici, e temo di aver inventato di nuovo una bicicletta: esiste un metodo per costruire un grafico che consiste nel sovrapporre tra loro torte multistrato di dati sotto forma di matrice? Umanamente (nell'esecuzione fisica) si presenta così: prendiamo un bicchiere - lo differenziamo in celle, in ogni cella dipendiamo l'indice x da y, normalizziamo gli indicatori e dipingiamo a seconda dell'indicatore delle celle sul bicchiere con una sfumatura di un colore, poi l'indicatore successivo con la stessa matrice, ma con altri valori, anch'esso normalizzato e dipinto, ma con un'altra sfumatura. Il risultato dell'analisi sarà una tavolozza, che è risultata - si presume che dalla tonalità del colore e dalla sua capacità di trasmettere la luce, si possano individuare i modelli di influenza di un indicatore su un altro. (se non altro, questo è il mio know-how :)) C'è qualcosa di simile nel Terminale, ma fa grafici per estremi, il che non è affatto la stessa cosa, ma potrebbe aver ispirato la mia idea.
Probabilmente ho capito male, ma quello che state descrivendo mi sembra più associato ai classici metodi di clustering dell'apprendimento automatico. In particolare, sembra qualcosa di simile alle mappe di Kohonen.
Le mappe di Kohonen non sono esattamente così, si tratta di un principio diverso... Stavo pensando che questo approccio potrebbe aiutare l'apprendimento automatico... In ogni caso, o sto pensando nella direzione giusta o non c'è ancora e bisogna fare una valutazione. Grazie.
piccola richiesta, se non è difficile, potete aggiungere la possibilità di disegnare candlestick o barre su OHLC? Mi piacciono molto queste tele, vorrei essere in grado di tracciare grafici completi su di esse.
Forse hai solo bisogno di DRAW_COLOR_CANDLES?
No, solo che senza indicatori si potrebbe visualizzare un grafico aggiuntivo con informazioni sulle distribuzioni (senza problemi), e sarebbe bello poter visualizzare un pezzo di grafico di un'altra TF, ad esempio, o altre informazioni sotto forma di barre, attraverso la stessa libreria di grafici. È solo comodo e veloce lavorarci, ovviamente si possono visualizzare tutti e 4 i tipi di prezzi con delle linee, ma non è bello.
No, esattamente che senza indicatori sarebbe possibile visualizzare un grafico aggiuntivo con informazioni sulle distribuzioni (non ci sono problemi con questo), e sarebbe bello poter visualizzare un pezzo di grafico da un'altra TF, per esempio, o altre informazioni sotto forma di barre, attraverso la stessa libreria di grafici. E' solo comodo e veloce lavorarci, si possono ovviamente visualizzare le linee di tutti e 4 i tipi di prezzi, ma non sembra un asso.
Buon pomeriggio!
La modalità CustomPlotFunction è implementata nella libreria per scopi simili, l'esempio di utilizzo implementa all'incirca quello che ti interessa.
P.S. Maggiori dettagli sono scritti nel forum #53.