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

 

Hallo.

Können Sie mir sagen, welche Änderungen ich am Code vornehmen sollte, damit das Trailing sofort ausgelöst wird und nicht erst, nachdem ich in den Gewinn gegangen bin.

Dateien:
 
Können Sie mir sagen, wie ich den Höchst- und Tiefstwert des letzten Balkens ermitteln kann?
 
strongest:
Wie erhalte ich den Höchst- und Tiefstwert des letzten Balkens?


Higth[0]

Niedrig[0]

ist der letzte Balken, der noch gezeichnet wird. Wenn Sie wollen, dass es beendet wird, wird es 1 statt 0 sein.

 

Können Sie mir einen Tipp geben?

1. Wie rufe ich die Klimov-Funktion GetTypeLastOpenPos() auf? und

2. Wie erhält man das Ergebnis?

Irgendetwas funktioniert nicht, die Kompilierung ergibt einen Fehler beim Ausgleich der Klammern, obwohl die Klammern in Ordnung sind. Ich danke Ihnen!

 
yosuf:
Leider hat niemand auf den Fehler geantwortet, der bei der Installation des 438. Builds auftritt https://www.mql5.com/ru/forum/138609/page425

Ich werde dir antworten, Yusuf. Diese Aktualisierungen sind bei mir immer eine Art Schamanismus. Ich habe die Terminals im Stammverzeichnis meines Laufwerks D in Ordnern mit meinen Namen. In der Vergangenheit hat es manchmal geholfen, sie vorübergehend nach C:\Programme zu verschieben und dann nach einer erfolgreichen Aktualisierung wieder zurück. Nun, wie Sie, lief 432 Build, bekam eine Benachrichtigung, 438 zu installieren. Einverstanden, fast alles geladen, Terminal neu gebootet und nichts, kein Update. Wieder eine Meldung, wieder OK, und so ist viermal später der 438ste Build fertig.

IMHO, hier ist das Problem im Zusammenhang mit der Verwendung von aktualisierbaren Software-Registrierung von Windows, und seine Versionen (Windows) haben unterschiedliche Strukturen Registry. Wenn Sie 7 haben - versuchen Sie, den Terminal-Ordner in Programm ...(x86) zu kopieren, wenn XP - einfach in Programme. Ich versichere Ihnen, dass sie aktualisiert wird und dann wieder an ihren Platz zurückkehrt. Bitte lassen Sie mich wissen, wie es geworden ist!

 
borilunad:

Können Sie mir einen Tipp geben?

1. Wie rufe ich die Klimov-Funktion GetTypeLastOpenPos() auf? und

2. Wie erhält man das Ergebnis?

Irgendetwas funktioniert nicht, die Kompilierung ergibt einen Fehler beim Ausgleich der Klammern, obwohl die Klammern in Ordnung sind. Ich danke Ihnen!

int GetTypeLastOpenPos(string sy="", int mn=-1) 
{
  datetime t;
  int      i, k=OrdersTotal(), r=-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) 
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
    {
      if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)) 
      {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
        {
          if (t<OrderOpenTime()) 
          {
            t=OrderOpenTime();
            r=OrderType();
          }
        }
      }
    }
  }
  return(r);
  Comment("Typ   ",r);
}
 
borilunad:

Können Sie mir einen Tipp geben?

1. Wie rufe ich die Klimov-Funktion GetTypeLastOpenPos() auf? und

2. Wie erhält man das Ergebnis?

Etwas funktioniert nicht, kompiliert gibt Fehler der Klammern Gleichgewicht, obwohl die Klammern sind ok. Ich danke Ihnen!

Beschreibung.

Beispiel: Aufruf und Ergebnis in der Funktion expert start platzieren, Funktionskörper außerhalb von exp start platzieren:

int X = GetTypeLastOpenPos("",-1);

Ich verstehe nicht - lesen Sie die Reihenfolge der Funktionen.

 
Roman.:

Beschreibung.

Platzieren Sie zum Beispiel den Aufruf und das Ergebnis in der Startfunktion des Experten, platzieren Sie den Körper der Funktion außerhalb von exp start:

Wenn es nicht klar ist - lesen Sie die Reihenfolge der Arbeit mit Funktionen.



Vielen Dank, Roman! Ich werde es noch einmal vom Ofen aus versuchen... :)

 
Roman.:

Beschreibung.

Beispiel: Sie platzieren den Aufruf und das Ergebnis in der Startfunktion des Experten, den Körper der Funktion platzieren Sie außerhalb des exp start:

Sie verstehen nicht - lesen Sie die Reihenfolge der Funktionen.


Hallo Roman! Ich war verwirrt (2-3-5). Können Sie mir sagen, von welcher Bar in der Vergangenheit für einen nicht leeren Wert des Indikators Puffer (speziell - Fraktal) zu suchen? j=Bars-CountedBars-1, und weiter in der Zoomschleife funktioniert nicht.

Alternativ dazu gibt es einen Indikator, der Fraktale nach seinem eigenen Algorithmus zeichnet, iFractals wird nicht verwendet. Nehmen wir an, dass Fraktale auf ähnliche Weise gezeichnet werden wie die Standardfraktale. Bitte geben Sie mir den Zyklus, um den vorherigen zu finden...!

 
snail09_1:... Angenommen, Fraktale werden ähnlich wie die Standardfraktale gezeichnet. Bitte geben Sie den Zyklus der Suche nach dem vorherigen...!

Versuchen Sie, von hier aus zu tanzen: "Können Sie mir sagen, wie ich den Preis des letzten Fraktals ermitteln kann?


sergeev: Der iFractals-Indikator kann dafür verwendet werden. Er gibt 0 zurück, wenn es kein Fraktal auf dem Balken gibt, und den Wert des Fraktalpreises, wenn es eines gibt. Fraktale werden in obere und untere Fraktale unterteilt. Wenn Sie die höheren Werte benötigen, wird MODE_UPPER an die iFractals-Funktion übergeben, und MODE_LOWER für die niedrigeren Werte. Um ein Fraktal zu finden, sollten Sie daher eine Schleife durch die Balken ziehen, und der erste Wert, der nicht Null ist, ist das gesuchte Fraktal.

Beispiel:"