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

select
Mitglied seit 10 Jahre 9 Monate

@ wuelle [#71]

Genau so. Hoffentlich tauchen die "El Perlen" bald auf:-)

ladowa

@Select

Hier mal nur Dein Wunsch als "PlotVersion". Das mit den TL`s bekommst Du dann sicher selbst hin,wenn ich Dir hier den Anfang für die Plot-Anweisung gegeben habe. Achte darauf das Du in der TL-Anweisung bei sich verändernden Werten für "X" oder "OP" das Datum "festhällst". Dann kannst Du ganz einfach die TL zeichnen lassen.

Bei Fragen sonst hier nochmal posten. Aber Du solltest es mind. 3 Tage probiert haben ;-).

PLOT-VERSION :

Variables:j(0),wert(0), x(0), OP(0), count(0);

Arrays: Tag[100](0);

Tag[0] = 1060124;
Tag[1] = 1060221;
Tag[2] = 1060323;
Tag[3] = 1060423;
Tag[4] = 1060524;
Tag[5] = 1060622;
Tag[6] = 1060724;
Tag[7] = 1060824;
Tag[8] = 1060921;
Tag[9] = 1061024;
Tag[10] = 1061123;
Tag[11] = 1061220;
Tag[12] = 1070124;
Tag[13] = 1070221;
Tag[14] = 1070323;

for j=0 to 100 begin
wert = Tag[j] ;
if Date = Tag[j] then begin
If Wert <> 0 then x = 1 else if wert = 0 then x = 0;
Op = Open;
end;
end;
Plot1(OP,"Open Verf",red);

Unten der Chart wie es dann aussieht.

Gruss Appz

select
Mitglied seit 10 Jahre 9 Monate

@ appzon [#73]

Habe eine Lösungsunterstützung bekommen die echt nicht schlecht ist. Besonders, wenn Tag x vor Verfall erreicht, dann wird das Datum auch geplottet.

Kann Deine Schreibweise noch nicht richtig verstehen. Echt nicht leicht, zwei Punkte im Chart "einfach" anzusprechen. Die Linien plotten ist mir nur deswegen so wichtig, weil dann die gewünschten Punkte im Chart später für Auswertungen nutzbar sind. Keine Linie, keine richtigen Ergebnisse:-)

Vielleicht könntest Du Dir nochmals Zeit nehmen, um Deinen Code abzuschließen. Mal sehen wie Du es schreibst. Daaaaanke!

Hier der aktuelle Code. Auf das Opening vor Verfall bis opening Verfallsdatum sind zwei weitere Linien programmiert. Thema "Mögliche Strikewahl" usw.

Indicator:

************
Inputs:

vorVerfall(15), StrikeAbstand(0.50), TLoC(DarkGray), TLC(red), TLuC(DarkGray),
Dec(2),
TxtStrikeHigh("<- Stike High"),
TxtStrikeLow("<- Strike Low");

Vars : i(0),ID1(-1),ID2(-1);

Array : Tag[100](0);

Array : shckTL[100](0), shckTLn[100](0),shckTLo[100](0),shckTLu[100](0);

Tag[0] = 1060124;

Tag[1] = 1060221;

Tag[2] = 1060323;

Tag[3] = 1060423;

Tag[4] = 1060524;

Tag[5] = 1060622;

Tag[6] = 1060724;

Tag[7] = 1060824;

Tag[8] = 1060921;

Tag[9] = 1061024;

Tag[10] = 1061123;

Tag[11] = 1061220;

Tag[12] = 1070124;

Tag[13] = 1070221;

Tag[14] = 1070323;

for i = 0 to 100

begin

if (DateToJulian(Date) >= DateToJulian(Tag[i])-vorVerfall and DateToJulian(Date) <= DateToJulian(Tag[i])) then

begin

if shckTLn[i] = 0 then

begin

{IF LastBarOnChart THEN BEGIN}

shckTLo[i] = TL_New(Date, 0800, Open + StrikeAbstand, Tag[i], 0800, Open + StrikeAbstand);

TL_SetColor(shckTLo[i], TLoC);

shckTL[i] = TL_New(Date, 0800, Open, Tag[i], 0800, Open);

TL_SetColor(shckTL[i], TLC);

shckTLu[i] = TL_New(Date, 0800, Open - StrikeAbstand, Tag[i], 0800, Open - StrikeAbstand);

TL_SetColor(shckTLu[i], TLuC);

shckTLn[i] = 1;

IF LastBarOnChart THEN BEGIN
ID1 = Text_New(D,0800, shckTLu[i],TxtStrikeHigh+NumToStr( shckTLu[i],Dec));
Text_SetColor(ID1,White);
ID2 = Text_New(D,0800, shckTLo[i],TxtStrikeLow+NumToStr( shckTLo[i],Dec));
Text_SetColor(ID2,White);
End;
End;
end;
end;

*********************

@appzon

Habe auch Deinen Codebaustein { ab IF LastBarOnChart THEN BEGIN} übernommen, um die "Strikelinien" zu kennzeichnen. Fehler leider nicht gefunden.

Gruß Thomas

select
Mitglied seit 10 Jahre 9 Monate

@ select [#74]

"Besonders, wenn Tag x vor Verfall erreicht, dann wird das Datum auch geplottet."

Das bezog sich auf eine mögliche Lösung für den Frontmonat. Somit gelöst...........

bbt-hh
Mitglied seit 10 Jahre 9 Monate

Hallo,

wie kann ich in Easylanguage nur die Umkehrsignale ausführen lassen?

Beispiel:
1. long (wird getriggert), Position wird ausgestoppt, 2.,3.,... long (wird ignoriert), 1. short (wird getriggert)...

Besten Dank.

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

Hallo,

> wie kann ich in Easylanguage nur die Umkehrsignale ausführen lassen?

Setze vor die Buy- und Sell-Befehle (bzw. SellShort in der TS8) folgende Abfrage:
---
if MarketPosition < 0 or (MarketPosition = 0 and MarketPosition(1) < 0) then
Buy;
if MarketPosition > 0 or (MarketPosition = 0 and MarketPosition(1) > 0) then
Sell;
---
Damit sollte es gehen.

Gruss
-Klaus

bbt-hh
Mitglied seit 10 Jahre 9 Monate

Danke für die Antwort. Mit MarketPosition hab auch schon experimentiert. Das Problem ist, daß durch MarketPosition[1] < oder > 0 kein Einstieg erfolgt, da ich am Anfang ja definitiv flat bin.

he96
Mitglied seit 10 Jahre 9 Monate

@ bbt-hh [#78]

und dann so ?

if MarketPosition < 0 or (MarketPosition = 0 and MarketPosition(1) < 0) or (MarketPosition = 0 and MarketPosition(1) = 0)then
Buy;

if MarketPosition > 0 or (MarketPosition = 0 and MarketPosition(1) > 0) or (MarketPosition = 0 and MarketPosition(1) = 0) then
Sell;

gruss hans

bbt-hh
Mitglied seit 10 Jahre 9 Monate

@ he96 [#79]

Sehr gut, funktioniert. Danke.

Allerdings ergibt sich nun ein weiteres Problem:

Werden Positionen geschlossen, z.B. um 17:30h wegen Intraday Margin, und es ergibt sich danach ein nicht gehandeltes Signal, wird das Folgende am nächsten Tag leider nicht berücksichtigt, da der oben genannte Filter greift.

Wie kann ich dieses Problem lösen?

he96
Mitglied seit 10 Jahre 9 Monate

@ bbt-hh [#80]

""Werden Positionen geschlossen, z.B. um 17:30h wegen Intraday Margin, und es ergibt sich danach ein nicht gehandeltes Signal,""

Verstehe ich nicht ? Warum wird geschlossen ? Warum wird ein SIGNAL dann NICHT gehandelt ?

Ein SYSTEM ist ein SYSTEM ist ein SYSTEM !

gruss hans

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