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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43264
Benutzer: 7.222
Aktive Benutzer: 75
Links: 84
Wir begrüßen unseren neuesten Benutzer: AlbertZiz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- AlbertZiz
vor einer Woche
- michak
vor einer Woche
- Amateur
vor 2 Wochen
- infos1982
vor 2 Wochen
- Thomas75

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 85
Gesamt: 86
Team: 0
Team:  
Benutzer:  AM581
Freunde anzeigen

Empfehlungen

Like Tree1Likes
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 09.04.18
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Question function return mit mehreren Werten

Wo muß ich suchen, um rauszufinden, ob und wie man es hinkriegt, mehrere Werte gleichzeitig von einer Funktion rauszugeben und dann zu übernehmen. Beispiel:
Code:
int funcX()
{
   // calc a and b
   return(a,b);
}
Die letzte Zeile, also das return wird moniert, wobei ich nicht weiß, als was das angesehen wird. Bisher habe ich den Umweg über strings genommen, also Umwandeln in
Code:
string funcX()
{
   // calc a and b
   ReturnString=StringConcatenate(a,"§",b);
   return(ReturnString);
}
und dann das ganze über StringSplit wieder auseinandernehmen. Aber das muß doch auch einfacher gehen - außer 2 fast identische Funktionen zu schreiben (eine für a und eine für b).
Danke. AVT
  #2 (permalink)  
Alt 09.04.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Man kann nur 1 Wert per return zurückgeben.

Ansonsten muss man über die Referenzierung gehen, gemäß dieses Beispiels:

Code:
/+-------------------------------------------------------------------+
//| Parameterübergabe nach Verweis                                                |
//+------------------------------------------------------------------+
double SecondMethod(int   &i,  int   &j) {
   double res;
   i* = 2;
   j /= 2;

   res = i+j;
   return (res);
}
//+------------------------------------------------------------------+
//| Script program start function                                                     |
//+------------------------------------------------------------------+
void  OnStart () {
    int  a = 14, b = 8;
    Print ("a und b vor dem Aufruf:", a, " ", b);
    double d = SecondMethod(a,b);
    Print ("a und b nach dem Aufruf:", a, " ", b);
}
//+------------------------------------------------------------------+
//--- Ergebnis der Scriptdurchführung 
//  a und b vor dem Aufruf: 14 8
//  a und b nach dem Aufruf: 28 4
Hierbei wird ein Wert über return zurückgegeben und die anderen beiden Ergebnisse
zu a und b werden nach der Berechnung an die Referenz zurückgegeben.

Arrays können z.B. nur!! über Referenzierung in einer Funktion übergeben werden.

traderdoc
AVT likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 09.04.18
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Man kann nur 1 Wert per return zurückgeben.
Ansonsten muss man über die Referenzierung gehen, gemäß dieses Beispiels:
... snip ...

Hierbei wird ein Wert über return zurückgegeben und die anderen beiden Ergebnisse
zu a und b werden nach der Berechnung an die Referenz zurückgegeben.

Arrays können z.B. nur!! über Referenzierung in einer Funktion übergeben werden.

traderdoc
Danke traderdoc! Das erleichtert alles ungemein. AVT
Thema geschlossen

Lesezeichen

Stichworte
function return, mql4, programmierung, programmierung metatrader, programmierung mql4, return function, varibale, wert

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 +2. Es ist jetzt 12:27 Uhr.





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