Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3822
Beiträge: 37173
Benutzer: 6.068
Aktive Benutzer: 492
Links: 80
Wir begrüßen unseren neuesten Benutzer: supadog
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Stunden
- supadog
vor 23 Stunden
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon
vor einem Tag
- VicenteWuc

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 45
Gesamt: 45
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Werbung

Like Tree2Likes
  • 1 Post By Ca
  • 1 Post By Ca
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 30.04.16
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard Fehlermeldung: "arrays passed by reference only"

Ich habe folgendes Problem:

Ein älterer Indikator, den ich unter einer früheren Version des MT4 programmiert habe (ca. im Jahr 2013), funktioniert zwar immer noch, aber wenn ich ihn jetzt neu compiliere, dann funktioniert er nicht mehr, d.h. ich kann keine Änderungen mehr vornehmen. Stattdessen erhalte ich Fehlermeldungen wie : arrays passed by reference only.

Hat jemand eine Idee, wo das Problem liegt?
  #2 (permalink)  
Alt 01.05.16
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

füge mal ein & vor den Name des Arrays. Beispiel: double fu(double &a[])

C$D
TLO Trader likes this.
  #3 (permalink)  
Alt 01.05.16
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

ps: und #property strict kann hilfreich sein die richtige Stelle zu finden
TLO Trader likes this.
  #4 (permalink)  
Alt 01.05.16
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank, Cash Digger!

Das Setzen von einigen "&" hat die Anzahl der Fehlermeldungen drastisch reduziert!
  #5 (permalink)  
Alt 01.05.16
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

Allerdings ist jetzt noch eine Fehlermeldung übrig:
"the size of local variables is too large (more than 512kb)".

Ich wusste gar nicht, dass man irgendwo in MQL4 die Grösse
der lokalen Variablen auswählen kann ??

Wenn Du da auch noch so einen Tipp hättest, wäre ich
sehr dankbar!
  #6 (permalink)  
Alt 01.05.16
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Eine lokales Array scheint zu groß definiert zu werden. Hilfreich wäre zu wissen wie viele Dimensionen dieses Array hat und wie viel Speicherplatz also wie viele Felder reserviert werden und um welchen Datentyp es sich handelt.

Mir fallen zwei Möglichkeiten ein.

- Man reduziert die Größe des Arrays indem weniger Felder zugewiesen werden. Dies wäre vermutlich die sauberste Lösung. Ob das Programm dann noch alles macht wie gewollt hängt von der Logik ab bzw ob die Anzahl der vom Programm benötigten Felder unterschritten wurde und welche Dimension es betrifft und wie diese vom Programm gebraucht werden.

- Oder man macht das Array zu einem globalen dann kann es bis 2GB aufnehmen. Ist aber aus verschiedenen Gründen gefährlich, dazu müsste man es an die individuelle Logik des Programms anpassen. Evt muss das Array geNULLt werden usw...

C$D
Thema geschlossen

Lesezeichen

Stichworte
array, arrays, arrays passed by reference only, fehler mql4, fehlermeldung, mql4, programmierung, programmierung metatrader


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------