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

 
Sepulca:


Dort scheint es etwas zu zeichnen.

Auch wenn ich noch nicht ganz

die Bedeutung des Indikators vollständig verstehen

Es geht darum, dass sich der Indikator bei einem Rückgang oder Anstieg, der 50 Pips nicht überschreitet, nicht vom vorherigen Wert unterscheidet,

die wir aufgezeichnet haben, wenn es keine Überschreitung gab. Und bei jeder Zecke vergleichen wir sie.

Liegt keine Überschreitung vor, wird eine gerade Linie gezeichnet; liegt eine Überschreitung vor, erhält der Indikator den aktuellen Wert.

Ungefähr.

den nachstehenden Code. Aber wenn ich es im Testprogramm ausführe, sehe ich, dass es im wirklichen Leben anders aussieht. Sie beginnt abzuweichen, wenn kein Überschuss vorhanden ist.

um die gleichen 50 Punkte. Ich kann sehen, dass es sich vor allem beim Anstieg verzögert und sich durch den Balken zu verändern beginnt.

Ich habe irgendwo einen Fehler gemacht, ich weiß nicht, wo.

//--- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_SECTION,0,1);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    raznica,raznica_static,MA_1_t,MA_2_t;
    
  if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars;
  static double MA_otshet; 
  for(int i=0;i<limit;i++)
   {    
      MA_1_t=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,i+0);  
      MA_2_t=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,i+1); 
      raznica=MA_1_t-MA_2_t;
      raznica_static=MA_1_t-MA_otshet;
      if(raznica_static > -0.005 && raznica_static < 0.005)
      {
      ExtMapBuffer1[i]=MA_otshet;
      }
      else
      if(raznica > -0.005 && raznica < 0.005)
      {
      ExtMapBuffer1[i]=MA_2_t;
      MA_otshet=MA_2_t;
      }
      if((raznica > 0.005) || (raznica <- 0.005))
      {
      ExtMapBuffer1[i]=MA_1_t;
      }  
   } 
   return(0);
  }
//+------------------------------------------------------------------+
 
ALXIMIKS:


Wollen Sie mich auf den Arm nehmen? Gestrichelte Linien haben keine andere Dicke als Standard (und in der Dokumentation irgendwo geschrieben wurde, kann ich nicht angeben, den Ort, aber ich erinnere mich, dass ich gelesen)

Wir beweisen:

1) eine normale Maske einwerfen

2) Eigenschaften von "Farben" eingeben

3) Linientyp einstellen - gestrichelte Linie

4) Wählen Sie Dicke 2-5.

Ergebnis: Aus einer gestrichelten Linie wird eine normale Linie.

Nun, das schreibe ich ohne die gepunktete Linie.
 
XuMuk:
Hallo zusammen!!! Ich habe versucht, selbst einen einfachen Experten zu schreiben. Aber es taucht ein Problem auf, das ich nicht verstehe. Hier ist ein einfaches Oszilloskop, das ich in einem Buch gefunden habe. Ich kompiliere es und es wird nichts angezeigt. Wenn Sie jedoch in der while-Schleife "-" anstelle der Division einsetzen, funktioniert alles.

Da haben Sie es, es zieht sogar

#property indicator_buffers 1
#property indicator_separate_window
extern int Period_valroc=10;
double Line0[];
int init()
  {
   SetIndexBuffer(0,Line0);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Magenta);

   return(0);
  }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i,Counted_bars=1000+Period_valroc;
    for (i=Counted_bars-1-Period_valroc; i>=0;i--)
      {
        Line0[i]=100*(Close[i]/Close[i+Period_valroc]);
//        i--;
      }
//----
   return(0);
  }

lila Ihr Truthahn)))

 

Abend.

Ich beschloss, die Historie herunterzuladen, und es gab nur ein Jahr USD|JPY.

Das erwies sich als schlechte Idee, ich bekam eine matschige Karte.

Wie kann man zum Anfang zurückkehren :(?

DoC: F r o u r !

Danke!

 
Forexman77:

Der Punkt ist, dass sich der Indikator bei einem Anstieg oder Rückgang von nicht mehr als 50 Pips nicht vom vorherigen Wert unterscheiden sollte,

die wir aufgezeichnet haben, wenn es keine Überschreitung gab. Und bei jeder Zecke vergleichen wir sie.

Liegt keine Überschreitung vor, wird eine gerade Linie gezeichnet; liegt eine Überschreitung vor, erhält der Indikator den aktuellen Wert.

Ungefähr.

den nachstehenden Code. Aber wenn ich es im Testprogramm ausführe, sehe ich, dass es in Wirklichkeit anders aussieht. Sie beginnt abzuweichen, wenn kein Überschuss vorhanden ist.

um die gleichen 50 Punkte. Ich kann sehen, dass es sich vor allem beim Anstieg verzögert und sich durch den Balken zu verändern beginnt.

Ich habe irgendwo einen Fehler gemacht, ich weiß nicht, wo.


Auf den ersten Blick ist das in Ordnung. Das Einzige ist, dass ich zum Beispiel Balkenzyklen von der Vergangenheit in die Zukunft bevorzuge: weniger Möglichkeiten, Indikatorwerte im Laufe der Geschichte zu ändern. Die Verzögerung könnte auf die Verwendung eines Muvings zurückzuführen sein (Sie haben eine 7-Periode), und das "Geplapper" könnte auf die Verwendung des Null-Bar-Schlusskurses zurückzuführen sein - er ändert sich ständig im Verlauf des Balkens.
 
VladislavVG:

Auf den ersten Blick scheint alles normal zu sein. Das Einzige, was ich zum Beispiel bevorzuge, sind Balkenzyklen von der Vergangenheit in die Zukunft: weniger Möglichkeiten, die Indikatorwerte im Laufe der Geschichte zu ändern. Die Verzögerung kann mit der Verwendung eines Muving (Sie haben ein 7-Perioden-Muving) zusammenhängen, und das "Chattering" - mit der Verwendung des Null-Bar-Schlusskurses - ändert sich ständig während des Balkens.

Die Zyklusbedingungen gemacht

for(int i=Bars-1;i>=0;i--)

Deutlich reduzierte Prüfgeschwindigkeit.

Um das zu überprüfen, habe ich dem Tester eine 7-Perioden-Muving hinzugefügt. Es gibt Abweichungen von 50 Punkten, aber der Indikator ändert sich nicht sofort.

 
Forexman77:

Die Zyklusbedingungen gemacht

Erhebliche Verringerung der Testgeschwindigkeit.



  for(int i=limit-1;i>=0;i--)

Der Rest ist derselbe wie in Ihrer Version.

Außerdem sollten Sie, IMHO, beim Vergleich keine absoluten Werte verwenden - 0,005 - besser 50*Punkt. Andernfalls werden Sie bei verschiedenen Paaren unterschiedliche Ergebnisse erhalten.

 
VladislavVG:

Der Rest ist derselbe wie in Ihrer Version.

Außerdem sollte man IMHO beim Vergleich keine absoluten Werte verwenden - 0,005 - besser 50*Punkt. Andernfalls werden Sie bei verschiedenen Paaren unterschiedliche Ergebnisse erhalten.

Ich danke Ihnen! Es scheint zu funktionieren.

Sind Sie auf etwas Ähnliches gestoßen? Wer könnte diese Idee umgesetzt haben?

Ich habe Kaufman's Schiebeanzeiger und Zickzack gefunden. Der Zickzack-Indikator ist im Grunde genommen ähnlich aufgebaut.

 
Forexman77:

Ich danke Ihnen! Es scheint zu funktionieren.

Haben Sie so etwas schon einmal gesehen? Vielleicht hat jemand diese Idee bereits umgesetzt?

Bislang habe ich Kaufmans Gleit- und Zickzack-Indikator gefunden. Der Zickzack-Indikator ist im Grunde genommen ähnlich aufgebaut.



Nein, so etwas habe ich nicht gesehen.
 
fozi:

Abend.

Ich beschloss, die Historie herunterzuladen, und es gab nur ein Jahr USD|JPY.

Das erwies sich als schlechte Idee, ich bekam eine matschige Karte.

Wie kann man zum Anfang zurückkehren :(?

DoC: F r o u r !

Danke!

Wenn Sie mit der rechten Maustaste auf das Diagramm klicken und "Aktualisieren" wählen ?