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

 
Alexey Belyakov:

Guten Tag!

Helfen Sie mir, ein einfaches Problem zu lösen.

Lückenzähler. Ich möchte Lücken zählen, die mehr als 10 Punkte betragen.

Die Variable "Lücke" wird auf Null zurückgesetzt. Ich verstehe nicht, warum. Ich habe schon alles versucht. Ich habe es mit Schleifen und Statik versucht - es funktioniert nicht. Ich vermute, ich habe die Schleifen falsch geschrieben.

#property strict
#property script_show_inputs

input int GapInPips   =  100;
input int GapCount    =  10;
//+------------------------------------------------------------------+
void OnStart()
{
   int i = 1, gap = 0;
   while(i < Bars && gap < GapCount && !IsStopped())
   {
      int r = (int)(MathAbs(Close[i + 1] - Open[i]) / Point);
      if (r >= GapInPips)
      {
         gap++;
         Print("ГЭП!========: ", gap, " , ВЕЛИЧИНА ГЭПА==: ", r, ", время гэпа = ", Time[i]);
      }
      i++;
   }
}
//+------------------------------------------------------------------+

0 09:36:28.169 t EURUSD,H1: GAP!========: 1 , GAP EXPECTATION==: 182, Gap-Zeit = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 2 , GAP WERT==: 112, Gap Zeit = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 3 , GAP WERT==: 134, Gap Zeit = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 4 , GAP VALUE==: 225, Gap-Zeit = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 5 , GAP VALUE==: 192, Gap-Zeit = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 6 , GAP VALUE==: 100, Gap-Zeit = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 7 , GAP-WERT==: 926, Gap-Zeit = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 8 , GAP-WERT==: 602, Gap-Zeit = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 9 , GAP-WERT==: 136, Gap-Zeit = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 10 , GAP-WERT==: 242, Gap-Zeit = 2020.02.24 00:00:00

 

Ich kann nicht herausfinden, warum i+1 das Skript in einer Endlosschleife startet? Warnung am Ende - Ausdruck hat keine Wirkung, aber es gibt eine Wirkung)

string com=""; // объявление глобальной переменной для хранения информации для отладки
//---
void OnStart(void)
  {
   for(int i=0; i<10; i+1)
     {
      myfunc();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void myfunc()
  {
//--- объявление статического счетчика
   static int cnt=0;
//--- сохранение информации для отладки в глобальную переменную
   com=(__FUNCSIG__+" cnt="+(string)cnt+"\n")+com;
   Comment(com); // вывод информации для отладки
//---
   cnt++;
//---
  }
 
awsomdino:

Ich kann nicht herausfinden, warum i+1 das Skript in einer Endlosschleife startet? Warnung am Ende - der Ausdruck hat keine Wirkung, aber es gibt eine Wirkung)

Da i+1 den Wert von i nicht erhöht

Es sollte entweder i++ oder i+=1 sein.

 
Hallo zusammen. Wie berechne ich die Indikatorwerte (gleitender Tagesdurchschnitt) zum Schluss des letzten Tages? Danke
Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
Carcass77:
Hallo zusammen. Wie berechnet man die Indikatorwerte (gleitender Tagesdurchschnitt) zum Schluss des letzten Tages? Danke

Berechnen oder erhalten ? MQL5 oder 4?

 
Artyom Trishkin:

Berechnen oder erhalten ? MQL5 oder 4?

MQL4 erhalten

 
Carcass77:

MQL4 erhalten

Ein einfacher gleitender Durchschnitt mit der Periode 14, Verschiebung 0, der anhand der Schlusskurse auf dem Tages-Chart des aktuellen Symbols berechnet wird. Nehmen Sie den Wert des ersten Balkens (Null ist der aktuelle Tag):

double ma_day1=iMA(Symbol(),PERIOD_D1,14,0,MODE_SMA,PRICE_CLOSE,1);
 
Artyom Trishkin:

Ein einfacher gleitender Durchschnitt mit Periode 14, Verschiebung 0, berechnet aus den Schlusskursen auf dem Tages-Chart des aktuellen Symbols. Wir nehmen den Wert des ersten Balkens (Null ist der aktuelle Tag):

Dankeschön

 
Igor Makanu:

0 09:36:28.169 t EURUSD,H1: GAP!========: 1 , GAP VALUE==: 182, Gap-Zeit = 2020.06.15 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 2 , GAP WERT==: 112, Gap Zeit = 2020.06.01 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 3 , GAP WERT==: 134, Gap Zeit = 2020.05.11 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 4 , GAP VALUE==: 225, Gap-Zeit = 2020.04.13 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 5 , GAP VALUE==: 192, Gap-Zeit = 2020.03.30 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 6 , GAP VALUE==: 100, Gap-Zeit = 2020.03.24 23:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 7 , GAP-WERT==: 926, Gap-Zeit = 2020.03.16 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 8 , GAP-WERT==: 602, Gap-Zeit = 2020.03.09 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 9 , GAP-WERT==: 136, Gap-Zeit = 2020.03.02 00:00:00

0 09:36:28.169 t EURUSD,H1: GAP!========: 10 , GAP-WERT==: 242, GAP-Zeit = 2020.02.24 00:00:00

Vielleicht war es eine falsche Variante? Ich habe es kopiert. Nichts, keine Ergebnisse im Protokoll.

 
Alexey Belyakov:

Vielleicht haben Sie die falsche Version geschickt? Ich habe es kopiert. Nichts, keine Ergebnisse im Protokoll.

Es ist der richtige.

Sie müssen nur noch herausfinden, in welcher Zeitschrift Sie die Ergebnisse der Drucke sehen, siehe die Registerkarte Experten