Risposta

Visualizzazione del testo su un grafico

4 risposte

Paolo

Abbonato, bbp_partecipante, comunità, 7 risposte.

Visita il profilo

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);

0

JS17

Cliente, bbp_partecipante, comunità, 73 risposte.

Visita il profilo

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?

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

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

0

Brian Caudill

Cliente, bbp_partecipante, comunità, 0 risposte.

Visita il profilo

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);
}

0

commerciante appiccicoso

Abbonato, bbp_partecipante, 38 risposte.

Visita il profilo

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.

0

Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)