select
Mitglied seit 10 Jahre 9 Monate

Tradestation: Fragen und Antworten

Ich eröffne mal einen Sammelthread für die TS:-) Hier gleich eine Frage an die Spezialisten:

Möchte in dem Indicator (zeichnet im Monat an einem bestimmten Tag eine vertikale Linie ein ) eine weitere Linie einzeichen lassen.

***********
Variable: wert1(0); wert2(0);

if wert1(date) = true then wert1=1
else wert=0;

wert2 = {5 Bar zurück von wert1 soll eine vertikale Linie geplotet werden} ?

Plot1(wert1, "wert1",blue);
Plot2(wert2, "wert2",red);
************

Danke!

Gruß Thomas

he96
Mitglied seit 10 Jahre 9 Monate

@ select [#10]

Warum gibst Du der Kiste nicht direkt KONKRETE DATEN (= Tagesdatum= zu fressen.

So eine Liste ist doch recht einfach zusammenzustellen = abzuschreiben aus Verfallskalendern.

Das kann er auch nur richtig plotten.

gruss hans

select
Mitglied seit 10 Jahre 9 Monate

@he96 [#12]

Ja, der erste Code stimmt ja und zeigt mir die richtigen Tage an. Nur "will ich", das der "Frontverfallstag":-) im Chart erscheint.

Gruß Thomas

wuelle
Mitglied seit 10 Jahre 9 Monate

@select

Hast Du es mit dem hardcodierten Datum hinbekommen?

P.S.: Gibt es in der Zwischenzeit eine Möglichkeit (DLL?), die Beschränkung auf maximal 4 Plots aufzuheben?

Versteht mich nicht falsch! 1999 waren vier Linien im Chart schon ´ne ganz Menge! :-) Aber manchmal möchte man doch mehr bunte Linien sehen...

select
Mitglied seit 10 Jahre 9 Monate

@wuelle [#14]

"Hast Du es mit dem hardcodierten Datum hinbekommen?"

Ja, aber ich möchte es doch ewas anders haben. Das hat natürlich seine Gründe:-)

"P.S.: Gibt es in der Zwischenzeit eine Möglichkeit (DLL?), die Beschränkung auf maximal 4 Plots aufzuheben? "

Ja, das geht. Nur wie?:-) Entweder man nutzt ein Array oder vielleicht über eine DLL. Oder doch anders. Müssen wir noch testen/suchen:-)

"Aber manchmal möchte man doch mehr bunte Linien sehen..."

Ist klar:-)

Bis dann!

Profile picture for user ke45
ke45
Mitglied seit 10 Jahre 9 Monate

@ wuelle [#14]

Die TradeStation 8.1 kann 99 Linien anzeigen, das sollte auch für die nächsten Jahre reichen :-)

Bei der 2000i werden immer nur 4 Linien gehen. Es gibt allerdings so einen Trick, mit gepunkteten Linien zu arbeiten and nur jeden 2. Bar einen Punkt zu setzen - damit kann man dann 8 Linien "darstellen". Die Darstellung ist allerdings recht gewöhnungsbedürftig und die Linien sind auch nur bei recht engem Bar-Spacing als solche zu erkennen....

he96
Mitglied seit 10 Jahre 9 Monate

Mit/über das Text_Trendline tool/code kann man Millionen Linien ziehen. Genau wie man jeden Text an jede Stelle damit schreiben und automatisch aktualisieren lassen kann.

Das ging schon in TS 4.0

gruss hans

select
Mitglied seit 10 Jahre 9 Monate

Hallo!

Habe zwei Problemchen:

Meine statistischen Auswertungen kann ich ordnungsgemäß über ein FileAppend als txt. Datei speichern. Auch kann ich im gleichen Code die Ergebnisse über den Print im DebugFenster anzeigen lassen.

Nun meine zwei Fragen:

1.) Kann ich den Befehl "FileAppend" und "Print" in einer Kombination codieren? Bis jetzt habe ich beide Bedingungen in zwei Blöcke schreiben müssen. Hier die Zeilen:

if d <> d[1] then FileAppend(Datei, numtostr(date[1],0) + "; " +

if d <> d[1] then print(numtostr(date[1],0) + "; " +

2.) Was muss ich in den Code einfügen, damit meine txt. Datei nicht immer mit den ganzen Ergebnissen aus der TS aufgefüllt/angehangen wird? Ich möchte also nur die Zeilen ab dem letzten Datumg in der txt. Datei aktuellisiert haben. Mit FileDelete komme ich dem Problem nicht nach.

Vielen Dank!

Gruß Thomas

ladowa

@ select [#18]

Hi Thomas, ich spreche zwar immer noch nicht EL, aber meinst Du evtl. sowas:

Zu 1:

if d <> d[1] then begin FileAppend ... ; Print ... ; end;

 

Zu 2:

if date[1] > LetztesDatum then FileAppend ... ;

 

Die Variable LetztesDatum muß allerdings vorher initialisiert sein. Evtl. kannst Du dieses Datum irgendwoher aus Deinem übrigen Code abgreifen, oder kannst es berechnen, wenn Du z. B. weißt, daß es immer das aktuelle Tagesdatum ist, o. ä.

Andernfalls mußt Du die Datei öffnen, den letzten Datumswert einlesen, voilà. Wie öffnet man eine Datei und liest den letzten Wert ein? Keene Ahnung, ob das überhaupt mit dem Standard-EL-Code geht. Im Zweifel funktioniert es über eine externe DLL.

Gibt es für EL keine fertigen DLLs mit solch nützlichen Funktionen?

select
Mitglied seit 10 Jahre 9 Monate

@Livetour[#19]

Hallo:-)

zu1.) Bis jetzt habe ich es so geschrieben:

if d <> d[1] then FileAppend(Datei, numtostr(date[1],0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,2) + "; " +
numtostr(- !!!,2) + "; " +

numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,2) + "; " +
numtostr(- !!!,2) + Newline);

if d <> d[1] then print(numtostr(date[1],0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,2) + "; " +
numtostr(- !!!,2) + "; " +

numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,0) + "; " +
numtostr(!!!,2) + "; " +
numtostr(!!!,2) + "; " +
numtostr(- !!!,2) +"");

Mit Deinem Vorschlag habe ich es doch auch so geschrieben. Oder?

zu2.) Werde ich mal versuchen.

"Gibt es für EL keine fertigen DLLs mit solch nützlichen Funktionen?"

Konnte keine entdecken. In der TS muss man alles selber schreiben. Da wird nichts geschenkt:-)

Gruß Thomas

wuelle
Mitglied seit 10 Jahre 9 Monate

@ select [#18]

Wieso kann man das Problem nicht mit dem Print Befehl, statt FileAppend lösen?

Siehe dazu Pruitt & Hill “Building Winning Trading Systems with TradeStation” S. 166:

The Print Statement can be used to print out to a text file. The probability
table that we created could be printed to a file instead of the Print Log. To
this, you would simply insert the name of the file into the existing Print
Statements:

Before: Print(" Close "," Zone1 Zone2 Zone3 Zone4");
After: Print("c:\MyFile"," Close "," Zone1 Zone2 Zone3 Zone4");

This Print Statement will print to MyFile on the C: drive. Each time you apply
your code with this Print Statement to a chart, MyFile will be deleted and
recreated and printed to.

TS aktualisiert dann nicht letzte Zeile durch anhängen, sondern löscht die alte Datei und ersetzt durch eine Neue incl. des letzten Handelstag.

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich