Resposta

Exibição de texto em um gráfico

4 respostas

Paul

Assinante, bbp_participante, comunidade, 7 respostas.

Perfil da visita

10 anos atrás #111323

Aqui está um código para exibir até 6 linhas de texto em um gráfico, o que é muito útil para exibir variáveis ao testar EAs ao vivo.

Copie e cole as linhas de ObjectCreate e as linhas correspondentes de ObjectSetText no campo Command da Custom Action.
Por exemplo, se você precisar de apenas duas linhas de texto, copie e cole ObjectCreate("Line1" e 2, e ObjectSetText("Line1 e 2, resultando em quatro comandos Custom Action.

 

Personalize os seguintes dados nas linhas do ObjectSetText:
"My Lable" é uma tabela de texto para os dados que você deseja exibir.
'my variable' é a variável cujos dados você deseja exibir.
Certifique-se de deixar a sintaxe do restante das linhas exatamente como mostrado.

 

A captura de tela em anexo deve esclarecer as coisas.

 

Abraço,

Paul

 

ObjectCreate("Line1", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line1", OBJPROP_CORNER, 0); ObjectSet("Line1", OBJPROP_XDISTANCE, 10); ObjectSet("Line1", OBJPROP_YDISTANCE, 130);

 

ObjectCreate("Line2", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line2", OBJPROP_CORNER, 0); ObjectSet("Line2", OBJPROP_XDISTANCE, 10); ObjectSet("Line2", OBJPROP_YDISTANCE, 150);

 

ObjectCreate("Line3", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line3", OBJPROP_CORNER, 0); ObjectSet("Line3", OBJPROP_XDISTANCE, 10); ObjectSet("Line3", OBJPROP_YDISTANCE, 170);

 

ObjectCreate("Line4", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line4", OBJPROP_CORNER, 0); ObjectSet("Line4", OBJPROP_XDISTANCE, 10); ObjectSet("Line4", OBJPROP_YDISTANCE, 190);

 

ObjectCreate("Line5", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line5", OBJPROP_CORNER, 0); ObjectSet("Line5", OBJPROP_XDISTANCE, 10); ObjectSet("Line5", OBJPROP_YDISTANCE, 210);

 

ObjectCreate("Line6", OBJ_LABEL, 0, 0 , 0); ObjectSet("Line6", OBJPROP_CORNER, 0); ObjectSet("Line6", OBJPROP_XDISTANCE, 10); ObjectSet("Line6", 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);

Arquivo: exemplo.JPGexemplo.JPG

0

JS17

Cliente, bbp_participante, comunidade, 73 respostas.

Perfil da visita

10 anos atrás #122023

Ótimo post, muito obrigado 🙂

 

Só uma pergunta rápida: sua postagem diz até 6 linhas, 6 linhas é um limite dentro da linguagem de programação?

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

10 anos atrás #122090

Não, não há limite para o número de objetos de texto que você pode exibir.

 

Basta criar mais objetos de texto usando ObjectCreate() e, em seguida, definir seu valor usando ObjectSetText()

 

Marcar
EstratégiaQuant arquiteto

0

Brian Caudill

Cliente, bbp_participante, comunidade, 0 respostas.

Perfil da visita

5 anos atrás #234676

Aqui está uma maneira fácil de adicionar quantos objetos você quiser ao gráfico

int n=8;//altere esse número para o número de objetos que você deseja criar
int distance_horizontal=10;//a localização horizontal
int distance_between_verticle=40;//a distância entre cada objeto
int top_offset = 100; //a que distância do topo você deseja começar a imprimir os objetos (se você não quiser que eles fiquem bem no topo do gráfico).
int text_color= clrAntiqueWhite; //a cor que você deseja que o texto nas caixas tenha
for(int i=0;i<n;i++){
ObjectCreate("Line "+i, OBJ_LABEL, 0, 0 , 0);
ObjectSet("Line "+i, OBJPROP_CORNER, 0);
ObjectSet("Line "+i, OBJPROP_XDISTANCE, distance_horizontal);
ObjectSet("Line "+i, OBJPROP_YDISTANCE, (distance_between_verticle * i)+ top_offset);
ObjectSetText("Line "+i, "My Lable "+i, 10, "Arial", White);
}

0

comerciante pegajoso

Assinante, bbp_participant, 38 respostas.

Perfil da visita

4 anos atrás #249063

Por exemplo, em vez de desenhar uma seta nos gráficos, imprima "Buy Signal" no teste de retorno.

0

Visualizando 4 respostas - 1 até 4 (de um total de 4)