Erro no Retorno do valor ObjectGetDouble de uma TRENDLINEBYANGLE

 

Boa tarde amigos,


Estou com um problema no retorno do ângulo de uma TrendLinebyAngle. Vou postar um pedaço do código caso alguém possa me ajudar.


      ObjectCreate(0,"Teste",OBJ_TRENDBYANGLE,0,time[3],high[3],time[1],high[1]);

      double teste2 = ObjectGetDouble(0,"Teste",OBJPROP_ANGLE);

      Print(teste2);



Toda vez que eu faço o teste, ele em vez de me retornar o valor do ângulo dessa trend, ele altera para 90 graus sempre.


Aguardo retorno e desde já, obrigado!

 
Rafael Sekiguchi:

Boa tarde amigos,


Estou com um problema no retorno do ângulo de uma TrendLinebyAngle. Vou postar um pedaço do código caso alguém possa me ajudar.


      ObjectCreate(0,"Teste",OBJ_TRENDBYANGLE,0,time[3],high[3],time[1],high[1]);

      double teste2 = ObjectGetDouble(0,"Teste",OBJPROP_ANGLE);

      Print(teste2);



Toda vez que eu faço o teste, ele em vez de me retornar o valor do ângulo dessa trend, ele altera para 90 graus sempre.


Aguardo retorno e desde já, obrigado!

Eu não estou no PC agora, mas faz um teste...

1) Apague do seu código a criação da linha (comente)

2) crie uma linha manualmente e mude o nome dela para Teste

3) execute seu programa para ver se vai pegar o ângulo corretamente.

Me parece que o problema está na criação da sua linha....

Veja aí e nos avisa aqui.

Abs
 
Ricardo Branco #:
Eu não estou no PC agora, mas faz um teste...

1) Apague do seu código a criação da linha (comente)

2) crie uma linha manualmente e mude o nome dela para Teste

3) execute seu programa para ver se vai pegar o ângulo corretamente.

Me parece que o problema está na criação da sua linha....

Veja aí e nos avisa aqui.

Abs

Ricardo...exatamente.


Acabei de fazer um teste e funcionou. Criei e ele me retornou o ângulo corretamente.

Então qual seria o erro na minha criação da TrendLinebyAngle?

 
Rafael Sekiguchi #:

Ricardo...exatamente.


Acabei de fazer um teste e funcionou. Criei e ele me retornou o ângulo corretamente.

Então qual seria o erro na minha criação da TrendLinebyAngle?

double angulo = 45;

Antes de tentar pegar o ângulo, experimente setar =  ObjectSetDouble( 0,OBJPROP_ANGLE,angulo);

Quando você setar o ângulo o valor do segundo ponto será redefindo automaticamente e, como o seu interesse é o ângulo, vai conseguir o que deseja.

Sucesso por aí.
 
Boa noite... eu queria verificar o valor do raio dessa TREND sem ser pelo ponto de ancoragem. É possível? ou existe já algum método que me retorno o preço de uma TREND por candle?
 
Rafael Sekiguchi #:
Boa noite... eu queria verificar o valor do raio dessa TREND sem ser pelo ponto de ancoragem. É possível? ou existe já algum método que me retorno o preço de uma TREND por candle?

Com função interna não. 

Terá de utilizar das funções matemáticas para criar seus cálculos. 

O radio deverá ser tratado pois o diâmetro (seu radiano) estará sendo contado com candles enquanto que a tangente virá em pontos. 

Afim de equiparar pode se utilizar de uma aproximação com a constante M_PI * 2

Depois você verifica quantos radianos tem no arco tangente (função atan() lhe devolve isso) e encontra o ângulo com a fórmula  xRadianos × 180/M_PI

 
Adailton Silva #:

Com função interna não. 

Terá de utilizar das funções matemáticas para criar seus cálculos. 

O radio deverá ser tratado pois o diâmetro (seu radiano) estará sendo contado com candles enquanto que a tangente virá em pontos. 

Afim de equiparar pode se utilizar de uma aproximação com a constante M_PI * 2

Depois você verifica quantos radianos tem no arco tangente (função atan() lhe devolve isso) e encontra o ângulo com a fórmula  xRadianos × 180/M_PI

Amigo, consegui aqui... tive que realmente fazer os cálculos externos. Obrigado
Razão: