Dibujar un cuadrado o un rectángulo. Realmente necesito ayuda... - página 7

 
evillive:

Para sustituir una marca por otro símbolo,OBJ_ARROW y ARROW_CODE.

Aquí es donde descubrí cómo hacerlo. Ha funcionado.
 
AlexeyVik:

¿Qué es lo que no le gusta?

SECCIÓN_DRAW

1

Las barras entre los valores no vacíos de la línea

Debido a que no se dibuja correctamente en el indicador, en la forma en que se representa ahora, la línea se dibuja a través del búfer del indicador no en cada H4, sino en cada barra del TF, en el que el indicador se está ejecutando. Para evitarlo, hay que revisar seriamente el código o dibujar las líneas con objetos, que es más fácil.

 
evillive:

El hecho de que no se dibuja correctamente en ese indicador, en la forma en que se representa ahora, la línea a través de la memoria intermedia del indicador se dibujará no en cada H4, pero en cada barra de la TF, en la que el indicador se está ejecutando. Para evitarlo, hay que modificar seriamente el código o dibujar líneas por objetos, que es más fácil.

No insisto, cada uno tiene su propia opinión. Pero el marcado vertical y la línea indicadora pueden llevarse bien en un solo código.

Lo único que me confunde es que hay que hacerlo completamente para explicarlo. No te ayudaré con esto por principio. Por eso dejé el consejo.

 

El primer punto de anclaje está ahí, estaba en principio.

¿Cómo encuentro el segundo punto de anclaje?

   datetime t_Line = iTime(Symbol(),PERIOD_H4,i);         //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара
   CopyRates(_Symbol, PERIOD_H4, t_Line, 1, mqlRates);    //--- Структура для хранения информации 
   
   High_A = mqlRates[0].high; // глоб перем     Первая точка
   Time_A = t_Line;           // глоб перем
   
   High_B = mqlRates[0].high + mqlRates[0].high; // глоб перем      Вторая точка    (значение не правельное)
   Time_B = t_Line + t_Line;                      // глоб перем

    //+------------------------ Рисуем трендовые линии -----------------------------------------------------+                 
   ObjectCreate (Name_TLine + " TLine" + DoubleToStr(i,0),OBJ_TREND,0,Time_A,High_A,Time_B,High_B);         //--- Создаём обьект вертикальную линию
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_STYLE,2);              //--- Со стилем
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_COLOR,DimGray);        //--- Со цветом  
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_WIDTH,0);              //--- С  толщиной
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_BACK,0);               //--- С типом отображения. Объект на заднем плане
   ObjectSet    (Name_TLine + " TLine" + DoubleToStr(i,0),OBJPROP_RAY_RIGHT, false); 

 

En esta variante la línea se dibuja entera, pero en línea recta.

"Y quieres que el final de la línea esté ligado a la siguiente vela H4's hai".

         ObjectCreate    (0,Name_Obj + " V_Line" + DoubleToStr(i,0), OBJ_TREND, 0, t_Line, mqlRates[0].high, t_Line,mqlRates[0].low);
 
AlexeyVik:

Lo único que me avergüenza es que tengas que hacer todo el recorrido para explicarlo. No ayudo por principio. Por eso he renunciado a los consejos.

Eso es comprensible, pero ¿cómo se entiende que no se pida ayuda? No tienes que escribirlo todo.

Y esta comunicación "de paso" facilita el aprendizaje del idioma. Para los principiantes, hay tareas que, sin ayuda, no se pueden resolver.

 
AlexeyVik:

No insisto, a cada uno lo suyo. Pero la marca vertical y la línea indicadora se llevan bien en el mismo código.


La cuestión es cómo entender este proceso. Además, no todas las preguntas pueden responderse en la ayuda.

 
Alex_Profit:


La cuestión es cómo entender este proceso. Además, no todas las preguntas pueden responderse en la ayuda.

He dado un ejemplo de un script de trabajo, tenemos que añadir flechas y líneas de tendencia a la misma, y volver a hacerlo para H4 en lugar de mes. Sólo es necesario alejarse del concepto de indicador y mirar el problema desde un ángulo diferente.

No veo la utilidad práctica de ese marcado, es una valla pero ¿qué se puede sacar de ella?

 
evillive:

No veo el beneficio práctico de tales marcas, por lo que una valla, pero ¿qué se obtiene de ella?

Cada uno ve la valla de forma diferente.

"Miro los agujeros de la valla" en sentido figurado.

 
Alex_Profit:


La cuestión es cómo entender este proceso. La cuestión es cómo entender el proceso, y no todas las preguntas pueden responderse en la ayuda.

Leer la ayuda es lo que te ayuda a aprender el lenguaje de programación. Y luego, si algo en la ayuda no está claro, puedes hacer preguntas.

¿Cómo se puede aconsejar a una persona que no ha leído la documentación y no tiene ni idea de dónde debe estar SetIndexStyle(0, DRAW_SECTION); y lo inserta en OnCalculate con desconcierto?

Alex_Profit:

No hay cambios por alguna razón