Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 26

 
atztek:

Los topes de los indicadores, ya que en el futuro la solución no sólo se utilizará para las líneas rectas, sino también para las medias móviles y otros tipos de líneas.


Tal vez usted puede especificar lo que quiere terminar con
 
Hola! Si me pueden mostrar cómo medir la pendiente de la tendencia y mostrar el valor de la pendiente
 
Quiero medir la pendiente del medio y mostrar como -35 grados
 
igor2013:
Quiero medir la pendiente del medio y mostrar como -35 grados

¿Qué es -35° en el gráfico? ¿Y si la escala cambia?
 
Vinin:

Tal vez debería especificar lo que quiere terminar con

En el ejemplo anterior, la línea se dibuja utilizando el búfer del indicador a lo largo de toda la historia.
Debería limitarse sólo a los últimos 20 compases. Es decir, cuando aparece una nueva barra, la línea se extiende hacia la derecha y se acorta hacia la izquierda, de modo que su longitud es siempre igual a 20 barras.
 

No entiendo bien lo que estoy escribiendo en el código, pero sigo viendo el mismo número en la pantalla, aunque cuando muevo el cursor a la línea, veo que los grados cambian.

ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0); // ------------------------- coordenadas de la línea de tendencia 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Width
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Color
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordenada temporal
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordenada temporal
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordenada de precio
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordenadas de precio
ObjectSet ("TremdLineAverage", OBJPROP_RAY, 15); Ugol=15;

 
Arriba es 15 y abajo es -15.
 
ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0); // ------------------------- coordenadas de la línea de tendencia 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Width
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Color
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordenada temporal
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordenada temporal
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordenada de precio
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordenadas de precio
ObjectSet ("TremdLineAverage", OBJPROP_ANGLE, 15); Ugol=15;
 
Gracias.
 
igor2013:
Gracias por sus comentarios.

Una función preparada, pruébala.

La función SetTLineByAngle().

Esta función establece el objeto OBJ_TRENDBYANGLE por el ángulo de inclinación en el gráfico actual.
cl - Color del objeto TRENDBYANGLE. Parámetro obligatorio.
nm - Nombre del objeto. Cuando se pasa el valor por defecto - "", se utiliza como nombre la hora de apertura de la barra actual.
t1 - Primera coordenada del tiempo de ajuste del objeto. Valor por defecto - 0 - tiempo de apertura del décimo compás.
p1 - Primera coordenada del objeto que fija el precio. Valor por defecto - 0 - mínimo de la décima barra.
t2 - Segunda coordenada del tiempo de ajuste del objeto. Valor por defecto - 0 - tiempo de apertura de la barra actual.
p2 - Segunda coordenada del objeto que fija el precio. Este parámetro es una especie de interruptor. Su valor no nulo equipara esta función a SetTLine(), es decir, se dibujará una línea de tendencia utilizando el par de coordenadas tiempo/precio, mientras que el valor del ángulo de la pendiente de la línea de tendencia se ignorará. Valor por defecto - 0 - construcción de la línea de tendencia por el ángulo de la pendiente.
an - Ángulo de inclinación en grados. Valor por defecto - 0 - Línea horizontal.
ry - Bandera de la propiedad BOW. El valor por defecto es False.
st - Estilo de línea. Los valores válidos son STYLE_SOLID (por defecto), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT.
wd - Ancho de línea. El valor por defecto es 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);
}