Indikator Frage - Seite 5

 
Oh, eine letzte Frage

Ist es typischer, vorwärts oder rückwärts zu zählen, wenn man Indikatoren erstellt, die in EA's verwendet werden können.

Bereitet der eine mehr Probleme als der andere oder ist es nur eine Frage der Vorliebe und des Designs?

Bitte beraten

Danke

 
Werfen Sie hin und wieder einen Blick auf diesen Artikel: https: //www.mql5.com/en/articles/1456. Er kann ein wenig entmutigend sein, aber bleiben Sie dran, Stück für Stück, sobald Sie ihn verstanden haben, werden Sie etwas über Indikatoren, EAs und ihre Unterschiede gelernt haben.
 
Agent86:
Oh, eine letzte Frage

Ist es typischer, vorwärts oder rückwärts zu zählen, wenn man Indikatoren entwickelt, die in EA's verwendet werden können?

Bereitet das eine mehr Probleme als das andere oder ist es nur eine Frage der Vorliebe und des Designs?

Typischerweise zählen viele der Indikatoren, die ich gesehen habe, i++ aufwärts, was meiner bescheidenen Meinung nach falsch ist ... ein Chart baut sich von links nach rechts auf, alte Kerzen sind links, neue auf der rechten Seite. Wenn ein Indikator die alten Balken auf einem Chart verarbeitet (damit er dann mit der Verarbeitung der aktuellen Balken beginnen kann), sollte er dies dann nicht so tun, dass es repräsentativ für die Art und Weise ist, wie er auf Live-Daten arbeitet?

Technische Indikatoren sind nicht mein Ding, ich habe mich aus der Not heraus mit ihnen vertraut machen müssen, aber meine Erfahrung damit ist gering, ich würde auch andere Antworten von erfahreneren Leuten begrüßen.

 

In der Regel ist es für mich beim aktuellen Handel völlig unerheblich, wie viele Balken weit in der Vergangenheit gehandelt wurden. Nur vielleicht die Handvoll der jüngsten, in einem bestimmten Rahmen.

In dieser Hinsicht übertrage ich lieber die Logik des Indikators, wenn sie gut genug sind, in eine Funktion oder Bibliothek, die der EA direkt verwenden kann, anstatt iCustom aufzurufen und Puffer zu lesen, usw. Dies kann problematisch sein, vergessen Sie nicht.

Also, für mich ein guter Indikator ist eine, die in der Lage ist, mir zu erlauben, genau das zu tun.

 
Ich denke, ich werde mit jedem etwas experimentieren, aber es scheint mir, dass ich es vorziehen würde, vorwärts von 0 zu inkrementieren, aber wie inkrementieren die Standardindikatoren?

Wenn ich iFractals für etwas Nützliches in einem EA verwenden wollte, scheint es, als ob das Signal auf natürliche Weise entsteht; und wenn ich mich in der Zeit auf ein früheres iFractal beziehen wollte, dann würde ich die Verschiebung zu einem früheren iFractal i++.

Aber wenn ich mir die EAs anderer Leute ansehe und dort Indikatoren auf den Charts erscheinen. Verwenden sie iCustom-Indikatoren und Indikatoren, die sie hinzugefügt haben, oder werden diese normalerweise in den EA selbst eingefügt, und wenn Sie den EA öffnen, geschieht dies automatisch?

Ich versuche, das alles in Ordnung zu bringen.

 
RaptorUK:
Werfen Sie hin und wieder einen Blick auf diesen Artikel: https: //www.mql5.com/en/articles/1456 Es kann ein bisschen entmutigend sein, aber bleiben Sie dran, Stück für Stück, sobald Sie es verstehen, werden Sie über Indikatoren, EAs und ihre Unterschiede gelernt haben.
Ich danke Ihnen.

Ich muss einfach dranbleiben, ich will mich nicht weiter abmühen, sondern lieber alles lernen, was es über MQL4 gibt, damit ich meine eigenen Ideen programmieren und auch ein bisschen zur Codebasis beitragen kann.

Ich werde weiter lesen, danke nochmals
 
Hallo

Kann mir jemand bestätigen, ob ich diesen Code richtig interpretiere?

Bezieht sich meine Druckanweisung auf das vorherige iFractal?

//maybe something like this to count back to the previous iFractal for reference
//needs work     
    for(i=0; val1==val3; i++)
      {
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if (val1 > 0)
         {
         Print (val1, " = val1");
         }
        }
Das ist alles, was mir mit meinem begrenzten Wissen bisher einfiel.

Wie auch immer, gibt es etwas falsch mit dieser Methode, um zurück zu den vorherigen iFractal gehen, wenn in der Tat das ist, was ich hier erstellt haben.

Es scheint richtig in der Theorie von dem, was ich sagen kann?

Bitte beraten

Danke

 

Wenn Sie ein iFractal erhalten, ist der Wert > 0, ja?

Wenn Sie also zum Beispiel wissen wollen, wo die letzten UPPER und LOWER iFractals waren, machen Sie einfach etwas wie folgt

val1 = 0; val2 = 0; i = 0;

while( val1==0 && val2==0)
   {
   if (iFractals(NULL, 0, MODE_UPPER,i) > 0 && val1==0) val1 = i;
   if (iFractals(NULL, 0, MODE_LOWER,i) > 0 && val2==0) val2 = i;
   i++;
   }
Print("Last UPPER Fractal at ", val1, " Last LOWER Fractal at ", val2);
 
for(i=0; val1==val3; i++) <--- val1==val3??? This is indeed, "tricky"
       {
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if (val1 > 0)
         {
         Print (val1, " = val1");
         }
        }

Ehrlich gesagt sehe ich das zum ersten Mal, was die Bedingung für den Schleifenabbruch angeht. Seine ist knifflig ein...

 

Ich finde, das sieht cool aus ... Alles was du tun musst, ist es im Backtester zu testen. So würde ich es machen.

void start(){
   double val1=0,val3=0;
   for(int i=0; i<=3; i++){
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if(val1>val3){
        Print("Value_1="+val1+" TimeOf_Fractal="+TimeToStr(TimeCurrent()));
        break;
      }
   }
}

Ich weiß nicht mehr, wie Fraktale gebildet werden. Ich glaube, es wird am dritten Balken gebildet. Und es berücksichtigt die beiden Balken vor und nach ihm.

Speichern Sie den obigen Code als EA und führen Sie einen kurzen Backtest durch. Sie könnten den Indikator an denBacktest-Chart anhängen, um ihn zu bestätigen.

Hier ist, was ich bekam:

2011.10.06 06:38:49     2011.01.02 23:00  De_Bugger EURUSD,M1: Value_1=1.33710000 TimeOf_Fractal=2011.01.02 23:00
Grund der Beschwerde: