Les tampons indicateurs, car à l'avenir la solution ne sera pas seulement utilisée pour les lignes droites, mais aussi pour les moyennes mobiles et autres lignes.
Vous pouvez peut-être spécifier ce que vous voulez obtenir.
Vous devriez peut-être préciser ce que vous voulez obtenir.
Dans l'exemple ci-dessus, la ligne est dessinée en utilisant le tampon indicateur sur toute la longueur de l'historique. Il devrait être limité aux 20 dernières mesures. C'est-à-dire que lorsqu'une nouvelle barre apparaît, la ligne est allongée vers la droite et raccourcie vers la gauche, de sorte que sa longueur soit toujours égale à 20 barres.
Je ne comprends pas bien ce que j'écris dans le code, mais je continue à voir le même chiffre à l'écran, alors que lorsque je déplace le curseur sur la ligne, je vois les degrés changer.
ObjectDelete("TremdLineAverage") ; ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0) ; // ------------------------- coordonnées de la ligne de tendance 2 ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage) ; // ---------------------------------------- Largeur ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage) ; // --------------------------------------------- Couleur ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]) ; // ------------------------------- 1 coordonnée de temps ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]) ; // ------------------------------- 1 coordonnée temporelle ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1) ; // ----------------------------- 1 coordonnée de prix ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0) ; // ----------------------------- 2 coordonnées de prix ObjectSet ("TremdLineAverage", OBJPROP_RAY, 15) ; Ugol=15 ;
Cette fonction définit l'objet OBJ_TRENDBYANGLE par l'angle de pente dans le graphique courant. cl - Couleur de l'objet TRENDBYANGLE. Paramètre requis. nm - Nom de l'objet. Lorsque la valeur par défaut est passée - "", l'heure d'ouverture de la barre actuelle est utilisée comme nom. t1 - Première coordonnée du temps de réglage de l'objet. Valeur par défaut - 0 - temps d'ouverture de la dixième mesure. p1 - Première coordonnée de l'objet fixant le prix. Valeur par défaut - 0 - minimum de la dixième barre. t2 - Deuxième coordonnée du temps de réglage de l'objet. Valeur par défaut - 0 - temps d'ouverture de la barre actuelle. p2 - Deuxième coordonnée du prix de l'objet. Ce paramètre est une sorte de commutateur. Sa valeur non nulle assimile cette fonction à SetTLine(), c'est-à-dire qu'une ligne de tendance sera dessinée en utilisant le couple de coordonnées temps/prix, tandis que la valeur de l'angle de pente de la ligne de tendance sera ignorée. Valeur par défaut - 0 - construction de la ligne de tendance par angle de pente. an - Angle de pente en degrés. Valeur par défaut - 0 - Ligne horizontale. ry - Indicateur de la propriété BOW. La valeur par défaut est False. st - Style de ligne. Les valeurs valides sont STYLE_SOLID (par défaut), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT. wd - Largeur de la ligne. La valeur par défaut est 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);
}
Les tampons indicateurs, car à l'avenir la solution ne sera pas seulement utilisée pour les lignes droites, mais aussi pour les moyennes mobiles et autres lignes.
Vous pouvez peut-être spécifier ce que vous voulez obtenir.
Je veux mesurer la pente du milieu et afficher comme -35 degrés
Que représente -35° sur le graphique ? Et si l'échelle change ?
Vous devriez peut-être préciser ce que vous voulez obtenir.
Dans l'exemple ci-dessus, la ligne est dessinée en utilisant le tampon indicateur sur toute la longueur de l'historique.
Il devrait être limité aux 20 dernières mesures. C'est-à-dire que lorsqu'une nouvelle barre apparaît, la ligne est allongée vers la droite et raccourcie vers la gauche, de sorte que sa longueur soit toujours égale à 20 barres.
Je ne comprends pas bien ce que j'écris dans le code, mais je continue à voir le même chiffre à l'écran, alors que lorsque je déplace le curseur sur la ligne, je vois les degrés changer.
ObjectDelete("TremdLineAverage") ;
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0) ; // ------------------------- coordonnées de la ligne de tendance 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage) ; // ---------------------------------------- Largeur
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage) ; // --------------------------------------------- Couleur
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]) ; // ------------------------------- 1 coordonnée de temps
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]) ; // ------------------------------- 1 coordonnée temporelle
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1) ; // ----------------------------- 1 coordonnée de prix
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0) ; // ----------------------------- 2 coordonnées de prix
ObjectSet ("TremdLineAverage", OBJPROP_RAY, 15) ; Ugol=15 ;
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0) ; // ------------------------- coordonnées de la ligne de tendance 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage) ; // ---------------------------------------- Largeur
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage) ; // --------------------------------------------- Couleur
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]) ; // ------------------------------- 1 coordonnée de temps
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]) ; // ------------------------------- 1 coordonnée temporelle
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1) ; // ----------------------------- 1 coordonnée de prix
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0) ; // ----------------------------- 2 coordonnées de prix
ObjectSet ("TremdLineAverage", OBJPROP_ANGLE, 15) ; Ugol=15 ;
Merci pour vos commentaires.
Une fonction toute prête, essayez-la.
La fonction SetTLineByAngle().
Cette fonction définit l'objet OBJ_TRENDBYANGLE par l'angle de pente dans le graphique courant.
cl - Couleur de l'objet TRENDBYANGLE. Paramètre requis.
nm - Nom de l'objet. Lorsque la valeur par défaut est passée - "", l'heure d'ouverture de la barre actuelle est utilisée comme nom.
t1 - Première coordonnée du temps de réglage de l'objet. Valeur par défaut - 0 - temps d'ouverture de la dixième mesure.
p1 - Première coordonnée de l'objet fixant le prix. Valeur par défaut - 0 - minimum de la dixième barre.
t2 - Deuxième coordonnée du temps de réglage de l'objet. Valeur par défaut - 0 - temps d'ouverture de la barre actuelle.
p2 - Deuxième coordonnée du prix de l'objet. Ce paramètre est une sorte de commutateur. Sa valeur non nulle assimile cette fonction à SetTLine(), c'est-à-dire qu'une ligne de tendance sera dessinée en utilisant le couple de coordonnées temps/prix, tandis que la valeur de l'angle de pente de la ligne de tendance sera ignorée. Valeur par défaut - 0 - construction de la ligne de tendance par angle de pente.
an - Angle de pente en degrés. Valeur par défaut - 0 - Ligne horizontale.
ry - Indicateur de la propriété BOW. La valeur par défaut est False.
st - Style de ligne. Les valeurs valides sont STYLE_SOLID (par défaut), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT.
wd - Largeur de la ligne. La valeur par défaut est 1.