Werte in einer Serie sortieren

Post Reply
ThomasL
Posts: 84
Joined: 28 May 2016 23:53

Werte in einer Serie sortieren

Post by ThomasL »

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: 84
Joined: 28 May 2016 23:53

Re: Werte in einer Serie sortieren

Post by ThomasL »

Muss mich kurz korrigieren. Konkret geht es mir um die Sortierung der Werte in einem Array! (nicht in einer Serie)
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Werte in einer Serie sortieren

Post by WHS Support »

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
ThomasL
Posts: 84
Joined: 28 May 2016 23:53

Re: Werte in einer Serie sortieren

Post by ThomasL »

Danke, hat funktioniert.
Post Reply

Return to “WHS NANOTRADER - EXPRESS PROGRAMMING”