Dessiner un carré ou un rectangle. J'ai vraiment besoin d'aide... - page 7

 
evillive:

Pour remplacer une coche par un autre symbole,OBJ_ARROW et ARROW_CODE.

C'est là que j'ai trouvé comment faire. Ça a marché.
 
AlexeyVik:

Qu'est-ce qu'on ne peut pas aimer dans

DRAW_SECTION

1

Les barres entre les valeurs non vides de la ligne

Parce qu'elle n'est pas dessinée correctement dans l'indicateur, de la façon dont elle est représentée maintenant, la ligne est dessinée à travers le tampon de l'indicateur non pas sur chaque H4, mais sur chaque barre du TF, sur lequel l'indicateur fonctionne. Pour éviter cela, vous devez soit réviser sérieusement le code, soit tracer les lignes avec des objets, ce qui est plus facile.

 
evillive:

Le fait qu'il soit dessiné dans cet indicateur de manière incorrecte, de la façon dont il est présenté maintenant, la ligne à travers le tampon de l'indicateur sera dessinée non pas sur chaque H4, mais sur chaque barre de la TF, sur laquelle l'indicateur fonctionne. Pour l'éviter, il faut soit modifier sérieusement le code, soit tracer des lignes par des objets, c'est plus facile.

Je n'insiste pas, c'est à chacun son métier. Mais le balisage vertical et la ligne indicatrice peuvent aller de pair dans un même code.

La seule chose qui me trouble, c'est qu'il faut le faire complètement pour l'expliquer. Je ne vous aiderai pas sur ce point, par principe. C'est pour ça que j'ai abandonné le tuyau.

 

Le premier point d'ancrage est là, il était en principe.

Comment trouver le deuxième point d'ancrage ?

   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); 

 

Dans cette variante, la ligne est dessinée dans son ensemble, mais en ligne droite.

"Et vous voulez que la fin de la ligne soit liée au prochain hai de la bougie H4".

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

La seule chose qui me gêne, c'est qu'il faut tout faire pour l'expliquer. Je n'aide pas par principe. C'est pourquoi j'ai abandonné les conseils.

C'est compréhensible, mais comment comprendre que vous ne demandiez pas d'aide ? Vous n'avez pas besoin de tout écrire.

Et cette communication "en passant" facilite l'apprentissage de la langue. Pour les débutants, il y a des tâches qui, sans aide, ne peuvent pas être résolues.

 
AlexeyVik:

Je n'insiste pas, chacun son truc. Mais le balisage vertical et la ligne indicatrice s'entendent bien dans le même code.


La question est de savoir comment comprendre ce processus. En outre, l'aide ne permet pas de répondre à toutes les questions.

 
Alex_Profit:


La question est de savoir comment comprendre ce processus. En outre, l'aide ne permet pas de répondre à toutes les questions.

J'ai donné un exemple de script fonctionnel, nous devons y ajouter des flèches et des lignes de tendance, et le refaire pour H4 au lieu de mois. Il suffit de s'éloigner du concept d'indicateur et de considérer le problème sous un angle différent.

Je ne vois pas l'utilité pratique d'un tel balisage - c'est une barrière mais qu'est-ce qu'on peut en tirer ?

 
evillive:

Je ne vois pas l'intérêt pratique d'un tel marquage, donc d'une clôture, mais qu'est-ce que vous en retirez ?

Chacun voit la clôture différemment.

"Je regarde les trous dans la clôture" au sens figuré.

 
Alex_Profit:


La question est de savoir comment comprendre ce processus. La question est de savoir comment comprendre le processus, et l'aide ne permet pas de répondre à toutes les questions.

C'est en lisant l'aide que vous apprendrez le langage de programmation. Et puis, si quelque chose dans l'aide n'est pas clair, vous pouvez poser des questions.

Comment pouvez-vous conseiller une personne qui n'a pas lu la documentation et qui n'a aucune idée de l'endroit où devrait se trouver SetIndexStyle(0, DRAW_SECTION) ; et qui l'insère dans OnCalculate avec perplexité ?

Alex_Profit:

Pas de changement pour une raison quelconque