Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Liste mit allen Ausprägungen von SYMBOL (http://www.expert-advisor.com/forum/showthread.php?t=6656)

LQK 11.05.20 15:24

Liste mit allen Ausprägungen von SYMBOL
 
Hallo,

ich arbeite gerade an einem EA.

Die Methodensignatur von OrderSend() erfordert ja u.a. die Übergabe eines Wertes für SYMBOL.

Ich wusste zuerst nicht, was mit SYMBOL gemeint ist. Eine Suche hat dann ergeben, dass SYMBOL anscheinend ein Text-String ist, welcher angibt welches Wertpapier gerade gehandelt wird.

Bei mir sollen aktuell CFD gehandelt werden. Allerdings ist "CFD" vielleicht nicht das Symbol das ich brauche (gibt ja vielleicht mehrere unterschiedliche CFD) und überdies kann es ja sein, dass ich irgendwann mal was anderes handeln will. :)

In einem Beispiel-EA den ich gefunden habe, wurde das so gelöst, dass anstelle eines konkreten Werts für Symbol einfach nur "Symbol()" übergeben wurde. Symbol() gibt offenbar das Symbol zurück, das zuletzt gehandelt wurde.

Eine testweise Anwendung des u.g. Codes hat bei mir USDCHF als Wert für Symbol ausgegeben (also nicht den von mir erwünschte Symbol für CFD, d.h. in dem Fall hätte die Anwendung von Symbol() zu einem unerwünschten Resultat geführt):

Code:


void OnStart()
  {
  test5();
 
}


void test5()
  {

  Print(Symbol());

}


Somit ist die Lösung, Symbol() als Wert in die Methodensignatur von
OrderSend() zu übergeben, vielleicht nicht unbedingt immer die beste oder die einzige mögliche Lösung. Z.B. könnte es passieren, dass, wie im vorliegenden Fall, ein falscher Wert übergeben wird. Überdies wird so vereitelt, dass Z.B. Symbol als Input-Variable verwendet werden kann.

--

Ich würde daher lieber nicht mit Symbol() arbeiten, sondern direkt den Text-String eingeben, der mein zu handelndes Wertpapier codiert. Womöglich auch unter Verwendung einer Input-Variablen.

Um das zu bewerkstelligen habe ich, auch in der MQL-Reference, nach einer Liste mit allen möglichen Werten für SYMBOL gesucht. Bisher habe ich eine solche Liste aber nicht gefunden.

Womöglich habe ich nur falsch gesucht?

Wo könnte ich eine solche Liste finden? Oder wo ist ggf. mein Denkfehler?

Ich bedanke mich für jeden konstruktiven Beitrag! :)

Grüße ;),
LQK

traderdoc 11.05.20 16:25

"Symbol() gibt offenbar das Symbol zurück, das zuletzt gehandelt wurde."

Nein, Symbol() gibt den String des Handelsinstrumentes zurück, auf dessen Chart sich das Programm befindet.

Eine Liste an Handelsinstrumenten, die man per Code aufrufen könnte ist mir nicht bekannt.

Jedoch kann man die Anzahl der verfügbaren Handelsinstrumente mit
SymbolsTotal(bool selected) abfragen und die Handelsinstrumente dann als solche mit SymbolName(int pos, bool selected).

traderdoc

LQK 12.05.20 13:15

Zitat:

Zitat von traderdoc (Beitrag 43653)
"Symbol() gibt offenbar das Symbol zurück, das zuletzt gehandelt wurde."

Nein, Symbol() gibt den String des Handelsinstrumentes zurück, auf dessen Chart sich das Programm befindet.

Eine Liste an Handelsinstrumenten, die man per Code aufrufen könnte ist mir nicht bekannt.

Besten Dank, damit ist meine Frage voraussichtlich beantwortet. Das erklärt auch, warum bei mir USDCHF zurückgegeben wurde.

Die Dokumentation von MQL ist bei Symbol() nämlich recht allgemein gehalten, da steht einfach nur:

A text string with the name of the current financial instrument.

Quelle:
https://docs.mql4.com/chart_operations/symbolwindow


Zitat:

Jedoch kann man die Anzahl der verfügbaren Handelsinstrumente mit
SymbolsTotal(bool selected) abfragen und die Handelsinstrumente dann als solche mit SymbolName(int pos, bool selected).

traderdoc
Danke auch für diese Info. Das werde ich mir mal ansehen, wenn ich wieder daran arbeite.


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

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum