Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 26

 
atztek:

Tampões indicadores, pois no futuro a solução não será usada apenas para linhas retas, mas também para linhas médias móveis e outros tipos de linhas.


Talvez você possa especificar com o que você quer acabar
 
Olá! se você puder me mostrar como medir a inclinação da tendência e exibir o valor da inclinação
 
Eu quero medir a inclinação do meio e mostrar como -35 graus
 
igor2013:
Eu quero medir a inclinação do meio e mostrar como -35 graus

O que é -35° no gráfico? E se a escala mudar?
 
Vinin:

Talvez você deva especificar com o que você quer acabar

No exemplo acima, a linha é traçada utilizando o buffer indicador ao longo de todo o histórico.
Deve ser limitado apenas às últimas 20 barras. Ou seja, quando uma nova barra aparece, a linha é estendida para a direita e encurtada para a esquerda, de modo que seu comprimento seja sempre igual a 20 barras.
 

Não entendo totalmente o que estou escrevendo no código, mas continuo vendo o mesmo número na tela, embora quando movo o cursor para a linha, eu veja os graus mudarem.

ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0,0); // ------------------------- coordenadas trendline 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Largura
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Cor
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordenada de tempo
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordenada de tempo
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordenada de preço
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordenadas de preço
ObjectSet ("TremdLineAverage", OBJPROP_RAY, 15); Ugol=15;

 
Acima é 15 e abaixo é -15.
 
ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0,0); // ------------------------- coordenadas trendline 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Largura
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Cor
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordenada de tempo
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordenada de tempo
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordenada de preço
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordenadas de preço
ObjectSet ("TremdLineAverage", OBJPROP_ANGLE, 15); Ugol=15;
 
Obrigado.
 
igor2013:
Obrigado por seu feedback.

Uma função já feita, experimente-a.

A função SetTLineByAngle().

Esta função define o objeto OBJ_TRENDBYANGLE pelo ângulo de inclinação no gráfico atual.
cl - Cor do objeto TRENDBYANGLE. Parâmetro necessário.
nm - Nome do objeto. Quando o valor padrão é passado - "", o tempo aberto da barra atual é usado como o nome.
t1 - Primeira coordenada do tempo de ajuste do objeto. Valor padrão - 0 - tempo de abertura da décima barra.
p1 - Primeira coordenada do objeto que fixa o preço. Valor padrão - 0 - mínimo da décima barra.
t2 - Segunda coordenada do tempo de ajuste do objeto. Valor padrão - 0 - tempo de abertura da barra atual.
p2 - Segunda coordenada do objeto que fixa o preço. Este parâmetro é uma espécie de interruptor. Seu valor não zero iguala esta função ao SetTLine(), ou seja, uma linha de tendência será desenhada usando o par de coordenadas tempo/preço, enquanto o valor do ângulo de inclinação da linha de tendência será ignorado. Valor padrão - 0 - construção de linha de tendência por ângulo de inclinação.
an - Ângulo de inclinação em graus. Valor padrão - 0 - Linha horizontal.
ry - Bandeira da propriedade BOW. O valor padrão é Falso.
st - Estilo de linha. Os valores válidos são STYLE_SOLID (padrão), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT.
wd - Largura da linha. O valor padrão é 1.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка объекта OBJ_TRENDBYANGLE трендовая линия по углу     |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               (  ""  - время открытия текущего бара)  |
//|    t1 - время открытия бара        (  0   - Time[10]                       |
//|    p1 - ценовой уровень            (  0   - Low[10])                       |
//|    t2 - время открытия бара        (  0   - время открытия текущего бара)  |
//|    p2 - ценовой уровень            (  0   - по углу)                       |
//|    an - угол                       (  0   - по умолчанию)                  |
//|    ry - луч                        (False - не луч)                        |
//|    st - стиль линии                (  0   - простая линия)                 |
//|    wd - ширина линии               (  1   - по умолчанию)                  |
//+----------------------------------------------------------------------------+
void SetTLineByAngle(color cl, string nm="",
              datetime t1=0, double p1=0, datetime t2=0, double p2=0,
              double an=0, bool ry=False, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[10];
  if (p1<=0) p1=Low[10];
  if (t2<=0) t2=Time[0];
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1 , t1);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_TIME2 , t2);
  if (p2>0) ObjectSet(nm, OBJPROP_PRICE2, p2);
  else ObjectSet(nm, OBJPROP_ANGLE, an);
  ObjectSet(nm, OBJPROP_COLOR, cl);
  ObjectSet(nm, OBJPROP_RAY  , ry);
  ObjectSet(nm, OBJPROP_STYLE, st);
  ObjectSet(nm, OBJPROP_WIDTH, wd);
}