Fehler im Code

 

Hallo zusammen,

ich hoffe Ihr könnt mir helfen.

Der Editor vom Mt5 sagt mir das ich im iMA folgenden fehler habe. Leider sehe ich vor lauter Bäumen den Wald nicht mehr.

33      double smaFast = iMA(_Symbol, PERIOD_M1, 10, 0, MODE_SMA, PRICE_CLOSE, 0);
34     double smaSlow = iMA(_Symbol, PERIOD_M1, 50, 0, MODE_SMA, PRICE_CLOSE, 0);


Der Fehler lautet die ganze Zeit:

'iMA' - wrong parameters count    SimpleEA.mq5   Zeile 33   Spalte 24
   built-in: int iMA(const string,ENUM_TIMEFRAMES,int,int,ENUM_MA_METHOD,int)    SimpleEA.mq5   Zeile 33  Spalte  24

und

'iMA' - wrong parameters count    SimpleEA.mq5   Zeile 34   Spalte 24
   built-in: int iMA(const string,ENUM_TIMEFRAMES,int,int,ENUM_MA_METHOD,int)    SimpleEA.mq5   Zeile 34  Spalte  24

Vielen danke für Eure hilfe

LG

 
  1. Weißt Du wo Spalte 24 ist? Dann hättest Du schon mal den falschen Parameter.
  2. In MQL5 werden Handles zurückgegeben, keine Indikatorwerte!!
  3. Dazu ganz einfach den Kursor auf iMA stellen und F1 drücken:
    Es öffnet sich die Befehlsreferenz mit einem Beispiel für das Handle und das Abrufen der Indikatorwerte.
 
Carl Schreiber #:
  1. Weißt Du wo Spalte 24 ist? Dann hättest Du schon mal den falschen Parameter.
  2. In MQL5 werden Handles zurückgegeben, keine Indikatorwerte!!
  3. Dazu ganz einfach den Kursor auf iMA stellen und F1 drücken:
    Es öffnet sich die Befehlsreferenz mit einem Beispiel für das Handle und das Abrufen der Indikatorwerte.

Hallo Carl,


danke für eine Antwort.

Ich habe mal ein "Foto" gemacht und du kannst mir dabei helfen.

Die Stelle habe ich markiert.

Vielen Dank

LG

Dennis

Dateien:
 

Schau mal da, für die Oma Funktion aus den mt4 musst du im mt5 umdenken


https://www.mql5.com/de/docs/indicators/ima

Dokumentation zu MQL5: Technische Indikatoren / iMA
Dokumentation zu MQL5: Technische Indikatoren / iMA
  • www.mql5.com
Gibt das Handle des Indikators von Mooving Average zurück. Hat nur einen Puffer. Parameter symbol [in]  Symbolname des Instrumentes...
 
amando #:

Schau mal da, für die Oma Funktion aus den mt4 musst du im mt5 umdenken


https://www.mql5.com/de/docs/indicators/ima


Danke für Antwort.

Ich bin ganz ehrlich, ich habe davon keine Ahnung. Kann mir das jemand umschreiben oder schreiben was ich ändern muss?

LG Dennis

 

Dann ist es am besten Du suchst Dir einen Freelancer: https://www.mql5.com/de/job

und lässt es machen! Lies dazu vorher(!!):
- EA-freelancer Pflichtenheft : https://www.mql5.com/de/articles/4368
- Indi : https://www.mql5.com/de/articles/4304
- How to Order a Trading Robot in MQL5 and MQL4 : https://www.mql5.com/de/articles/117
- aber auch: https://www.mql5.com/de/job/rules
- https://www.mql5.com/en/forum/348123#comment_17627146

Ist nicht so teuer, platziere Deinen Wunsch doch für 30 - 50 € und schau, was passiert.

Hier noch Tips für die Wahl eines Freelancers: https://www.mql5.com/en/forum/348123

Handelsanwendungen für MetaTrader 5 auf Bestellung
Handelsanwendungen für MetaTrader 5 auf Bestellung
  • 2024.08.20
  • www.mql5.com
Der größte Freelance Service für Entwickler von Programmen in MQL5
 

Moin moin,

es sind nur die beiden "Sätze" wo anscheinend was falsch ist. 

Daher bitte ich Euch mal zu schauen was da falsch sein könnte.

Lg

Dennis

 
Da gibt’s Nix zu schauen, du verwendest das handle falsch, schau in die doku
 
Cosi_85 #:

Moin moin,

es sind nur die beiden "Sätze" wo anscheinend was falsch ist. 

Daher bitte ich Euch mal zu schauen was da falsch sein könnte.

Lg

Dennis

Wie viel Parameter übergibst Du und wie viel erwartet / akzeptiert iMA()?

 
Hallo Dennis. In mql4 gibt ein iMA() einen double Wert zurück, das ist zumindest das was du erwartest, denn durch die 0, die du ganz hinten in die Klammer der Funktion geschrieben hast, wissen wir, dass du den ma-Wert der aktuellen Kerze abfragen möchtest.

Das funktioniert in mql5 jedoch nicht. Hier gibt ein iMA() ein handle vom Typ Integer zurück. Das machst du einmal während OnInit. Danach verwendest du dieses Handle um einen Buffer mit den Werten des Moving Average zu füllen (mit Copybuffer). Das meinten die Anderen auch.

Tutorials gibt es hierzu reichlich und auch einige Artikel für Anfänger.