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)
-   -   Arbeiten mit extrahierten Werten (http://www.expert-advisor.com/forum/showthread.php?t=2115)

ron12 08.04.12 17:38

Arbeiten mit extrahierten Werten
 
Hallo,

ich habe in einem Array 6 verschiedene Werte mit dem Befehl: iATR("X",0,7,PRICE_Median,g) bestimmt, wobei "X" für die 6 verschiedenen Währungspaare steht. Im Anschluss wird das Array absteigend sortiert.

Im nächsten Schritt möchte ich den mit den sortierten Währungspaaren arbeiten.

Meine Frage: Wie kann ich diese Währungspaare extrahieren und damit weiter arbeiten?

Besten Dank und frohe Ostern!
Ron

naranjoe 08.04.12 19:26

Hallo,

zunächst ist dein Aufruf für den ATR falsch!
Code:

iATR("X",0,7,PRICE_Median,g)
sollte so aussehen:
Code:

iATR("X",0,7,0)
Um für X verschiedene Währungspaare zu verwenden solltest diese in einem
Array ablegen und dann über den ArrayIndex auswählen.
Wenn du den Wert dann auch in einem Array speicherst, ist das Sortieren
und Zuordnen im nachhinein kein Problem.


Gruß
naranjoe

ron12 08.04.12 19:32

danke für deine antwort!

stimmt natürlich, ursprünglich stand da auch mal ein iCCI davor, deswegen stand der PRICE_MEDIAN noch drin.

ich versuchs mal, danke!

ron12 08.04.12 21:43

ok, die paare in einem array ablegen und im nächsten array den iATRs zuordnen ist klar.

aber wie komm ich nach dem sortieren an die paare ran?

danke!

naranjoe 09.04.12 09:33

Angenommen du hast 5 Währungspaare
Symb[1] = "EURUSD";
Symb[2] = "GBPUSD";
Symb[3] = "AUDUSD";
Symb[4] = "EURJPY";
Symb[5] = "USDJPY";

entsprechend 5 ATR Werte
ATR[1]
ATR[2]
ATR[3]
ATR[4]
ATR[5]
die du noch zuweisen musst.

Wenn jetzt ATR[4] den niedrigsten Wert enthält, weisst du das er zu EURJPY gehört.

Gruß
naranjoe

ron12 09.04.12 11:20

ok, danke!

wenn ich mittels ArraySort die ATRs sortiere bleibt doch das array der paare weiter unsortiert!?

wie kann ich auf grundlage der sortierten ATRs das array der paare sortieren?

oder anders ausgedrückt: wie berechne ich jetzt z.B. den iCCI vom währungspaar des maximalen ATR-wertes?

danke!

naranjoe 09.04.12 17:22

Puh, jetzt wirds kompliziert.
Wenn du das Array mit ArraySort bearbeitest geht natürlich die Reihenfolge verloren und das Array mit den Währungspaaren passt nicht mehr.
Abhilfe schafft hier ein 2-dimenionales Array.
In die erste Dimension kommt der ATR-wert, die 2. enthält eine Zahl mit der du die Währungspaare zuorden kannst.
z.B. 1 für EURUSD, 2 für GBPUSD, 3 für EURJPY usw.
Wenn du darauf ArraySort anwendest, wird die Sortierung nur auf die 1. Dimension bezogen wobei der Bezug zur 2. Dimension erhalten bleibt.
Beispiel:
double ATRCurrency[6][2];
ATRCurrency[0][0] = 0.003; //ATR Wert
ATRCurrency[0][1] = 1; //Zuordnung Währung (z.B. 1=EURUSD)
ATRCurrency[1][0] = 0.008; //ATR Wert
ATRCurrency[1][1] = 2; //Zuordnung Währung (z.B. 2=GBPUSD)
ATRCurrency[2][0] = 0.003; //ATR Wert
ATRCurrency[2][1] = 3; //Zuordnung Währung (z.B. 3=EURJPY)
usw...

Array Sortieren:
ArraySort(ATRCurrency,WHOLE_ARRAY,0,MODE_DESCEND);

Jetzt enthält ATRCurrency[0][0] den höchsten ATR-wert und in ATRCurrency[0][1] steht die Zahl mit der du dann noch das Währungspaar zuorden musst.
usw...

Ich hoffe damit kommst du klar.

Gruß
naranjoe


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:38 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