Wie lerne ich, grafische Objekte zu erstellen? MQL4. - Seite 6

 
         string   shortName="fraktalSDV"; 
         long   chart_ID=ChartID();        // ID графика
         int win_idx=ChartWindowFind(chart_ID,shortName);
         string nameobj=TimeToStr(Time[0]);
         string name=Time[0]+1; 
         Print("indikator=",win_idx);         
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 
           if(!ObjectCreate(chart_ID,name,OBJ_TREND,win_idx,Time[min1],minimum1,Time[1],Low_[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            }       
           ObjectSet(nameobj,OBJPROP_RAY,false); 
           ObjectSet(name,OBJPROP_RAY,false);
Trotzdem 1 Minus. Ich habe auch versucht, den Namen des Indikators in Kleinbuchstaben zu schreiben, auch das brachte nichts.
 
forexman77:
Trotzdem Minus 1. Ich habe auch versucht, den Namen des Indikators in Kleinbuchstaben zu schreiben, aber auch das brachte nichts.
Haben Sie win_idx=1; zugewiesen? Nehmen Sie einfach die Nummer des Unterfensters und stellen Sie sie gezielt ein.
 
Artyom Trishkin:
Haben Sie win_idx=1; zugewiesen? Nehmen Sie einfach die Nummer des Unterfensters und stellen Sie sie gezielt ein.

Ich habe es versucht, es hat nicht geholfen. Vielleicht liegt es am Indikator, aber die Trades scheinen sich korrekt zu öffnen?

Ich werde morgen weitermachen, ich muss jetzt ins Bett.

 

Ich habe in der Dokumentation gelesen, dass es besser ist, den Namen des Indikators mit Parametern zu versehen.

Im Indikator habe ich Folgendes getan:

IndicatorSetString(INDICATOR_SHORTNAME,"fraktalsdv("+Period_MA_1+","+ma_shift+","+price+","+Period_+")"); 

im Expert Advisor:

string   shortName="fraktalsdv("+Period_MA_1+","+ma_shift+","+price+","+Period_+")"; 

Das Fenster mit dem Indikator wird nicht erkannt.

 
forexman77:

Ich habe in der Dokumentation gelesen, dass es besser ist, den Namen des Indikators mit Parametern anzugeben.

Im Indikator habe ich Folgendes getan:

im Expert Advisor:

Das Fenster mit dem Indikator wird nicht erkannt.

Hier liegt eindeutig ein Problem in Ihrem Code vor, denn das Testskript findet problemlos Standardindikatoren, die im Unterfenster angezeigt werden.
 
Karputov Vladimir:
Das ist eindeutig ein Problem in Ihrem Code, denn das Testskript findet die Standardindikatoren, die im Unterfenster angezeigt werden, problemlos.

Es werden jedoch Geschäfte eröffnet, die auf dem Indikator basieren. Und der Indikator gibt korrekte Werte aus, wenn er im EA gedruckt wird.

Aus irgendeinem Grund denke ich, es ist, weil der Indikator nicht #property strenge Linie (es funktioniert nicht mit ihm)

 
forexman77:

Es werden jedoch Geschäfte eröffnet, die auf dem Indikator basieren. Und der Indikator gibt korrekte Werte aus, wenn er im EA gedruckt wird.

Irgendwie scheint es mir, dass der Indikator nicht #property strenge Linie (es funktioniert nicht mit ihm)

Nein, das ist es nicht. Versuchen Sie die Funktion WindowFind()
 
Artyom Trishkin:
Nein, das ist es nicht. Probieren Sie die Funktion WindowFind() aus.
Gibt -1 zurück.
 
forexman77:
Gibt -1 zurück.

Suchen Sie nach Fehlern. Indikatoren werden in der Regel gesucht durch

intChartWindowFind(
longchart_id,// Diagramm-ID
string indicator_shortname // Kurzname des Indikators, sieheINDICATOR_SHORTNAME

 
forexman77:

Es wurde kein Indikatorfenster erkannt.

Möchten Sie den Indikator finden, den der EA für die Berechnungen im Diagramm erstellt? Viel Glück!