Unisciti alla nostra fan page
- Visualizzazioni:
- 67
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Quando si utilizzano oggetti grafici di testo negli indicatori, spesso è necessario inserire la possibilità di cambiare il tipo di carattere di un oggetto grafico di testo nei parametri di input dell'indicatore.
Quando si lavora con un indicatore di questo tipo e si vuole cambiare il tipo di carattere, è abbastanza naturale digitarlo a mano sotto forma di stringa, nei parametri di input, ma è piuttosto scomodo e comporta anche degli errori. A questo scopo è molto più pratico utilizzare variabili basate su enumerazioni ed elenchi di menu a discesa. Questo modulo funzionale è stato progettato per risolvere questo problema.
Si può capire come lavorare con la libreria da un esempio. Supponiamo di avere un indicatore (ChartInfo_Old.mq5) che visualizza una scritta informativa in uno degli angoli del grafico. Ecco i suoi parametri di ingresso:
//+----------------------------------------------+ //|| Parametri di ingresso dell'indicatore | //+----------------------------------------------+ input string Text="Real"; // Contenuto dell'etichetta di testo input color TextColor=Red; // Colore dell'etichetta di testo input int FontSize=24; // Dimensione del carattere input type_font FontType=Font7; // Tipo di carattere input ENUM_BASE_CORNER WhatCorner=CORNER_LEFT_LOWER; // Angolo di posizione input uint Y_=1; // Posizionamento verticale
Con questo codice per i parametri di input, la finestra dei parametri di input dell'indicatore avrà questo aspetto:

Per evitare che l'utente dell'indicatore debba digitare la variante di carattere di cui ha bisogno, il codice subisce le seguenti trasformazioni:
1. Utilizzando la direttiva #include , aggiungiamo il contenuto del file GetFontName.mqh prima della dichiarazione dei parametri di input dell'indicatore:
//+----------------------------------------------+ // Descrizione di type_font | enumerazione // Descrizione della classe CFontName //+----------------------------------------------+ #include <GetFontName.mqh>
2. Cambiare la stringa del parametro di ingresso FontType:
input string FontType="Courier New"; // Tipo di carattere
alla stringa
input type_font FontType=Font7; // Tipo di carattere
In questo modo abbiamo cambiato leggermente il significato dell'uso della variabile. Il significato della precedente variabile sarà incorporato in una nuova variabile stringa, che dichiareremo a livello globale.
string sFontType; Successivamente, dovremo sostituire la variabile FontType con sFontType nel codice dell'indicatore. Questo dovrebbe essere fatto in un solo punto:
SetTLabel(0,"Info_Label",0,WhatCorner,ENUM_ANCHOR_POINT(2*WhatCorner),5,Y_,Text,TextColor,sFontType,FontSize);
Ora nel blocco OnInit() dobbiamo inizializzare la variabile sFontType, per la quale dobbiamo aggiungere solo un paio di righe di codice:
CFontName FONT; sFontType=FONT.GetFontName(FontType);
Dopodiché è possibile compilare l'indicatore ChartInfo.mq5 corretto.
Ora è possibile vedere le modifiche nella finestra dei parametri di input dell'indicatore:

Lavorare con la modifica del carattere nei parametri di input dell'indicatore è diventato molto semplice e comodo.
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/644
Array IncMFIOn
La classe CMFIOnArray è progettata per calcolare i valori dell'indicatore Money Flow Index (MFI) per buffer di indicatori. Ecco un esempio di utilizzo della classe.
IncRSIOnArray
La classe CRSIOnArray è progettata per calcolare i valori dell'indicatore Relative Strength Index (RSI) utilizzando il buffer dell'indicatore.
Renko_Subwindow_ATRTrend
Una combinazione di molti indicatori noti
WaveTrend
L'indicatore WaveTrend (WT) è un potente strumento di analisi tecnica progettato per identificare la direzione del trend e i potenziali punti di inversione. Traccia due linee, WT1 e WT2, in una finestra separata, calcolate in base al momentum dei prezzi e alle medie smussate.