Werte in einer Serie sortieren

Werte in einer Serie sortieren

Postby ThomasL » 28 Jun 2017 17:55

Hallo zusammen,

ich hab ein Array/Serie mit 100 Werten. Unterschiedliche Zahlenwerte.
Nun würde ich diese Zahlen im Aaray gerne nach ihrem Wert sortieren lassen - aufsteigend oder absteigend.
Eine fertige EXPRESS Funktion für so etwas hab ich leider nicht gefunden. Haben Sie eventuell aber einen "fertigen Codeausschnitt" der mir hier weiterhelfen könnte?

Gruss
Thomas
ThomasL
 
Posts: 80
Joined: 28 May 2016 23:53

Re: Werte in einer Serie sortieren

Postby ThomasL » 29 Jun 2017 11:21

Muss mich kurz korrigieren. Konkret geht es mir um die Sortierung der Werte in einem Array! (nicht in einer Serie)
ThomasL
 
Posts: 80
Joined: 28 May 2016 23:53

Re: Werte in einer Serie sortieren

Postby WHS Support » 30 Jun 2017 14:50

Hallo Thomas,

eine fertige Express-Funktion gibt es leider nicht, aber man kann es (relativ) einfach über zwei Schleifen erreichen. Z.B. nach der sog. "bubblesort" Methode:
https://de.wikipedia.org/wiki/Bubblesort

Anbei ein Beispielcode in Express mit dem Close Preis:

Code: Select all
express bubblesort;

vars
series closeSortedSeries;
array closeSorted[1];
numeric i, j, swap, swapped;

calculation
if IsFirstBar() then
begin
  SetArraySize(closeSorted, FinalBarIndex()+1);
end
closeSorted[CurrentBarIndex()] = close;

// Sort
if IsFinalBar() then
begin
  for i = CurrentBarIndex() - 1 downto 0
  begin
    swapped = 0;
    for j = 0 to i
    begin
      if (closeSorted[j] > closeSorted[j+1]) then
      begin
        swap = closeSorted[j];
        closeSorted[j] = closeSorted[j+1];
        closeSorted[j+1] = swap;
        swapped = 1;
      end
    end
    if (swapped = 0) then
      i = -1;
  end
end

// Array -> Series
for i = 0 to GetArraySize(closeSorted) - 1
begin
  closeSortedSeries[CurrentBarIndex()-i] = closeSorted[i];
end

interpretation
begin
end

plot(close,lightblue,1);
plot(closeSortedSeries,lightred,1);

Vielleicht hilft Ihnen dies ja schon weiter.

Beachten Sie jedoch, dass diese Operation sehr rechenintensiv ist.

Mit freundlichen Grüßen,
Timo
WH SELFINVEST
WHS Support
 
Posts: 2052
Joined: 14 Feb 2013 11:27

Re: Werte in einer Serie sortieren

Postby ThomasL » 21 Jul 2017 12:55

Danke, hat funktioniert.
ThomasL
 
Posts: 80
Joined: 28 May 2016 23:53


Return to WHS NANOTRADER - EXPRESS PROGRAMMING

Who is online

Users browsing this forum: No registered users and 6 guests