Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Posts aus dem alten Userforum » Programmierproblem. » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
_Rita Vera
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 2

_Rita Vera ist offline
  Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Leute, kann mir jemand helfen. Bin blutige Anfängerin und möchte folgendes programmieren:

Wenn das aktuelle BAR das Hoch der (z.B. 1-5) vorhergehenden Bars überschreitet, möchte ich ein Kaufsignal haben. Ich bekomme das nicht hin. Mein Signal liegt immer auf dem nächsten BAR bei OPEN und nicht auf dem aktuellen am antsprechenden Punkt.
Überhaupt, was ich auch programmiere: mein Signal liegt immer auf open oder close.
Was nu.....?

Bitte,bitte gebt mir einen brauchbaren Tip.

Herzlichen Dank

RITA

19.10.2000, 14:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Rita Vera senden Homepage von _Rita Vera
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Rita,

mit welcher Version arbeitest Du, TS4 oder TS2000i?

Eine Anweisungsmöglichkeit:

if BarsSinceEntry>10 then Exitlong;
value1=highest(High,5);
if value1 <= high then buy at value1 stop;


sollte funktionieren.

Viel Erfolg
Uwe

19.10.2000, 17:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
_Rita Vera
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 2

_Rita Vera ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

hallo Uwe,

recht herzlichen Dank für Deinen Tip. Funktioniert leider nicht. Aber vermutlich mach ich da was falsch, zumal ich überhaupt nicht verstehe, was Du mir da geschriebenn hast. Ich fange erst an mit programmieren und bin über die If-Funktionen (If high> .....) noch gar nicht hinausgekommen.

Dennoch vielen Dank für Deine Hilfe.


Gruss Rita

20.10.2000, 15:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Rita Vera senden Homepage von _Rita Vera
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Rita,

dass Du erst mit dem Programmieren anfängst, ist doch kein Problem, sondern ein notwendiges "Übel", dass jeder, der sich damit beschäftigen möchte, durchlaufen hat.

Dein Hinweis allerdings zeigt mir, dass ich das kleine System etwas besser Dokumentieren muß. Leider hast Du aber auch nicht geschrieben, wo detailliert der Fehler auftritt, der das funktionieren verhindert. Der "Dreizeiler" ist nämlich durchaus ein System, was unter TS4 läuft.

Im PowerEditor (PE) eröffnets Du das Fenster für ein neues SYSTEM und benennst es.

Die nachfolgenden vier EasyLanguage-Zeilen (EL) können per Kopiermöglichkeit oder manuell eingegeben werden (konnte sie gegenüber der 1.Fassung vereinfacht)


vars: refHigh(0);
if BarsSinceEntry>10 then Exitlong;
refHigh=highest(High,5);
buy at refHigh stop;

Zur Erklärung:

1. Zeile: vars: refHigh(0);
(hier nur eingeführt, da ich nicht weiß, ob TS2000i vordefinierte Variablennamen kennt)

Es wir eine Variable mit dem Namen refHigh definiert (Platz reserviert, wo ein Wert abgelegt werden kann) und mit einer Null vorbelegt.

2. Zeile: if BarsSinceEntry>10 then Exitlong;
In der ersten Zeile wird geschaut, ob das geladene System seit nunmehr 10 Bars im Markt positioniert ist (eben: seit Einstieg; IF BarsSinceEntry).

Ist dies der Fall, dann wird die Bosition geschlossen (in diesem Fall, da nur Long-Positionen aufgebaut werden, kann eine Zusatzabfage bezüglich der Positionsart entfallen)

3.Zeile: refHigh=highest(High,5);

Mit der Funktion Highest(PRICE, LENGTH) wird das höchste Hoch der zurügliegenden Bars ermittelt, wenn mann ein Zeitfenster der Länge LENGTH öffnet. Dieser Wert wird in die Variable(Speicherplatz) mit dem oben bei Schritt 1 definierten Namen refHigh abgelegt.

4.Zeile: buy at refHigh stop;

Die Kauforder ist damit formuliert.



Kürzer kann natürlich geschriben werden, wobei die erste Zeile eben hier nur notwendig wird, um mehr als ein Trade zu generieren.

if BarsSinceEntry>10 then Exitlong;
buy at highest(High,5) stop;


Vielleicht hilft diese Form weiter. Absonsten gehe bitte auf die Fehlerdarstellung, die Du produzierst, näher ein.
Viel Erfog
Uwe

20.10.2000, 21:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
_stephen
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 6

_stephen ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

hallo uwe!
ich entnehme deinem text, dass die var. in der ts2000 nicht mehr definiert werden müssen. ist das richtig?

stephen

26.10.2000, 15:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _stephen senden Homepage von _stephen
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo stephen,

Deine Frage kommt zu früh, da die TS2000i bei mir noch nicht im Einsatz ist.

Unter vordefinierte Variablen-Namen sind jedoch alle Variablen zu verstehen, die nicht explizit über die Definitionzeile VARS deklariert werden müssen (z.B. date, time, Open, High,.... und auch Variable1, Variable2, ..., Condition1, Condition2,... in TS4)

Da ich nicht weiß, ob es die Vordefinition Variable1 in TS2000i gibt, habe ich die Variable refHigh eingeführt, die ich natürlich sowohl in der TS4 als auch in der TS2000i durch die VARS:-Zeile deklarieren muß.

Also schön auch weiterhin alles bekanntgeben, was nicht bekannt ist ;-)

Uwe

26.10.2000, 17:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
_Gerhard
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 7

_Gerhard ist offline
  RE: Programmierproblem.Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Rita,

wenn ich Deine Zeilen richtig verstanden habe, dann liegt Dein Problem darin, dass die Kauforder immer auf dem NextBar liegt, statt auf dem CurrentBar.
Das ist in EasyLang. tatsächlich immer so. Eine Order, die durch den CurrentBar getriggert wird, wird erst beim Close dieses Bars erzeugt und dann beim NextBar ggf. ausgeführt!
Du kannst Buy-Statements nur absetzen als:
Buy this bar on Close oder Buy next bar ... !
Eine Möglichkeit wäre zB, wenn Du statt des 5-Tage-Hochs auf das 4-Tages-Hoch triggerst und dann ein Kaufsignal absetzt Buy next bar at High + 1 point oder ...or higher oder eine Stop-Buy-Order.
Lies Dir die genaue Funktionsweise der Ordertypen nochmal genau durch.
Es ist nicht immer ganz einfach zu verstehen, insbes. auch die Stop-Orders.

Ich hoffe, es hilft!
Gruß
Gerhard

04.11.2000, 16:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Gerhard senden Homepage von _Gerhard
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR