Freitag, 19. April 2024, 11:58 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Chris

unregistriert

1

Samstag, 12. November 2005, 15:38

Close > HHV richtige Formel?

Hallo zusammen,

ich habe Delay 0 eingestellt und wollte diese Formel verwenden:
Close > HHV(Ref(High,-1),5))

Unter Enter Basis habe ich analog zum Handbuch MAX(Open, HHV(Ref(High, -1), 5)) stehen. Kann man das so verwenden? Gibt es eine Möglichkeit die Perioden der HHV über eine globale Variable o.ä. zu optimieren?


Ich hatte das System mal per Datenfeed im VB getestet. Dabei ist mir aufgefallen, das Signale erzeugt werden, die sofort wieder verschwinden, das System aber trotzdem eine Order aufgibt. Wie kann ich das vermeiden? Liegt das an den unvollendeten Perioden? So ganz habe ich deren Auswirklungen noch nicht verstanden. Beim Datenfeed kann ich auch unvollendete Perioden einstellen, welche Auswirkungen hat dies?

Viele grüße

chris

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

2

Samstag, 12. November 2005, 15:57

Hallo Chris,

man kann die Formel so verwenden(Backtest)!

Das verschwinden der Signale erklärt sich durch Close! CLOSE ist erst eine Konstante, wenn die Periode vollendet ist (vollendete Perioden verwenden oder in ORM "ein Signal pro Periode aktivieren)! Wenn inimitten einer Periode CLOSE eine Level mehrmals nach oben/unten crosst,kommt es zum Signalflattern! Man kann stattdessen HIGH_LOW oder auch Open verwenden denn ein Hoch kann nur noch höher- ein Tief nur noch tiefer werden und Open ist beim Start der neuen Periode der erste konstante Tick überhaupt!

Du kannst das Signalflattern an der Trade Linie (TÜL) sehr gut visualisieren. Vielleicht wird es so noch verständlicher?
Happy Trading

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Samstag, 12. November 2005, 16:37

Zitat

Gibt es eine Möglichkeit die Perioden der HHV über eine globale Variable o.ä. zu optimieren?


Ja - Du kannst z.B. im Definitions-Bereich des Handelssystems schreiben:

global const HHV_Per: [HHV_Per:5,2,50,2,50,1,0.0094,I];

Deine (aktuelle) Handelsregel würde dann lauten:

Close > HHV(Ref(High,-1),HHV_Per)

...und in die Enter-Basis schreibst Du:

MAX(Open, HHV(Ref(High, -1), HHV_Per))
Viele Grüße von Anke

http://www.ascunia.de

Chris

unregistriert

4

Samstag, 12. November 2005, 16:48

@Wiwu
Danke, ich hatte es vorher per global calc versucht, dabei erscheint aber immer eine Fehlermeldung. Ist es denn möglich, die Perioden über einen Faktor oder IF anzupassen? Dabei erhalte ich dieselbe Fehlermeldung.

@Udo
Könntest du mir kurz am Beispiel zeigen, wie ich das auf Open umstelle? Das Signal soll eigentlich generiert werden, wenn über dem HHV geschlossen wird. Wenn ich Low / High verwende, könnte es doch passieren, dass der Kurs zwar kurz das Leven erreicht dann aber sofort in die Gegenrichtung abdreht - dies möchte ich vermeiden, oder habe ich jetzt einen Denkfehler?

Ich habe das gerade noch mal ausprobiert und unvollendete Perioden ausgestellt + nur 1 Signal pro Periode. Es kommen aber immer noch die Signale, sobald der Kurs über HHV geht wird eine Order generiert, im HS löst sich das Signal aber sofort wieder auf, im ORM hab ich einen Longtrade offen. Was habe ich da noch falsch eingestellt, oder liegt das nur am Close und gibt es keine andere Möglichkeit das zu beheben?


Danke für die antworten!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chris« (12. November 2005, 17:42)


Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

5

Samstag, 12. November 2005, 17:40

Hallo Chris,


ich habe mich gerade daran erinnert, dass Torsten vor kurzem eine ähnliche Frage gestellt hat. Schau doch bitte mal, ob Dir dieser Thread vielleicht weiter hilft.
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

6

Samstag, 12. November 2005, 20:09

Hallo Chris,

HHV/LLV kann keine Rechenoperationen verarbeiten! Man kann mit IF einen gewissen Grad von Dynamik erreichen aber das Wahre ist es m.A.nicht!


>>Könntest du mir kurz am Beispiel zeigen, wie ich das auf Open umstelle? Das Signal soll eigentlich generiert werden, wenn über dem HHV geschlossen wird.

Open >{=} HHV(Ref(High,-1),5))

oder

High>{=}HHV(Ref(High,-1),5))

HHV ist korret definiert das eine vollendete Periode berechnet wird und keine Gefahr besteht das sich der Trade- Level (HHV) im Nachhinein verändert!

Wenn du die Formel so schreibst dann wird das Signal nicht mehr flattern da sich ein einmal generiertes Open nicht mehr verändert! Nach dem Open steht einen 10 Minuten Periode bis zum Abschluss ständig auf "CLOSE"! Das heisst CLOSE ist der letzte generierte Wert in der Kerze der bei unvollendeten festgeschrieben wird!

High_Low kann sich ebenfalls bis zum Abschluss der Periode ändern aber: Wenn High_Low einen konstanten Level crosst dann wird sich das Handelssignal nicht mehr verändern weil das Tief nicht mehr höher und das High nicht mehr tiefer wird! Wenn Du bei einer Kerze den Tick-Aufbau genau beobachtest, und eine horizontale Linie ziehst wirst Du feststellen das Close (=aktuelle Kurs) diese Linie mehrmals kreuzen kann wenn die Perioden unvollendet eingestellt werden! Genau dieses ständige crossen löst das verschwinden der Signale aus und führt,anders ausgedrückt, zum Signalflattern! Dafür wurden in ORM besondere Einstellungen implementiert aber es ist zunächst emphelenswert mit vollendetn perioden zu arbeiten



Zitat

Wenn ich Low / High verwende, könnte es doch passieren, dass der Kurs zwar kurz das Leven erreicht dann aber sofort in die Gegenrichtung abdreht - dies möchte ich vermeiden, oder habe ich jetzt einen Denkfehler?


Das kann absolut passieren-aber nicht nur bei High-Low sondern auch mit Open-Close. Ein Cross ist keine Garantie für den Fortbestand der Break-Richtung!


Zitat

Ich habe das gerade noch mal ausprobiert und unvollendete Perioden ausgestellt + nur 1 Signal pro Periode. Es kommen aber immer noch die Signale, sobald der Kurs über HHV geht wird eine Order generiert, im HS löst sich das Signal aber sofort wieder auf, im ORM hab ich einen Longtrade offen. Was habe ich da noch falsch eingestellt, oder liegt das nur am Close und gibt es keine andere Möglichkeit das zu beheben?


Du hast nichts falsch eingestellt sondern folgendes nicht bedacht:

ORM arbeitet teils unabhängig von Investox! Wenn ein Signal/Periode aktiviert wurde dann wird ORM auch nur ein Signal von Investox übernehmen. Dabei ist es ORM aber völlig egal ob Investox kein Signal mehr oder 100 in der gleichen Periode generiert!Entscheidend ist das ORM ein Signal von Investox bekommen hat!

Was passiert nun bei Deiner Einstellung:

Wie oben angesprochen ist Cross CLOSE, in Verbindung mit unvollendeten Perioden, in der Lage,ständig Signale zu generieren! Genau das wird in Investox vollzogen. ORM hat den "Auftrag" nur ein Signal/Periode zu akzeptieren,was es auch tut da die Order generiert wird! Jetzt kann es vorkommen das Close wieder unter den Level innerhalb einer Periode fällt. Die Folge ist: Das Signal in Investox verschwindet aber ORM bleibt LONG oder Short weil es nur ein Signal/Periode akzeptiert! ORM handelt korrekt aber das Handelssystem generiert Flattersignale und genau das muss vermieden werden!

Ich weiss das ist nicht sehr einfach zu verstehen und auch ich habe Anfangs mit dieser "mech. Denkweise" anfreunden müssen! Wenn detaillierte Probleme oder Fragen auftauchen auf die Du Dir keinen Reim machen kannst frage besser immer wieder nach als eine Funktion oder Formel einzusetzen, deren Hintergrund für Dich absolut nicht durchschaubar ist!
Happy Trading

Chris

unregistriert

7

Sonntag, 13. November 2005, 11:44

Hallo Udo,

vielen Dank für die lange Antwort.
Das Problem mit Close habe ich nun soweit verstanden, aber die Lösung dafür finde ich nicht zufriedenstellend. Ich habe die Formel mal mit Open und High/Low probiert. Open funktioniert gar nicht, es werden dann nur noch Trades nachs Gaps gemach. Bei High/Low werden die Trades zu früh gemacht, da schon teilweise lange Schatten der Kerzen ausreichen, um den Trade zu eröffnen.

Gibt es denn keine Möglichkeit ORM zu sagen, dass es erst handeln soll, wenn die Periode komplett ist also z.B. nur jede Stunde das Signal überprüft?

Oder übersehe ich jetzt einfach was? :baby:

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

8

Sonntag, 13. November 2005, 16:31

Hallo Chris,

das Signal ist komplett wenn die Periode abgeschlossen ist. Das HS in Investox muss, wenn das Close ein Signal geben soll mit vollendeten Perioden laufen dann wird exakt das Close Signal an ORM gesendet-vorher nicht!

Man kann mit HIGH_LOW und Close alle denkbaren Break-Situationen erfassen! ORM wird immer weiter laufen sobald es ein Signal verarbeitet. Du musst Dir das so vorstellen, wie wenn der Order beim Broker liegt! Das Order Book zeigt, was auf Deinem Konto bei IB passiert!

Wenn ein Level inmitten einer Periode auf Break geprüft werden soll, muss man mit HGH_LOW arbeiten! Die ENTER_EXIT Basis lässt sich dann wieder individuell einstellen! beschreibe ,wenn du nicht zurecht kommst,einfach noch mal Dein Schema in Worten und dann können wir das in eine Formel,Schritt für Schritt umsetzen!
Happy Trading

Chris

unregistriert

9

Sonntag, 13. November 2005, 17:29

Hallo Udo,

ich habe mal die Grafik angehängt um zu verdeutlichen was ich meine.
Ich komme immer noch nicht ganz mit den unvollendeten Perioden klar, soweit ich weiß, kann man die unter "Handelssystem einstellen aktualisierung" abstellen. Das habe ich gemacht. Muss ich dort auch einstellen Signalberechnung nur einmal pro Periode?
Beim Berechnungstitel kann ich auch noch einmal etwas mit unvollendeten Perioden einstellen, wofür ist das gut?
»Chris« hat folgendes Bild angehängt:
  • Unbenannt-2.gif

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

10

Sonntag, 13. November 2005, 23:26

Hallo Chris,

stelle das HS mal so wie in der Grafik ein und lasse es mit realen Daten im VB laufen!

Hier noch aus der Investox Hilfe ein Hinweis zu "ein Signal pro Periode":

Signalberechnung nur bei neuer Periode: Wenn diese Option aktiviert ist, erfolgt eine Neuberechnung der Signale nur, wenn eine neue Periode in der Komprimierung des Handelssystems vorliegt. Innerhalb der Periode finden keine weiteren Signalberechnungen mehr statt. Die Option ist insbesondere für Handelssysteme sinnvoll, die eine Komprimierung mit variabler Zeitachse (also zum Beispiel Multitick, Renko oder P&F) verwenden, bei denen eine einzige Aktualisierung pro Periode durch ein festes Zeitintervall der Aktualisierung nicht definiert werden kann.
Der Ablauf ist dabei wie folgt: Im eingestellten Aktualisierungsintervall erfolgt eine Prüfung, ob eine neue Datenperiode vorliegt. Falls eine neue Datenperiode vorliegt, erfolgt eine neue Berechnung der Handelsposition. Die Auswirkung ist unterschiedlich, je nachdem, ob die Option Signale auch bei unvollendeten Perioden aktiviert ist oder nicht:

·Bei vollendeten Perioden entspricht die einmalige Berechnung der Signale pro Periode einer Berechnung auf Closekurse.

·Bei unvollendeten Perioden entspricht die einmalige Berechnung der Signale pro Periode einer Berechnung auf Openkurse.(© 2005 Andreas Knöpfel)
»Udo« hat folgendes Bild angehängt:
  • Test.png
Happy Trading

Chris

unregistriert

11

Montag, 14. November 2005, 17:19

Hallo Udo,

ich hatte das genauso eingestellt wie du auf dem Bild.
Ich habe nur die Perioden auf 100 limitiert und die aktualisierungsrate auf 1 Sekunde stehen, aber das sollte doch eigentlich keinen Unterschied machen. Um das mit Livedaten zu testen hatte ich bisher keine Zeit, ich benutze immer nur einen Datenfeed. Vielleicht liegt es auch an dessen Einstellungen, muss ich da etwas beachten?
Auf jeden Fall gibt das Ordermodul jedesmal eine Order auf, sobald ein Kurs über HHV lag. Es muss sich doch irgendwie einstellen lassen, dass immer nur einmal nach jeder Periode geguckt wird, ob es Closekurs über HHV lag und dann die Order aufgegeben wird!? Oder verstehe ich immernoch nicht das Orderprinzip? :baby:


Viele Grüße
chris

Hier nochmal meine Einstellungen (vielleicht ist ja auch das was falsch):

***** Test-Einstellungen *****

Positionen: Long+Short
Enter-Basis: MAX(Open, HHV(Ref(High, -1), Perioden))
Short: MIN(Open, LLV(Ref(Low, -1), Perioden))
Delay: 0
Exit-Basis: MIN(Open, LLV(Ref(Low, -1), Perioden))
Short: MAX(Open, HHV(Ref(High, -1), Perioden))
Delay: 0
Buy/Hold-Basis: Close
Trade-Mindestdauer: 1
Out-Mindestdauer: 1
Punkte testen
Initial Margin: 5000 Euro
Wert pro Punkt: 1000 Euro
High/Low-Kurse zur Verlustberechnung verwenden!
Entry-Gebühren: 2 Euro
Exit-Gebühren: 2 Euro
Slippage: 10 Euro
Portfolio Zinssatz: 5
Risikotoleranz: 24
Kurs-Verlust Long+Short
bei VStopp Kurspunkten
ab 1 Perioden
Austiegsbasis:
Open
mit Delay 1
Kurs-Gewinn Long+Short
bei GStopp Kurspunkten
ab 1 Perioden
Austiegsbasis:
Open
mit Delay 1
Money-Manag. Fester Kontrakt
Anzahl 1

***** Order-Einstellungen- *****

Automatische Orderaufgabe ist aktiv
Broker: Virtueller Broker
Alle Angaben in Punkten
Mindestkapital: 5000
Std.-Stückzahl: 1
Manuelle Bestätigung: Keine

Enter-Order:
Bestens (at Market)
Kein Aufstocken von Positionen

Exit-Order:
Bestens (at Market)
Beim Drehen Enter/Exit separat ausführen

Sicherheits-Verluststop aktiv:
Stop Long: VStopp
Long-Stop wird getrailt.
Stop Short: VStopp
Short-Stop wird getrailt.
Sicherheits-Gewinnstop aktiv:
Limit Long: GStopp
Limit Short: GStopp

Signalumsetzung pro Periode begrenzen auf 1 Signal
Exit-Signale streichen offene Enter-Orders
Out-Signale als Exit-Signal verwenden
Hold-Signale als Enter-Signal verwenden

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chris« (14. November 2005, 17:20)


Chris

unregistriert

12

Mittwoch, 16. November 2005, 20:43

RE: Close > HHV richtige Formel?

Hallo zusammen,

nochmal eine Frage:

Die Perioden für HHV zu optimieren klappt so weit. Ich würde aber gerne noch die Periodenanzahl dynamisch anpassen. Bisher hab ich das per IF gemacht, aber auf der Testberechnungsseite muss ja dann bei den enter bedingungen auch die aktuelle periodenzahl angegeben, lässt sich das irgendwie realisieren?



gruß
chris

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

13

Mittwoch, 16. November 2005, 22:45

Hallo Chris,


>>>Ich würde aber gerne noch die Periodenanzahl dynamisch anpassen. Bisher hab ich das per IF gemacht..

Die HHV Perioden kann man leider nicht dynamisch berechnen dies eine Rechenoperation erfordert! Dies kann vom HHV/LLV Periodenfeld nicht ausgewertet werden!Oder meintest Du was anderes?


>>aber auf der Testberechnungsseite muss ja dann bei den enter bedingungen auch die aktuelle periodenzahl angegeben..

Das verstehe ich leider nicht ganz: Was meinst Du mit Testberechnungsseite?
Happy Trading

Chris

unregistriert

14

Mittwoch, 16. November 2005, 22:53

Hallo Udo,

warum gibt es denn überhaupt diese Beschränkung, dass man keine Rechenoperation verwenden kann? Ich verstehe nicht ganz, wo der Unterschied ist, ob jetzt ein berechneter Wert berechnet wird oder z.B. eine Optimierungsvariable übergeben wird.

Mit Testberechnungseite meine ich unter Handelssystem einstellen, Testbedingungen und dann die Enter/Exit-Basis? Kann man für diese eine Berechnung übergeben?

Bisher hatte ich z.B. If...dann HHV(12) sonst HHV(20) bei Enter/Exit basis steht bisher z.B. MIN(Open, LLV(Ref(Low, -1), Perioden))
Hier müßte ja die Periodenzahl dann angepasst werden? Muss man hierzu quasi die IF schleife einfach zweimal und eingeben (Einmal für Hhv und einmal für MIn(..) oder gibt es andere Möglichkeiten?

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

15

Donnerstag, 17. November 2005, 00:13

Hallo Chris,

ich kann Dir leider nicht beantworten warum man an HHV_LLV nicht direkt mit Rechenoperationen ansprechen kann! Es könnte ein Programmier-internes Problem geben-was aber nur eine Vermutung ist! Herr Knöpfel kann uns dies sicher sehr viel detaillierter erklären!

Zum zweiten Problem:



Zitat

Bisher hatte ich z.B. If...dann HHV(12) sonst HHV(20) bei Enter/Exit basis steht bisher z.B. MIN(Open, LLV(Ref(Low, -1), Perioden))
Hier müßte ja die Periodenzahl dann angepasst werden? Muss man hierzu quasi die IF schleife einfach zweimal und eingeben (Einmal für Hhv und einmal für MIn(..) oder gibt es andere Möglichkeiten?


Der Level wird nicht in der ENTER BASIS, sondern schon in der Definition berechnet. Daher ist es für die ENTER BASIS nicht entscheidend welcher Level der beiden berechnet wird!Im Anschluss habe ich ein System zusammengeklickt,das dies verdeutlicht. Zur besseren Visualisierung kannst Du den Indikator noch im Chart darstellen (siehe Grafik).in dem beispiel wurde die Wahl des HHV-Levels vom Momentum abhängig gemacht!Wichtig ist bei dieser Konstellation das keine Formel CLOSE ohne REF-1 verwendet!!!! Es kann Open sowie Berechnungen mit REF -xy eingesetzt werden!




***** Regeln ******

Enter Long:
(Cross(high, Level_Var, 1) = 1)

Übergreifende Definitionen:
global calc Level_Var:(If(MOM(Open, 20)>100, HHV(Ref(High, -1), 20), HHV(Ref(High, -1), 5)));


***** Test-Einstellungen *****

Positionen: Long
Enter-Basis: MAX(Open, Level_Var+0.01)
Delay: 0
Exit-Basis: Close
Delay: 0
»Udo« hat folgendes Bild angehängt:
  • Test.png
Happy Trading

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

16

Donnerstag, 17. November 2005, 10:14

Hallo,

>>Ich verstehe nicht ganz, wo der Unterschied ist, ob jetzt ein >>berechneter Wert berechnet wird oder z.B. eine Optimierungsvariable >>übergeben wird.

Das geht jetzt etwas durcheinander: Man muss unterscheiden zwischen Konstanten (fester Wert) und Berechnungen (das sind Zeitreihen mit unterschiedlichen Werten). Die meisten Perioden-Einstellungen erfordern feste Werte, also Konstanten. Diese Konstanten können allerdings auch eine Berechnung beinhalten (z.B. "7+3*2") und auch als Optimierungsvariable definiert werden.
Eine Berechnung als Periodenangabe setzt demgegenüber intern eine völlig andere Vorgehensweise voraus. Das heisst nicht, dass wir diese Indikatoren nicht entsprechend modifizieren könnten bzw. auch werden (die aktuellsten Kandidaten hierfür sind HHV, LLV und Power).

Viele Grüße
Andreas Knöpfel

Chris

unregistriert

17

Donnerstag, 17. November 2005, 17:45

Hallo Herr Knöpfel,

das hört sich gut an und würde viel Arbeit sparen!
Danke.