Visualizzazione del testo su un grafico
4 risposte
Paolo
10 anni fa #111323
Ecco un codice per visualizzare fino a 6 righe di testo su un grafico, molto utile per visualizzare le variabili quando si testano gli EA dal vivo.
Copiate e incollate le righe di ObjectCreate e le corrispondenti righe di ObjectSetText nel campo Command dell'azione personalizzata.
Ad esempio, se si desiderano solo 2 righe di testo, copiare e incollare ObjectCreate("Line1" e 2, e ObjectSetText("Line1 e 2, ottenendo così 4 comandi Azione personalizzata.
Personalizzate i seguenti dati nelle righe ObjectSetText:
La voce "La mia etichetta" è un'etichetta di testo per i dati che si desidera visualizzare.
'my variable' è la variabile di cui si vogliono visualizzare i dati.
Assicuratevi di lasciare la sintassi delle altre linee esattamente come mostrato.
La schermata allegata dovrebbe chiarire le cose.
Salute,
Paolo
ObjectCreate("Linea1", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea1", OBJPROP_CORNER, 0); ObjectSet("Linea1", OBJPROP_XDISTANCE, 10); ObjectSet("Linea1", OBJPROP_YDISTANCE, 130);
ObjectCreate("Linea2", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea2", OBJPROP_CORNER, 0); ObjectSet("Linea2", OBJPROP_XDISTANCE, 10); ObjectSet("Linea2", OBJPROP_YDISTANCE, 150);
ObjectCreate("Linea3", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea3", OBJPROP_CORNER, 0); ObjectSet("Linea3", OBJPROP_XDISTANCE, 10); ObjectSet("Linea3", OBJPROP_YDISTANCE, 170);
ObjectCreate("Linea4", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea4", OBJPROP_CORNER, 0); ObjectSet("Linea4", OBJPROP_XDISTANCE, 10); ObjectSet("Linea4", OBJPROP_YDISTANCE, 190);
ObjectCreate("Linea5", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea5", OBJPROP_CORNER, 0); ObjectSet("Linea5", OBJPROP_XDISTANCE, 10); ObjectSet("Linea5", OBJPROP_YDISTANCE, 210);
ObjectCreate("Linea6", OBJ_LABEL, 0, 0 , 0); ObjectSet("Linea6", OBJPROP_CORNER, 0); ObjectSet("Linea6", OBJPROP_XDISTANCE, 10); ObjectSet("Linea6", OBJPROP_YDISTANCE, 230);
ObjectSetText("Line1", "My Lable 1: " + my variable 1, 10, "Arial", White);
ObjectSetText("Line2", "My Lable 2: " + my variable 2, 10, "Arial", White);
ObjectSetText("Line3", "My Lable 3: " + my variable 3, 10, "Arial", White);
ObjectSetText("Line4", "My Lable 4: " + my variable 4, 10, "Arial", White);
ObjectSetText("Line5", "My Lable 5: " + my variable 5, 10, "Arial", White);
ObjectSetText("Line6", "My Lable 6: " + my variable 6, 10, "Arial", White);
JS17
10 anni fa #122023
Ottimo post grazie mille 🙂
Solo una domanda veloce se posso, il tuo post dice fino a 6 linee, 6 linee sono un limite all'interno del linguaggio di programmazione?
Mark Fric
10 anni fa #122090
No, non c'è limite al numero di oggetti di testo che si possono visualizzare.
È sufficiente creare altri oggetti di testo con ObjectCreate() e poi impostare il loro valore con ObjectSetText().
Marchio
Architetto StrategyQuant
Brian Caudill
5 anni fa #234676
Ecco un modo semplice per aggiungere al grafico tutti gli oggetti che si desidera
int n=8;//modificare questo numero con il numero di oggetti che si vogliono creare
int distance_horizontal=10;//la posizione orizzontale
int distance_between_verticle=40;//la distanza tra ogni oggetto
int top_offset = 100; /a che distanza dall'alto si vuole iniziare a stampare gli oggetti (se non si vuole che siano proprio contro la parte superiore del grafico.
int text_color= clrAntiqueWhite; //il colore che si vuole dare al testo nei riquadri
for(int i=0;i<n;i++){
ObjectCreate("Linea "+i, OBJ_LABEL, 0, 0 , 0);
ObjectSet("Linea "+i, OBJPROP_CORNER, 0);
ObjectSet("Linea "+i, OBJPROP_XDISTANCE, distanza_orizzontale);
ObjectSet("Linea "+i, OBJPROP_YDISTANCE, (distanza_tra_verticoli * i)+ top_offset);
ObjectSetText("Line "+i, "My Lable "+i, 10, "Arial", White);
}
commerciante appiccicoso
4 anni fa #249063
Grazie per aver condiviso questa funzione personalizzata. C'è qualche soluzione per visualizzare il testo sul grafico per il back test? Per esempio, invece di disegnare la freccia sui grafici, stampare "Buy Signal" sul back test.
Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)