[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 331

 
drknn:

Stellen Sie sich vor, dass einige der Indikatoren so stark geschärft sind, dass der D1-Zeitrahmen für sie ein unheimlicher Ort ist. :) Kurz gesagt, Sie müssen sich den Code ansehen - höchstwahrscheinlich liegt die Ursache dort.
Die Tatsache, dass alles auf anderen Terminals funktioniert, hat mich verwirrt. Ich habe gerade den Fehler gefunden - das Angebot für 1970 im Bereich von 14000 GBP.
 

Ich muss wieder etwas mit den Puffern verwechselt haben. Bitte sehen Sie es sich an.

Die Aufgabe lautet wie folgt:

1) Die LSMA wird berechnet. Wenn [i]>[i+1] - Farbe ist grün, wenn [i]<[i+1] - Farbe ist rot. Damit ist alles klar.

2) Ich muss die Länge der Reihen von grünen und roten Werten finden und sie in einem Array speichern. Das ist das Problem, das ich selbst noch nicht lösen konnte.

//+------------------------------------------------------------------+
//|                                                   LSMA_Stat2.mq4 |
//|                                                       silhouette |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "silhouette"
#property link      "http://www.metaquotes.net"

#property copyright "silhouette"
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_color2 Green
#property indicator_color3 Red
//+------------------------------------------------------------------+
double BufferYellow[],BufferGreen[], BufferRed[];
int GreenSeries[], RedSeries[], g=0, r=0, gc=0, rc=0;
string Symb;

int init()
  {
   Symb=Symbol();
   
   SetIndexBuffer(0,BufferYellow);
   SetIndexBuffer(1,BufferGreen);
   SetIndexBuffer(2,BufferRed);
   
   SetIndexStyle(0,DRAW_LINE,EMPTY,2);
   SetIndexStyle(1,DRAW_LINE,EMPTY,2);
   SetIndexStyle(2,DRAW_LINE,EMPTY,2);  
   return(0);
  }

int deinit()
  {

   return(0);
  }

int start()
  {
   double tmp1, tmp2, LSMA;
   
   int counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars-1;
   if (limit>1) 
      limit=Bars-1;
      
   for(int i=limit; i>0; i--)
    {
     tmp1=iMA(Symb,Period(),34,0,MODE_SMA,0,i);
     tmp2=iMA(Symb,Period(),34,0,MODE_LWMA,0,i);
     LSMA=3.0*tmp2-2.0*tmp1;
      
     BufferYellow[i]=LSMA;
     BufferGreen[i]=LSMA;
     BufferRed[i]=LSMA;

     if(BufferYellow[i]>BufferYellow[i+1])
      {
       BufferRed[i]=EMPTY_VALUE;
      }
     else if(BufferYellow[i]<BufferYellow[i+1])
      {
       BufferGreen[i]=EMPTY_VALUE;
      }
     else
      {
       BufferRed[i]=EMPTY_VALUE;
       BufferGreen[i]=EMPTY_VALUE;
      }                        
      
     if(BufferGreen[i]!=EMPTY_VALUE && BufferRed[i]==EMPTY_VALUE)
      {
       g++;
      }
     if(BufferGreen[i]==EMPTY_VALUE && BufferRed[i]!=EMPTY_VALUE)
      {
       r++;
      }
     if(BufferGreen[i]==EMPTY_VALUE && BufferRed[i]==EMPTY_VALUE)
      {
       if(BufferGreen[i+1]!=EMPTY_VALUE)
        {
         GreenSeries[gc]=g;
         gc++;
         g=0;
        }
       if(BufferRed[i+1]!=EMPTY_VALUE)
        {
         RedSeries[rc]=r;
         rc++;
         r=0;
        }
      }              
    }
   return(0);
  }
 
silhouette:

Ich muss wieder etwas mit den Puffern durcheinander gebracht haben. Bitte sehen Sie es sich an.

Die Aufgabe lautet wie folgt:

1) Die LSMA wird berechnet. Wenn [i]>[i+1] - Farbe ist grün, wenn [i]<[i+1] - Farbe ist rot. Damit ist alles klar.

2) Ich muss die Länge der Reihen von grünen und roten Werten finden und sie in einem Array speichern. Das ist das Problem, das ich selbst noch nicht lösen konnte.


Was gibt es an diesem Indikator nicht zu mögen?
 
Vinin:

Warum gefällt Ihnen dieser Indikator nicht?

Vinin, ich habe es tatsächlich nach deinem Beispiel gemacht, aber der Punkt ist ein anderer: Es ist nicht die Berechnungsmethode an sich, die für mich wichtig ist (sei es die einfachste MA), sondern die Lösung des Problems in Punkt 2.

Ich benötige ein Array, das die Länge der grünen oder roten Reihen für die weitere Analyse speichert.

 
Bitte beraten Sie mich. Es gibt 2 virtuelle Gleichgewichtsdiagramme (für Verkaufs- und Kaufaufträge), die im wirklichen Leben stark voneinander abweichen können. Wie kann ich sie in irgendwelche relativen Einheiten umrechnen, um den Zeitpunkt der Kreuzung dieser Graphen zu bestimmen?
 
silhouette:

Vinin, ich habe es tatsächlich nach deinem Beispiel gemacht, aber der Punkt ist ein anderer: Es ist nicht die Berechnungsmethode an sich, die für mich wichtig ist (sei es die einfachste MA), sondern die Lösung des Problems in Punkt 2.

Ich benötige ein Array, das die Länge der grünen oder roten Reihen für die weitere Analyse speichert.


Warum brauchen Sie ein Array?
 
Vinin:

Warum brauchen Sie ein Array?
Für die anschließende statistische Analyse. In Excel, zum Beispiel.
 

Es gibt eine Bibliothek für den Maushandel https://www.mql5.com/ru/code/9671

Ich habe absolut kein Glück beim Anschließen, bitte helfen Sie mir.

Ich lade alle Dateien, die ich brauche, in den Expertenordner herunter und kompiliere dann, aber die Indikatoren haben immer noch schwarze Fenster ohne Daten.

Offensichtlich handelt es sich um einen kindischen Fehler, aber ich kann ihn seit 24 Stunden nicht mehr finden.


 
TheXpert:

Es ist nicht nötig, etwas zu falten. Das Archiv enthält bereits alle Dateien, Sie müssen das Archiv nur noch in den Terminal-Ordner entpacken und kompilieren.

Nur die Indikator-Dateien werden kompiliert, die Bibliotheken (mqh) müssen nicht kompiliert werden. Versuchen Sie, ein neues Terminal aufzustellen und daran zu üben.

 

Können Sie mir einen Tipp geben? Es gibt eine Schaltfläche "MQL4.community" im Terminal und wenn ich darauf klicke, öffnet sich Word mit der entsprechenden Seite, aber wenn ich versuche, auf einen Link zu klicken, erscheint ein Fenster, das besagt, dass es eine Einschränkung auf meinem Computer gibt! ???

Wie gehen Sie damit um? Ich danke Ihnen.

Grund der Beschwerde: