[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 21

 
Sie brauchen die Größe nicht nachträglich zu ändern, sondern müssen sie nur deklarieren und sicherstellen, dass sie groß genug ist, bevor Sie die Daten einfügen.
 
   
   
   ArrayResize(SMA,limit);     //--- Размер различный задавал от 1 до Bars 
   ArrayInitialize(SMA,0);
   for(i=0;i<limit;i++){// bla bla bla
   SMA[i]=...........; // --- Заполнение массива.
   MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----MA1 буферный.
 
OK, ich hab's, danke. Aber wie stelle ich fest, ob die Größe ausreicht, wenn ich z. B. nur eine Variable im Array brauche? Ist es notwendig, 0 zu initialisieren?
 
Fox_RM:

Normalerweise mache ich das mit einer ungepufferten Version.

Zur Berechnung von iMAOnArray ist der 1. Wert NICHT ausreichend!!! Lesen Sie mehr über diese Funktion (ich habe in meinem vorherigen Beitrag einen Link angegeben).
 
Um einen Wert des Durchschnitts zu erhalten, müssen Sie die Periode der Eingabedaten analysieren, so dass die Größe des anfänglichen Arrays SMA[] nicht kleiner als Limit+Periode sein sollte - also habe ich hier einen Fehler gemacht ArrayRezize(SMA,Limit+Periode); Sie brauchen nicht zu initialisieren, jedenfalls werden Sie nicht weiter gehen als nötig.
 

wie der Indikator im Zyklus den Beginn eines neuen Tages definiert, habe ich es so:

if(TimeDay(Time[i]) != TimeDay(Time[i+1]));// новый день
Hat jemand einen besseren Entwurf als diesen?
 
Es ist alles klar. Ich danke Ihnen allen!
 
Können Sie mir sagen, wo ich den Quellcode für Autoregression, Extrapolation, etc. etc. bekommen kann, nicht unbedingt in mql.
 

Hallo! Mein Ziel ist es, den Indikator durch die Erstellung einer Funktion in den EA zu übertragen.

Der erste Schritt, nämlich die Erstellung der Funktion, ist getan. Aber der nächste Schritt - das Testen - funktioniert nicht.

Der Indikator zeichnet Kanäle. Es verfügt über 4 Puffer und eine Vielzahl von Variablen. Ich habe das alles in die Funktion eingefügt.

Aber wenn ich einen Test-EA erstelle, um sicherzustellen, dass er genau funktioniert, indem ich den Indikator und meine Funktion vergleiche, kann ich ihn nicht kompilieren.

Im EA sind ständig Fehler mit externen Variablen aufgetaucht, die nicht vorhanden waren, als ich die Funktion erstellt habe.

Bitte geben Sie mir einen Rat oder einen Link zu einem Beispiel. Ich habe die Artikel von GODZILLA verwendet, aber seine Beispiele sind anders als meine.

 
Helfen Sie mir, eine Bedingung zu schreiben, die den EA veranlasst, das Los nach dem Öffnen von n Aufträgen mit zwei Mal zu multiplizieren