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
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;
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);
}
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
Quiero medir la pendiente del medio y mostrar como -35 grados
¿Qué es -35° en el gráfico? ¿Y si la escala cambia?
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;
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 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.