Alexey Petrov: I link sono stati corretti. Grazie per il messaggio.
Rimangono degli errori.
Paragrafo introduttivo:
...
Prima di iniziare a disegnare direttamente con la classe CCanvas, è necessario imparare alcune definizioni relative alla gestione dei colori. Ad esempio, cos'è la trasparenza e cos'è un canale alfa.
...
Elemento "5.1 Creare uno script "Illusion.mq5"".
...
Disegnare un cerchio dipinto. Il cerchio verrà disegnato sopra il colore con cui abbiamo riempito la tela (canvas_XRGB_NOALPHA.Erase(ColorToARGB(colr,alpha));).
canvas_XRGB_NOALPHA.CreateBitmapLabel - Qui abbiamo creato una risorsa grafica legata all'oggetto grafico.
Testo in uscita - Tipo di elaborazione dell'immagine per questa tela. Colore del testo in formato ARGB con canale alfa pari a 255, ovvero il colore del testo in uscita.
Poiché abbiamo creato la risorsa grafica con un binding all'oggetto grafico ( metodo CreateBitmapLabel), cancelleremo la risorsa con il metodo Destroy().
Salve ragazzi, potete dirmi come fare per rendere il pannello informativo in modo che le icone delle offerte non siano sovrapposte.
Sembra che sia in primo piano, tutto è disegnato dietro, ma le offerte sono sovrapposte.
void CreateEdit(long chart_id, // id del graficoint sub_window, // numero della finestra (sottofinestra)string name, // nome dell'oggettocolor font_color, // colore del carattereint x_size, // larghezzaint y_size, // altezzaint x_distance, // Coordinata dell'asse Xint y_distance, // Coordinata dell'asse Ylong z_order, // prioritàcolor background_color) // colore di sfondo
{
// Se l'oggetto è stato creato con successo, allora...if(ObjectCreate(chart_id,name,OBJ_RECTANGLE_LABEL,sub_window,0,0))
{
// ... impostare le sue proprietàObjectSetInteger(chart_id,name,OBJPROP_CORNER,CORNER_LEFT_UPPER); // impostazione dell'angolo del graficoObjectSetInteger(chart_id,name,OBJPROP_COLOR,font_color); // colore del carattereObjectSetInteger(chart_id,name,OBJPROP_BGCOLOR,background_color); // colore di sfondoObjectSetInteger(chart_id,name,OBJPROP_XSIZE,x_size); // larghezzaObjectSetInteger(chart_id,name,OBJPROP_YSIZE,y_size); // altezzaObjectSetInteger(chart_id,name,OBJPROP_XDISTANCE,x_distance); // impostare la coordinata XObjectSetInteger(chart_id,name,OBJPROP_YDISTANCE,y_distance); // impostazione della coordinata YObjectSetInteger(chart_id,name,OBJPROP_SELECTABLE,false); // l'oggetto non può essere selezionato se FALSOObjectSetInteger(chart_id,name,OBJPROP_ZORDER,z_order); // priorità dell'oggettoObjectSetInteger(chart_id,name,OBJPROP_READONLY,true); // di sola letturaObjectSetInteger(chart_id,name,OBJPROP_ALIGN,ALIGN_LEFT); // allineamento a sinistra//--- visualizzazione in primo piano (false) o sullo sfondo (true) ObjectSetInteger(chart_id,name,OBJPROP_BACK,false);
ObjectSetString(chart_id,name,OBJPROP_TOOLTIP,"\n"); // nessun tooltip se "\n".
}
}
MQL4 ;)
Non sono favorevole a MQL4. Tutti gli esempi sono solo in MQL5.
E il risultato dello script:
Vladimir, una domanda per te che sei un esperto.
C'è un pannello a forma di tela. Sul grafico vengono disegnate le linee di tendenza. Come si fa a nasconderle dietro la tela?
Screenshot della piattaforma di trading MetaTrader
RTS Splice, H1, 2016.10.16
JSC ''Otkritie Broker'', MetaTrader 5, Demo
Vladimir, una domanda per te che sei un esperto.
C'è un pannello a forma di tela. Sul grafico vengono disegnate le linee di tendenza. Come nasconderle dietro la tela?
Grazie per l'articolo. Purtroppo tutti i link alla documentazione in esso contenuti sono interrotti.
Grazie per il messaggio: la guida è stata ricostruita, da cui gli errori. Provvederemo a correggere i collegamenti.
Tramite la classe CCanvas?
P.S. Utilizzare CCanvas.CreateBitmap:
Crea una risorsa grafica legata a un oggetto grafico.
1. Crea una risorsa grafica nella finestra principale del grafico corrente.
bool CreateBitmap(
const string nome, // nome
const datetimetime, // time
const doubleprice, // prezzo
constintlarghezza, // larghezza
const int height, // altezza
ENUM_COLOR_FORMAT clrfmt=COLOR_FORMAT_XRGB_NOALPHA// formato
);
In questo modo sarà possibile vincolare un angolo di una tela. Ma la larghezza e l'altezza saranno impostate in pixel.
Posso scrivere in russo qui?
Perché date istruzioni a uno, ma in realtà professate due pesi e due misure.
Grazie per l'articolo. Purtroppo tutti i link alla documentazione in esso contenuti sono interrotti.
I link sono stati corretti. Grazie per il messaggio.
Rimangono degli errori.
Paragrafo introduttivo:
...
Prima di iniziare a disegnare direttamente con la classe CCanvas, è necessario imparare alcune definizioni relative alla gestione dei colori. Ad esempio, cos'è la trasparenza e cos'è un canale alfa.
...
Elemento "5.1 Creare uno script "Illusion.mq5"".
...
Disegnare un cerchio dipinto. Il cerchio verrà disegnato sopra il colore con cui abbiamo riempito la tela (canvas_XRGB_NOALPHA.Erase(ColorToARGB(colr,alpha));).
canvas_XRGB_NOALPHA.CreateBitmapLabel - Qui abbiamo creato una risorsa grafica legata all'oggetto grafico.
Riempie l'intera tela con il colore in formato ARGB con trasparenza alfa.
Testo in uscita - Tipo di elaborazione dell'immagine per questa tela. Colore del testo in formato ARGB con canale alfa pari a 255, ovvero il colore del testo in uscita.
Se vogliamo che tutto ciò che è stato disegnato venga visualizzato sullo schermo, dobbiamo aggiornare lo schermo.
Poiché abbiamo creato la risorsa grafica con un binding all'oggetto grafico ( metodo CreateBitmapLabel), cancelleremo la risorsa con il metodo Destroy().
...
Salve ragazzi, potete dirmi come fare per rendere il pannello informativo in modo che le icone delle offerte non siano sovrapposte.
Sembra che sia in primo piano, tutto è disegnato dietro, ma le offerte sono sovrapposte.