Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 26

 
atztek:

Buffer di indicatori, poiché in futuro la soluzione non sarà utilizzata solo per le linee rette, ma anche per la media mobile e altre linee.


Forse puoi specificare cosa vuoi ottenere alla fine
 
Ciao! Se puoi mostrarmi come misurare la pendenza della tendenza e visualizzare il valore della pendenza
 
Voglio misurare la pendenza del centro e visualizzare come -35 gradi
 
igor2013:
Voglio misurare la pendenza del centro e visualizzare come -35 gradi

Che cos'è -35° sul grafico? E se la scala cambia?
 
Vinin:

Forse dovresti specificare cosa vuoi ottenere alla fine

Nell'esempio qui sopra, la linea è disegnata usando il buffer dell'indicatore per tutta la lunghezza della storia.
Dovrebbe essere limitato solo alle ultime 20 battute. Cioè, quando appare una nuova barra, la linea viene estesa a destra e accorciata a sinistra, in modo che la sua lunghezza sia sempre uguale a 20 barre.
 

Non capisco bene cosa sto scrivendo nel codice, ma continuo a vedere lo stesso numero sullo schermo, anche se quando sposto il cursore sulla linea, vedo i gradi cambiare.

ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0); // ------------------------- coordinate della trendline 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Larghezza
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Colore
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordinata temporale
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordinata temporale
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordinata del prezzo
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordinate di prezzo
ObjectSet ("TremdLineAverage", OBJPROP_RAY, 15); Ugol=15;

 
Su è 15 e giù è -15.
 
ObjectDelete("TremdLineAverage");
ObjectCreate("TremdLineAverage", OBJ_TRENDBYANGLE,0,0,0,0,0,0); // ------------------------- coordinate della trendline 2
ObjectSet ("TremdLineAverage", OBJPROP_WIDTH, HirinaUgolAverage); // ---------------------------------------- Larghezza
ObjectSet ("TremdLineAverage", OBJPROP_COLOR, colUgolAverage); // --------------------------------------------- Colore
ObjectSet ("TremdLineAverage", OBJPROP_TIME1 ,Time[1]); // ------------------------------- 1 coordinata temporale
ObjectSet ("TremdLineAverage", OBJPROP_TIME2 ,Time[0]); // ------------------------------- 1 coordinata temporale
ObjectSet ("TremdLineAverage", OBJPROP_PRICE1,UgolAverage1_1); // ----------------------------- 1 coordinata del prezzo
ObjectSet ("TremdLineAverage", OBJPROP_PRICE2,UgolAverage1_0); // ----------------------------- 2 coordinate di prezzo
ObjectSet ("TremdLineAverage", OBJPROP_ANGLE, 15); Ugol=15;
 
Grazie.
 
igor2013:
Grazie per il vostro feedback.

Una funzione già pronta, provatela.

La funzione SetTLineByAngle().

Questa funzione imposta l'oggetto OBJ_TRENDBYANGLE per l'angolo di pendenza nel grafico corrente.
cl - Colore dell'oggetto TRENDBYANGLE. Parametro richiesto.
nm - Nome dell'oggetto. Quando viene passato il valore predefinito - "", il tempo di apertura della barra corrente viene usato come nome.
t1 - Prima coordinata del tempo di impostazione dell'oggetto. Valore predefinito - 0 - tempo di apertura della decima barra.
p1 - Prima coordinata dell'oggetto che fissa il prezzo. Valore predefinito - 0 - minimo della decima barra.
t2 - Seconda coordinata del tempo di impostazione dell'oggetto. Valore predefinito - 0 - tempo aperto della barra corrente.
p2 - Seconda coordinata dell'oggetto che fissa il prezzo. Questo parametro è una specie di interruttore. Il suo valore diverso da zero equipara questa funzione a SetTLine(), cioè una linea di tendenza sarà disegnata usando la coppia di coordinate tempo/prezzo, mentre il valore dell'angolo di pendenza della linea di tendenza sarà ignorato. Valore predefinito - 0 - costruzione della linea di tendenza per angolo di pendenza.
an - Angolo di pendenza in gradi. Valore predefinito - 0 - Linea orizzontale.
ry - Flag della proprietà BOW. Il valore predefinito è False.
st - Stile di linea. I valori validi sono STYLE_SOLID (default), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT.
wd - Larghezza della linea. Il valore predefinito è 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);
}