Zeichnen eines Quadrats oder Rechtecks. Ich brauche wirklich Hilfe... - Seite 8

 
evillive:

Ich habe ein Beispiel für ein funktionierendes Skript gegeben. Wir müssen es um Pfeile und Trendlinien ergänzen und es für H4 statt für den Monat neu erstellen. Alles, was Sie tun müssen, ist, sich von dem Konzept des Indikators zu lösen und das Problem aus einem anderen Blickwinkel zu betrachten.

Diese Zeile wurde aus dem Drehbuch übernommen. Das Skript ist sehr nützlich. Ich danke Ihnen.

Die Trendlinie wird für den gesamten Zeitraum in einer geraden Linie aufgetragen. Ich brauche es, um von hoch zu hoch zu gehen. "Zaun" also.

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

Das Lesen der Hilfe hilft Ihnen, die Programmiersprache zu erlernen. Wenn Sie dann etwas in der Hilfe nicht verstehen, können Sie Fragen stellen.

Wie können Sie jemanden beraten, der die Dokumentation nicht gelesen hat und keine Ahnung hat, wo SetIndexStyle(0, DRAW_SECTION);; zu platzieren ist, und es mit Verwirrung in OnCalculate einfügt?

Sie haben keine Erfahrung, deshalb machen Sie dumme Fehler.

Wie Kiyosaki sagt. Machen Sie zuerst einen Fehler, und analysieren Sie ihn dann. Zu verstehen, was falsch gemacht wurde.

 
Alex_Profit:

Diese Zeile wurde aus dem Drehbuch übernommen. Das Skript ist sehr nützlich. Ich danke Ihnen.

Die Trendlinie wird für den gesamten Zeitraum gezeichnet, aber in einer geraden Linie. Ich brauche ein Hoch und ein Hoch. "Zaun".

Denk nach, Kopf, ich gebe dir einen Kuchen ))))

Hier ist aufOBJ_TRENDund müssen die Hilfe zu lesen. Welche Linie sollte sich ergeben, wenn die Zeit an beiden Punkten gleich ist?

Und nein, das ist nicht mein Drehbuch.

 
evillive:

Dies ist derOBJ_TRENDund die Hilfe sollte gelesen werden, wie und was dort steht.Welche Linie ergibt sich, wenn die Zeit an beiden Punkten dieselbe ist?

bzw. eine gerade Linie.

Ich verstehe nicht, wie man den 2. Ankerpunkt findet. Es ist auch klar, wo er eingefügt werden muss.

 

Auch dafür danke ich Ihnen. Sie waren mir eine große Hilfe. Es ist nur schade, dass ich nicht alles herausfinden konnte, es gibt nicht mehr viel zu tun.

Wie auch immer, ich danke Ihnen für Ihr Entgegenkommen. Ich wünsche Ihnen weitere Gewinne und ein schönes Wochenende.

 

Guten Tag zusammen. Ich bitte die Experten um Hilfe. Ich habe diesen Code.

Was sollte korrigiert werden, um sicherzustellen, dass die Trendlinie auf den Höchstwerten der täglichen TF gezeichnet wird?

Ich brauche es wirklich. Bitte um Hilfe.

#property indicator_chart_window
#property strict
extern int   limit = 30;
extern bool  Sho_bars = true;
string txt = "TRADE_";
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
   GetDellName (txt);
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limits;
   int counted_bars=IndicatorCounted();   
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limits = Bars-counted_bars;        
//----
   if(limits>0)                      
   {
    for(int i=limit; i>=0; i--)
    {
     double   _High      = iHigh(Symbol(), 1440,i);   
     double   _Low       = iLow(Symbol(),  1440,i);   
     double   _Open      = iOpen(Symbol(), 1440,i);   
     double   _Close     = iClose(Symbol(),1440,i);                
     datetime _Time_Open = iTime(Symbol(), 1440,i);      // Открытие бара
     //datetime _start_day = 11*60*60;                   // Начало дня  
     datetime _End_Day   = 1440*60;                      // Конец дня 
       
     string   _Time_Open_txt  = TimeToStr(_Time_Open,TIME_DATE ); // Преобразуем время открытия в строку   
     if(Sho_bars)
      {
       // Функция рисующая объекты на графике
       TrendLineGraff(txt + _Time_Open_txt +" start_day",_Time_Open,_High,_Time_Open,_Low);                      // левая граница     
       TrendLineGraff(txt + _Time_Open_txt +" End_Day",_Time_Open + _End_Day,_High,_Time_Open + _End_Day, _Low); // правая граница           
       TrendLineGraff(txt + _Time_Open_txt +" High",_Time_Open,_High,_Time_Open + _End_Day,_High);               // верхняя граница  
       TrendLineGraff(txt + _Time_Open_txt +" Low",_Time_Open,_Low,_Time_Open + _End_Day,_Low);                  // нижняя граница      
       
       TrendLineGraff(txt + _Time_Open_txt + " T_Line", _Time_Open, _Open, _Time_Open + _End_Day, _Close);
      }          
   }
 }  
   return(0);
  }
//+------------------------------------------------------------------+
//| Функция отображения трендовой линии                              |
//+------------------------------------------------------------------+
 void TrendLineGraff(string labebe,datetime time1,double price1,datetime time2,double price2)
  {
   if (ObjectFind(labebe)!=-1) ObjectDelete(labebe);
   ObjectCreate(labebe, OBJ_TREND, 0,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR,clrDarkOrchid);
   ObjectSet(labebe, OBJPROP_STYLE,0);
   ObjectSet(labebe, OBJPROP_RAY,0);
   ObjectSet(labebe, OBJPROP_BACK, true);
  }
//+------------------------------------------------------------------+
//| Функция удаляет объекты                                          |
//+------------------------------------------------------------------+

 void GetDellName (string name_n = "ytg_")
  {
   string vName;
   for(int i=ObjectsTotal()-1; i>=0;i--)
    {
     vName = ObjectName(i);
     if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);
    }  
  }
//+------------------------------------------------------------------+
 
Alex_Profit:

Guten Tag zusammen. Ich bitte die Experten um Hilfe. Ich habe diesen Code.

Was sollte korrigiert werden, um sicherzustellen, dass die Trendlinie auf den Höchstwerten der täglichen TF gezeichnet wird?

Ich brauche es wirklich. Bitte um Hilfe.

Wenn Sie mit Daten einer anderen TF arbeiten, sollten die Balken von dieser berechnet werden. Aber diese Lektion ist sinnlos...

iBars()!!!

Und anstatt Objekte zu löschen, können wir allen Objekten ein eindeutiges Präfix geben (in diesem Fall ist es"TRADE_") und sie alle auf einmal in deinit mit der Funktion ObjectsDeleteAll() löschen.

Hier ist es: datetime _End_Day = 1440*60;// Ende des Tages -es ist gar nicht "Ende des Tages", es ist zwei Monate später))) Der Wert "Ende des Tages" wird nicht benötigt, da es sich um den Beginn des nächsten Tages handelt und der Indikator die Linie ohnehin dort zieht.

 
evillive:

Wenn Sie mit Daten einer anderen TF arbeiten, sollten die Balken auch aus dieser TF berechnet werden. Aber die Lektion ist nicht nützlich...

iBars()!!!

Es tut mir leid. Aber ich verstehe es immer noch nicht. Kann ich das einfach im Code korrigieren?

Und auch als Beispiel. Mit Beispielen ist es immer einfacher.

Ich brauche es wirklich. Danke, Mann.

 
Alex_Profit:

Das tut mir sehr leid. Aber ich verstehe es immer noch nicht. Können wir das einfach im Code korrigieren?

Und auch als Beispiel. Mit Beispielen ist es immer einfacher.

Ich brauche es wirklich. Danke, Mann.

Was ist also das Ergebnis? Hat es funktioniert?