Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 563

 
AlexeyVik:

Nun, dann müssen Sie herausfinden, was Sie zuerst schreiben wollen, einen EA oder einen Indikator...

Vielleicht habe ich etwas übersehen, aber ich habe es so verstanden, dass es ein Indikator sein wird...

Ich habe bereits einen Indikator. EA auch, aber ich bin nicht zufrieden mit der Geschwindigkeit der Optimierung.

Ich habe einige Saiten gewechselt und es scheint, dass die Geschwindigkeit besser geworden ist. Ich weiß nicht, ob das richtig ist?

int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4; 
limit1=Bars-counted_bars-1;
   limit2=limit1;
   limit3=limit2;
   limit4=limit3;
   if(limit1>0) 
     {
      limit1=limit1-Period_MA_1-1;
      limit2=limit1-p2;
      limit3=limit2-p3;
      limit4=limit3-p4;
     }

Ich habe Bars innerhalb des bedingten Operators durch limit1 ersetzt.

Wenn ich richtig verstanden habe

limit1=Bars-counted_bars;//расчитываем количество непосчитанных баров

und dann subtrahieren wir die Periode und berechnen den Rest der Variablen.

Eine Sache, die ich nicht verstehe: Wenn Bars die Anzahl der Takte im Fenster ist, ziehen wir die nicht gezählten Takte davon ab.

Je mehr ungezählte Einsen wir haben, desto kleiner ist die Zahl, die wir nach der Subtraktion erhalten, und desto weniger Iterationen gibt es in der Schleife.

Aber es ist genau umgekehrt. So, IndicatorCounted(), einfach ausgedrückt, ist, wie viele Bars älter als die erste?

Der Originalcode befindet sich auf S. 560. Nur ohne diese Zeilen:

double impuls;
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
 

wie diese

int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4;
   double impuls;
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
 
   limit1=Bars-counted_bars-1;
   for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];
   for(i=limit1;i>=0;i--) ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1, 0, p2, 0, MODE_EMA,i);
   for(i=limit1;i>=0;i--) ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer2, 0, p3, 0, MODE_EMA,i);
   for(i=limit1;i>=0;i--) ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p4, 0, MODE_EMA,i);
   return(0);
  }
 
alxm:

Die Beschriftung folgt nicht der Grafik...

Jetzt versuchtOBJPROP_XSIZE Eigenschaft von LABEL Objekt, es funktioniert auch nicht. D.h. es wird 0 zurückgegeben. Wird sie nicht umgesetzt?
 
alxm:

Jetzt habe ich versucht,die OBJPROP_XSIZE-Eigenschaft des LABEL-Objekts zu verwenden, aber auch das funktioniert nicht. Er gibt 0 zurück. Wird sie nicht umgesetzt?

Ich habe es nicht mit OBJ_LABEL überprüft, aber es funktioniert mit OBJ_EDIT. Übrigens können Sie auch OBJ_LABEL anstelle von OBJ_LABELverwenden, was noch interessanter ist, und die Hintergrundfarbe und die Farbe des Rahmens können eingestellt werden. Wenn wir OBJPROP_READONLY = true setzen, werden Siees nicht von OBJ_LABELunterscheiden können.


Das sieht folgendermaßen aus. SPREAD 30 ist OBJ_LABELund der Rest ist OBJ_EDIT .

Ja, ich habe es überprüft, es funktioniert nicht mit OBJ_LABEL.

 
AlexeyVik:

Ich habe es nicht mit OBJ_LABEL überprüft, aber es funktioniert mit OBJ_EDIT. Übrigens können Sie auch OBJ_LABEL anstelle von OBJ_LABELverwenden, was noch interessanter ist, und die Hintergrundfarbe und die Farbe des Rahmens können eingestellt werden. Wenn Sie OBJPROP_READONLY = true setzen, können Siees nicht von OBJ_LABELunterscheiden.


Es sieht so aus. SPREAD 30 ist OBJ_LABELund der Rest ist OBJ_EDIT .

Ja, ich habe es überprüft, es funktioniert nicht mit OBJ_LABEL.


Ich danke Ihnen! Können Sie mir sagen, wie ich mit TextOut eine Textzeile auf dem Bildschirm anzeigen kann? Ich konnte es nicht herausfinden mit Hilfe von
 
alxm:

Ich danke Ihnen! Können Sie mir sagen, wie ich mit TextOut eine Textzeile auf dem Bildschirm anzeigen kann? Ich konnte es aus der Hilfe nicht herausfinden.
Ich habe nicht versucht, es herauszufinden. Vielleicht kann mir das jemand bei MQ sagen.Vielleicht erklären sie auch OBJPROP_XSIZE des OBJ_LABEL-Objekts ...
 
AlexeyVik:
Ich habe nicht versucht, es herauszufinden. Vielleicht kann mir das jemand von MQ sagen.Sie können auch OBJPROP_XSIZE des OBJ_LABEL-Objekts erklären...


An welche Zweigstelle kann ich eine Frage stellen?
 
Nennen Sie mir den Namen des Skripts - es zeigt die Historie der Trades in einem Demokonto.
 
Bitte raten Sie mir, wie ich dem EA erklären kann, dass er alles schließen soll, wenn der Bollinger berührt wird.
 
Hallo an alle .... können Sie mir sagen, wie man den Wert einer Variablen in einem Skript zu fixieren?