|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
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 |
|
|||
Hallo,
zunächst ist dein Aufruf für den ATR falsch! Code:
iATR("X",0,7,PRICE_Median,g) Code:
iATR("X",0,7,0) 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 |
|
|||
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! |
|
|||
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! |
|
|||
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 |
|
|||
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! |
|
|||
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 |
Lesezeichen |
Stichworte |
array, mql4, programmierung, programmierung metatrader, währungspaare |
|
|