Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Ich brauche eine Schleife wie mache ich das?


werkla4 - Fr 29.10.10 12:10
Titel: Ich brauche eine Schleife wie mache ich das?
Regelset A, Regel 09: MAPunkte
public SMA MA_09;

Regelset a - Regel 09: MA High and Low
double MA09_High, MA09_Low;
DateTime MA09_High_DT, MA09_Low_DT;




C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
public void SaveMALastHLofDay()
  {
    // $$
    // Regelset A - Regel 09 : Ma Punkte
    // Save last high/low, reset nach Gegentick
    if (Bars.Current.PriceDateTime.Date != Bars.LookBack(1).PriceDateTime.Date)
    {
      // new day
      MA09_High = MA_09.Current;
      MA09_Low =MA_09.Current;
      MA09_High_DT = Bars.Current.PriceDateTime;
      MA09_Low_DT = Bars.Current.PriceDateTime;
    }
    else
    {
      // new bar during day
      if (MA_09.Current > MA_09.LookBack(1))
      {
        MA09_High = MA_09.Current;
        MA09_High_DT = Bars.Current.PriceDateTime;
      }
      if (MA_09.Current < MA_09.LookBack(1)) 
      {
        MA09_Low = MA_09.Current;
        MA09_Low_DT = Bars.Current.PriceDateTime;
      }
    }
    
  }



Nun ist meine Frage: Wie kann ich zu allem wo eine 09 im Text steht diese mit einer Schleifenzahl ergänzen.
Ich brauche eine Schleife die max von 1 bis 100 geht und die mit jeder Zahl das macht was hier gerade nur mit der 09 durchläuft. Bei den ersten 4 zeilen oben (fett gedruckte), könnte ich bis 100 alles vorschreiben aber bei dem anhängenden Text wären das ja 3000 Zeilen Code. in einem Programm was selbst gerade 2150 Zeilen hat. Da wäre eine Schleife schon angebracht. DANKE für eure Hilfe...

Moderiert von user profile iconMartok: C#-Tags eingefügt


Trashkid2000 - Fr 29.10.10 13:05

Hallo,

ich muss zugeben, dass ich die ganze Struktur nicht so wirklich gut verstanden habe.
Ein paar Informationen mehr dazu wären vielleicht ganz gut.

Ich nehme mal an, "Regel" ist eine Klasse? Denn wo kommt sonst die Methode

C#-Quelltext
1:
MA_09.LookBack(1))                    
oder die Property

C#-Quelltext
1:
MA_09.Current                    
her?
Und was ist SMA?

Marko


Th69 - Fr 29.10.10 14:40

Woher kommen denn die Deklarationen von 'MA09_High', 'MA09_Low' etc.?

Hast du von Hand 100 (bzw. 4*100) Variablen erstellt oder sind die über eine externe Code-Datei erzeugt worden?

Generell gilt aber: für Schleifen benötigst du ein Array bzw. eine der generischen Container (z.B. List<>).


Bergmann89 - Fr 29.10.10 19:49

Hey,

entweder du machst es so: *KLICK MICH* [http://bytes.com/topic/c-sharp/answers/524206-there-findcomponent-method-csharp] (da weiß ich aber nicht ob das geht, hab ich noch nich so gemacht).
Oder du erstellst dir die ganzen Objekte dynamisch unst speicherst die Referenzen in einem Arra, dann kannst du über den Array index darauf zugreifen.

MfG Bergmann.


werkla4 - Sa 30.10.10 01:06

Ich schicke Ihnen hierfür die komplette Textdatei die ich mitgeschrieben habe als mein Programmierer mir eine neue Theorie für ein Börsenprogramm dazu geschrieben hat.

Es mus unbedingt vertraulich behandelt werden ansonsten gibt es für mich eine Menge ärger...


werkla4 - Sa 30.10.10 01:12

Hier als Textdatei, damit es gleich Verwendbar ist um es als Beispiel weiter zu verwenden und zu testen was funktioniert!!!

Freu mich auf Lösungen


Th69 - Sa 30.10.10 10:47

Sorry, das so schreiben zu müssen, aber such dir einen anderen Programmierer!

Ohne Arrays wird das nichts - und dafür müsste das gesamte Programm umgeschrieben werden (auch wenn ich aus deiner Datei nur einen kurzen Ausschnitt des Programms gesehen habe)...


werkla4 - So 31.10.10 01:24

Du hast ja auch nur einen Ausschnitt für eine Theorie gesehen die Nachgetragen wurde!!

Das ganze Programm ist 2900 Zeilen lang.

Ich kann dir auch gerne die komplette Datei geben, wenn du mir ernsthaft helfen möchtest.

Ich wollte halt versuchen selber Ideen dazu zu schreiben um diese im Börsenprogramm Probe laufen zu lassen.
Nur leider ist das hier mit der Logik des Programmierens (bzw Sprache) nicht von heute auf Morgen gemacht.
Viele Fehlermeldungen mit denen man als Leie nicht viel anfangen kann.

P.S. Und ausserdem könnte man ja noch ein Array anlegen, denn das Einzigste was hier als Verwendung fest ist sind die EingabeZahlen für die jeweilige Theorie die gerade durchgetestet werden soll.


Bergmann89 - So 31.10.10 04:19

Hey,

also wenn ich das jetzt alles richtig verstanden hab, dann hast du ein Input, dann haufen Berechnungen und dann Output. Und du willst das ganze jetzt mehrmals für verschiedene Werte machen, richtig?
Pack die ganzen Methoden die du jetzt hast in ne Klasse, pass das ganze noch ein bischen an und dann kannst du denke ich gut damit arbeiten. Wenn du es nicht selbst machen willst, sondern jmd suchst, der es für dich schreibt, dann wäre das ganze sicher besser in der Jobbörse [http://www.delphi-forum.de/forum_Job+Boerse_13.html] aufgehoben ;)

MfG Bergmann.