Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1612

 
Alexey Viktorov #:

Dumm beim zweiten Versuch. Offenbar ist die Zeit am Abend gekommen.

Ich habe es nicht richtig verstanden, aber ich weiß nicht, wie man das Instrument in Währungen unterteilt.

Und es gibt eine Wahrscheinlichkeit der mittleren Gleichheit, ich sehe sie nicht sofort, aber es ist besser, eine vollständige Suche nach Gleichheit der Währungsnamen im Instrument von der 2. bis zur 3. Oder schneiden Sie die 1. und die letzte Stelle ab und suchen Sie in den verbleibenden 4 Ziffern)

 
Valeriy Yastremskiy #:

A B C D ist richtig, aber ich verstehe nicht, wie man das Instrument in Währungen unterteilt.

Und es gibt eine Wahrscheinlichkeit für die Gleichheit der Mittellinie, die ich auf den ersten Blick nicht gesehen habe, aber es ist besser, eine vollständige Suche nach der Gleichheit der Währungsnamen in dem Instrument von der 2. bis zur 3. Oder schneiden Sie die 1. und die letzte Stelle ab und suchen Sie in den restlichen 4 Zeichen).

Nein, ich habe mich nur beim zweiten Versuch unter den 4 Bedingungen dumm angestellt. Schließlich spielt es für die Aufgabe keine Rolle, an welcher Stelle der gewünschte Gegenstand gefunden wird, an der Null oder an der Dritten, Hauptsache, er wird gefunden oder nicht. Folglich gibt es zwei Konditionen, eine für die Basiswährung und eine für die zweite Währung.

 
Alexey Viktorov #:

Nein, ich bin nur beim zweiten Versuch unter den 4 Bedingungen stumm geworden. Denn für die Aufgabe ist es egal, an welcher Stelle der Suchbegriff gefunden wird, ob an der ersten oder dritten, Hauptsache, er wird gefunden oder nicht. Folglich gibt es zwei Bedingungen, eine für die Basiswährung und eine für die zweite Währung.

Also habe ich die mittlere Gleichheit von der zweiten oder dritten Position des Instruments ausgeschlossen. Wenn nicht ausgeschlossen, dann ist es richtig, 2 Bedingungen.

 
Valeriy Yastremskiy #:

Nun, ich habe dabei die mittlere Gleichheit ausgeschlossen, von der zweiten oder dritten Position des Instruments. Wenn Sie nicht ausschließen, sind Sie richtig, 2 Bedingungen.

Ich verstehe immer noch nicht, was "Gleichheit der Mittelpunkte" bedeutet.

Signal auf EURUSD

Ein EURJPY-Auftrag - suchen Sie nach EUR und finden Sie es, es ist wahr. Die zweite Bedingung muss nicht geprüft werden.

GBPJPY - sucht nach EUR, findet es nicht. sucht nach USD, findet es nicht, die Würfe sind falsch. Insgesamt zwei Bedingungen.

 
Alexey Viktorov #:

Ich verstehe immer noch nicht, was ein "mittleres Gleichgewicht" ist.

Signal auf EURUSD

Order auf EURJPY - Suche nach EUR und finden, Auswurf wahr. Die zweite Bedingung muss nicht geprüft werden.

GBPJPY - sucht nach EUR, findet es nicht. sucht nach USD, findet es nicht, die Würfe sind falsch. Insgesamt zwei Bedingungen.

EURJPY ist gleichauf mit URJP

GBPJPY unter BPJP

Ich stimme zu, es ist ein seltener Fall. Aber es ist möglich, wenn man die große Zahl der Instrumente betrachtet.

 
Valeriy Yastremskiy #:

EURJPY-Gleichheit zwischen URJP

GBPJPY unter BPJP

Ich stimme zu, es ist ein seltener Fall. Aber möglich, wenn man die große Anzahl von Instrumenten betrachtet.

Nein, ich bleibe lieber auf meiner Wellenlänge. Es fällt mir schwer zu verstehen, warum...

 

Wie funktioniert der Konstruktor in Strukturen?

struct as{
  int a,
      b,
      c;
    void as(){
    b=0;c=0;
    a=b+c;
    }  
 };
as sir;
 

Hallo! Ich zerbreche mir gerade den Kopf.

Wem das nicht schwer fällt, der möge sich bitte an den Kommentaren beteiligen.


1. Welchen Zweck erfüllt die Variable "bb" und dementsprechend der Operator if (bb == 0) bb = i; ?


2. wenn ((Time[i]>=BeginDateCalc && Time[i]<=EndDateCalc && NumberOfBars<=0)

|| (AnzahlBalken>0 && AnzahlBalken>=i))

Wie kann NumberOfBars <= 0 sein und wofür?


3. s += (Hoch [i] - Tief [i]) / Punkt;

Wozu dient die Division durch Punkt?


4. Durch die Bedingung der Schleife for (i = Balken; i > 0; i--) geht die Zählung vom "ältesten" zum "jüngsten" Balken.

Warum wird die Variable b++ inkrementiert, aber nicht dekrementiert?

//+----------------------------------------------------------------------------+
//|                                                          AverageRange.mq4  |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  14.09.2005  Скрипт для расчёта:                                           |
//|              средней волатильности инструмента High-Low                    |
//|              Возможность использования заданного количества баров          |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link      "http://www.kimiv.ru"
#property  show_inputs

extern datetime BeginDateCalc = D'2013.01.01';
extern datetime EndDateCalc   = D'2013.12.31';
extern int      NumberOfBars  = 100;         


//+----------------------------------------------------------------------------+
//|  script program start function                                             |
//+----------------------------------------------------------------------------+
void start() {
   int    i;           //счётчик
   int    b  = 0;      //использовано баров
   int    bb = 0;      //?????????????????????
   int    s =  0;      //сумма всех значений High - Low
   string st = "";     //строка вывода на экран    

  for (i = Bars; i > 0; i--) {
    
    if ((Time [i] >= BeginDateCalc && Time [i] <= EndDateCalc && NumberOfBars <= 0)
    || (NumberOfBars > 0 && NumberOfBars >= i)) {
      
      if (bb == 0) bb = i;
      s += (High [i] - Low [i]) / Point;
      
      b++;
    }
  }

  st =      "Начало: " + TimeToStr (Time [bb], TIME_DATE | TIME_MINUTES) + "\n";        // "/n" - это перенос строки
  st = st + "Конец: " + TimeToStr (Time [bb - b + 1], TIME_DATE | TIME_MINUTES) + "\n";
  st = st + "Использовано баров: " + b + "\n";
  st = st + "Средняя волатильность: " + s / b + " п.\n";
  
  Comment (st);
}
//+----------------------------------------------------------------------------+
 

Der bb enthält den Taktindex der ersten ausgelösten Bedingung. Dieser Index wird dann zur Berechnung der Startzeit der Berechnung verwendet.

NumberOfBars - diese Variable wird vom Benutzer gesetzt, und dieser Typ ist nicht zuverlässig und kann einen Minuswert setzen. Vielleicht ist die Logik, dass, wenn NumberOfBars nicht positiv ist, die Berechnung zwischen dem Start- und Enddatum durchgeführt wird, während, wenn es positiv ist, dann wird es durch die Anzahl der Candlesticks mit dieser Variable gesetzt berechnet.

Der Punkt wird in Punkte geteilt (1,01051-1,01000)/Punkt=51, um die Werte aus dem Bruchteil in Punkte umzuwandeln.

Die Variable bb wird nach Null nur einmal während der gesamten Laufzeit des Skripts geändert. if (bb == 0)

 
Aleksei Stepanenko #:

Der bb enthält den Taktindex der ersten ausgelösten Bedingung. Dieser Index wird dann zur Berechnung der Startzeit der Berechnung verwendet.

NumberOfBars - diese Variable wird vom Benutzer gesetzt, und dieser Typ ist nicht zuverlässig und kann einen Minuswert setzen. Vielleicht ist die Logik so, dass die Berechnung zwischen dem Start- und dem Enddatum durchgeführt wird, wenn NumberOfBars nicht positiv ist.

Aber der Punkt wird geteilt, um Werte aus dem gebrochenen Teil auf Punkte zu übertragen 0,00051/Punkt=51

Die Variable bb nach Null wird nur einmal während der gesamten Laufzeit des Skripts geändert.

Um ehrlich zu sein, verstehe ich die Logik von Kim nicht; warum müssen die Bedingungen der Balkenzeiten, die die angegebenen überschreiten, und die Anzahl der berechneten Balken mit ODER die Anzahl der berechneten Balken, die die Anzahl der Balken überschreiten, Barz))) Und gleichzeitig korrigiert es die benutzerdefinierten Parameter)

Und es wird nicht einmal eine Warnung angezeigt, dass der Benutzer etwas falsch gemacht hat.)

Grund der Beschwerde: