Gemeinschaft des Fachwissens - Seite 6

 
Welche Differenz wollen Sie finden? Array-Differenz? Arrays können also nicht addiert oder subtrahiert werden. finden Sie die Differenz Element für Element.
 
Welche Differenz wollen Sie finden? Array-Differenz? Wir können also keine Arrays addieren oder subtrahieren, sondern die Differenz Element für Element ermitteln.


Es ist uns nur nicht klar, chukchi, warum Sie sagen, wir versuchen, Arrays zu subtrahieren, wir tun, wie in der MKL4 Wörterbuch gezeigt:


double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



Bitte um Rat!

 
Danke, Slava, für den Tipp.

Hier ist der Code mit dem Fehler

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);
double ma_6C=iMAOnArray( ma_C, 0, 3*MA_period,0,MODE_SMA,1 );



Und hier ist ein Arbeiter

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);

 ma_6C=ma_C[1];

for(i=2; i<(3*MA_period); i++)
   {
      ma_6O+=ma_O[i];
      ma_6C+=ma_C[i];
   }

ma_6C/=(3*MA_period);
 
Das Thema wurde auf http://forum.viac.ru/viewtopic.php?t=2973 verschoben.
 
Das Thema wurde auf http://forum.viac.ru/viewtopic.php?t=2973 verschoben.
 
Das Thema wurde auf http://forum.viac.ru/viewtopic.php?t=2973 verschoben.
 
Eine Frage an diejenigen, die mit den Tiefen von MKL4 vertraut sind.

Gibt es einen Standardbefehl, mit dem der Experte
um den Schnittpunkt der Durchschnittswerte zu sehen. Zum Beispiel kreuzt ein Durchschnitt der Periode 5 einen Durchschnitt
der Periode 20. Kann der Expert Advisor als Person den Moment der Kreuzung sehen,
Gibt es eine Standardfunktion oder einen Standardbefehl für diese Art von Aufgaben?

Die folgende Abbildung zeigt den Schnittpunkt der roten und grünen Durchschnittswerte als
Es ist ein Beispiel dafür, was der Expert Advisor sehen und mit diesem Signal arbeiten sollte.
 
M1 - erstes Gleiten,
M2 ist die zweite Rutsche.

Wir müssen die Vorzeichen der Differenzen (M1 - M2) vergleichen
für den aktuellen und den vorherigen Balken.
Wenn sie unterschiedlich sind, bedeutet dies, dass es eine Kreuzung gibt.
Der Sonderfall liegt vor, wenn eine der Differenzen = 0 ist.

So kann man es machen
if ((M1[0] - M2[0]) != 0)
{ 
   double R = 0;
   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);
   if ((M1[0] - M2[0]) * R < 0)
   {
      // Знаки разные, есть пересечение ..........
   }
}



(habe es selbst nicht überprüft)

 
...Gibt es einen Standardbefehl, der es Expert Advisor<br / translate="no"> ermöglicht, den Crossover von Durchschnitten zu sehen.

Es gibt keine Standardlösung.
Kann der Expert Advisor den Zeitpunkt der Überkreuzung wie ein Mensch sehen,
Gibt es eine Standardfunktion oder einen Befehl für solche Dinge?

Einfach
...als Beispiel dafür, was der Expert Advisor sehen und mit diesem Signal arbeiten sollte.

siehe iMAOnArray-Wörterbuch, dort gibt es sogar ein Beispiel mit Schnittpunkt
nur für den Fall
   double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



2Sysadmin, die "Enter"-Schaltfläche ist wieder versteckt. Außerdem wurde, soweit ich weiß, [pre] durch [code] ersetzt?

 
Warum unterziehen Sie sich dieser Operation und was bewirkt sie?

   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);