Diskussion zum Artikel "MQL5 für Neueinsteiger: Leitfaden zur Verwendung technischer Indikatoren in Expert Advisors" - Seite 2

 
Für Anfänger ist dieser Artikel ausreichend, um die Verwendung von Indikatoren zu veranschaulichen.
 
Können Sie mir bitte sagen, wie ich in einem Indikator, zum Beispiel in der
Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

PRICE_CLOSE auf den Wert des "vorherigen Indikators" ändern, der manuell geschrieben wird.
Im Terminal kann es ausgewählt werden, aber wie man in den Code schreibt, verstehe ich nicht.
Das Handbuch sagt, dass Handle benötigt wird, aber ich habe nur einen Puffer.
Bitte helfen Sie.

 
Григорий Муратов #:
Könnten Sie mir bitte sagen, wie man PRICE_CLOSE in einem Indikator zu ändern, zum Beispiel in der

PRICE_CLOSE auf den Wert von "previous indicator" ändern, der manuell geschrieben wird.
Im Terminal kann es ausgewählt werden, aber wie man in den Code schreibt, verstehe ich nicht.
Das Handbuch sagt, dass Handle benötigt wird, aber ich habe nur einen Puffer.
Bitte helfen Sie.

Schauen Sie sich den Artikel https://www.mql5.com/ru/articles/15

Индикатор от индикатора в MQL5
Индикатор от индикатора в MQL5
  • www.mql5.com
При написании индикатора, который использует краткую форму вызова функции OnCalculate(), можно упустить то обстоятельство, что индикатор может рассчитываться не только на ценовых данных, но и на данных другого индикатора (встроенного или пользовательского - не имеет значения). Вы хотите улучшить индикатор, чтобы он правильно считался не только на ценовых данных, но и значениях другого индикатора? В этой статье мы по шагам пройдем все необходимые этапы такой модификации и выведем дополнительные полезные правила для правильного написания индикатора.
 
Rashid Umarov #:

Lesen Sie den Artikel https://www.mql5.com/ru/articles/15

Danke für den Link, allerdings wird in den Kommentaren behauptet, dass der Code nicht mehr aktuell ist. Ich werde versuchen, es zu überprüfen
 

Григорий Муратов #:
Подскажите пожалуйста, как в индикаторе, например в 

Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

Ändern Sie PRICE_CLOSE auf den Wert des "vorherigen Indikators", der manuell geschrieben wird.
Im Terminal kann er ausgewählt werden, aber ich verstehe nicht, wie man ihn in den Code schreibt.
Das Handbuch sagt, dass Handle benötigt wird, aber ich habe nur einen Puffer.
Bitte helfen Sie mir.

Wenn Sie sich die Dokumentation https://www.mql5.com/ru/docs/indicators/ibands ansehen, lautet die Spezifikation:

int  iBands(
   string              symbol,            // Zeichenname
   ENUM_TIMEFRAMES     period,            // Zeitraum
   int                 bands_period,      // Zeitraum für die Berechnung der Durchschnittslinie
   int                 bands_shift,       // Indikator horizontal versetzt
   double              deviation,         // Anzahl der Standardabweichungen
   ENUM_APPLIED_PRICE  applied_price      // Preistyp oder Handle
   );

-- "price type or handle" -- hier kann man anstelle von PRICE_CLOSE das Handle eines benutzerdefinierten Indikators schreiben.

Zum Beispiel:

MA_Custom_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE
                     );
Bands_handle=iBands(NULL,0,144,0,2, MA_Custom_handle );