Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1130

 
The_Sheikh:

Wie diese


Nur mein Fall.

Hier ist ein Ausschnitt aus dem Beispiel für DRAW_COLOR_HISTOGRAM2 im Handbuch:

Hier plot_colors = 8, cols[] - Array mit verschiedenen Farben. Aber das Terminal akzeptiert keine Farben außer der ersten.

Weisen Sie dem ersten Bild ein Histogramm zu? Und der Farbpuffer kommt nach dem zweiten. Es sollte nach dem ersten gehen.

 
Artyom Trishkin:

Weisen Sie dem ersten Bild ein Histogramm zu? Und der Farbpuffer kommt nach dem zweiten. Es sollte nach dem ersten gehen.

Welche ist die erste? Welche Sekunde? Welche zuerst? Wovon reden wir hier?

Nennen Sie mir ein Beispiel, damit ich nicht um den heißen Brei herumreden muss.

 
The_Sheikh:
Was ist die erste? Welche zweite? Welche zuerst? Wovon reden wir hier?

Nennen Sie ein Beispiel, um nicht um den heißen Brei herumzureden.

Formulieren Sie Ihr Ziel. Beschreiben Sie, WAS Sie mit dem Indikator erreichen wollen.

 
Vladimir Karputov:

Nennen Sie Ihr Ziel. Beschreiben Sie, WAS Sie mit dem Indikator erreichen wollen.

Machst du dich darüber lustig?

https://www.mql5.com/ru/forum/6343/page1129#comment_13439765

 
The_Sheikh:

Wollen Sie mich auf den Arm nehmen?

https://www.mql5.com/ru/forum/6343/page1129#comment_13439765

Das ist nicht gut. Sie geben Fragmente von Phrasen wieder. In solchen Fällen lautet die allgemeine Antwort:Dokumentation.


Wenn Sie aufhören, zu schmollen und beleidigt zu sein, formulieren Sie, worum ich Sie bitte:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fragen von Anfängern MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2019.10.06 06:49

Definieren Sie Ihr Problem. Beschreiben Sie, WAS Sie mit dem Indikator erreichen wollen.

Es ist also überhaupt nicht klar, was Sie tun, und vor allem ist nicht klar, WARUM. Es ist nicht klar, was das Endziel ist - und deshalb kann niemand raten.
 
The_Sheikh:

Wie diese


Das ist genau mein Fall.

Hier ist ein Ausschnitt aus dem Beispiel für DRAW_COLOR_HISTOGRAM2 im Handbuch:

Hier ist plot_colors = 8, cols[] ist ein Array mit verschiedenen Farben. Das Terminal nimmt jedoch keine Farben außer der ersten wahr.

Dies ist genau das Gegenteil. Damit wird das Feld der zuzuweisenden Farben in dieser Codezeile aus der Dokumentation ausgefüllt

ColorHistogram_2Colors[i]=day; 
 
Vladimir Karputov:

Das ist nicht gut. Sie geben Fragmente von Phrasen wieder. In solchen Fällen lautet die allgemeine Antwort:Dokumentation.

Wenn Sie aufhören zu schmollen und beleidigt zu sein, formulieren Sie, worum ich Sie bitte:

Das heißt, es ist nicht klar, was Sie tun, und vor allem ist nicht klar, WARUM Sie es tun. Es ist nicht klar, was das Endziel ist - und deshalb kann niemand raten.

Ich habe eine Frage gestellt, auf das Problem hingewiesen und ein Beispiel gegeben, das sogar kompiliert werden kann. Wenn das bei Ihnen nicht funktioniert, dann haben Sie keine Ahnung, wovon Sie reden, und kennen daher die Antwort nicht. In solchen Fällen lautet die universelle Antwort, lesen zu lernen.

Wenn Sie aufhören, schlau zu sein, und lernen, Ihre eigenen Fragen zu lesen und zu formulieren, wird Ihnen das Thema klar werden.

Das ultimative Ziel: ein Histogramm mit jeder der vorgegebenen Farben zu zeichnen.


Alexey Viktorov:

Das ist genau das, was es nicht ist. Er füllt ein Array von Farben aus, die in dieser Codezeile aus der Dokumentation zugewiesen werden

Richtig, er füllt sich in einer Vielzahl von Farben. Und wie ich bereits schrieb, werden die Farben auf folgende Weise (aus dem Beispiel) korrekt ausgefüllt und angegeben:

#property indicator_color2 GrünC,RotC

...

Arr23[i]=0.0; //Grün

Arr23[i]=1.0; //Rot


Und das mit dieser Methode:

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC;)
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
...

Arr23[i]=0.0; //Grün

Arr23[i]=1.0; // Anstelle von Rot erhalten wir Schwarz (d. h. es ist keine Farbe angegeben)

 
The_Sheikh:
Wohin zuerst? Welche Sekunde? Welche zuerst? Wovon reden wir hier?

Nennen Sie mir ein Beispiel, damit ich nicht um den heißen Brei herumreden muss.

#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots 2

#define  GreenC 0x00FF00
#define  RedC 0x0000FF
#property indicator_type1 DRAW_NONE
#property indicator_type2 DRAW_COLOR_HISTOGRAM2
//#property indicator_color2 GreenC,RedC

double
Arr11[],
Arr21[],
Arr22[],
Arr23[];

void OnInit()
{
SetIndexBuffer(0,Arr11,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Arr21,INDICATOR_DATA);
SetIndexBuffer(2,Arr22,INDICATOR_DATA);
SetIndexBuffer(3,Arr23,INDICATOR_COLOR_INDEX);
IndicatorSetInteger(INDICATOR_DIGITS,Digits());
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,4);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
//PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);

Erstens. Zweitens. Drittens.

Sie legen den ersten Puffer als Farbhistogramm fest. Wofür ist die zweite? Und warum kommt der Farbpuffer nach dem zweiten Puffer, obwohl er nach dem ersten kommen sollte? Sie haben einen Farbpuffer von 3. Es sollte 2 sein.

 
Artyom Trishkin:

Erstens. Zweitens. Drittens.

Sie stellen den ersten Puffer auf den Farbhistogrammtyp ein. Wozu brauchen Sie den zweiten? Und warum kommt der Farbpuffer nach dem zweiten, wenn er nach dem ersten kommen sollte. Sie haben einen Farbpuffer von 3, es sollten aber 2 sein.

Artyom, du hast nicht bemerkt, dass der Typ DRAW_COLOR_HISTOGRAM2 ist und dass er zwei Datenpuffer und einen dritten Farbpuffer hat.

 
The_Sheikh:

Ich habe eine Frage gestellt, auf das Problem hingewiesen und ein Beispiel gegeben, das sogar zusammengestellt werden kann. Wenn es Ihnen nicht passt, dann haben Sie keine Ahnung, worum es geht, und kennen daher die Antwort nicht. In solchen Fällen lautet die universelle Antwort, lesen zu lernen.

Wenn Sie aufhören, schlau zu sein, und lernen, zu lesen und Ihre eigenen Fragen zu formulieren, wird Ihnen das Thema klar werden.

Das ultimative Ziel: ein Histogramm mit jeder der vorgegebenen Farben zu zeichnen.


Richtig, es füllt das Farbfeld aus. Und wie ich bereits schrieb, füllt die folgende Methode (aus dem Beispiel) die Farben aus und gibt sie korrekt an:

#property indicator_color2 GrünC,RotC

...

Arr23[i]=0.0; //Grün

Arr23[i]=1.0; //Rot


Und das mit dieser Methode:

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
...

Arr23[i]=0.0; //Grün

Arr23[i]=1.0; //Wir erhalten Schwarz anstelle von Rot (d.h. die Farbe ist nicht angegeben)

Und warum ist diese Zeile auskommentiert?

//#property indicator_color2 GreenC,RedC
Allerdings müssen auch andere Farben darin enthalten sein. Oder zumindest eine, aber es muss eine Erklärung abgegeben werden.
Grund der Beschwerde: