Freitag, 19. April 2024, 09:36 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.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

1

Sonntag, 25. Oktober 2009, 12:38

Doku zur Anwendung von EinfacheLinie()

Hallo zusammen

Dieser Thread soll die Anwendung des Indiaktors EinfacheLinie() dokumentieren und auch die Diskussionen dazu aufnehmen. Der Indikator soll es auf einfache Weise möglich machen, verlängerbare Linien und Linienbündel in der Investox Handelssprache zu formulieren.

Der Indikator selbst ist in VBScript formuliert, und zeigt, dass man auch mit dieser einfachen Script-Sprache durchaus strukturiert programmieren kann. Ich hoffe, dass die in den Sourcen gezeigten Möglichkeiten der Strukturierung und dem Debugging (! einfach unverzichtbar bei der Entwicklung) von anderen Benutzern aufgegriffen werden und damit weitere VBScript Projekte angeregt werden!

Entstanden ist der Indikator nach Diskussionen in diesen Thread uns später auch diesen Thread.

Den Indikator habe ich in die Datenbank reingestellt. Zunächst ein paar Bilder dazu; wie die mit dem Indikator zuwege gebracht werden, beschreibe ich dann im Laufe der nächsten Beiträge in diesem Thread.

Bild 1, verlängerte Linien an Swing-Punkten


Bild 2, Open erste Handelsstunde


Bild 3, Eröffnungstrichter 1. Handelsstunde


Bild 4, Viele Eröffnungstrichter


Für Bild 1, braucht es einen Inikatoren-Aufruf, für Bild 4 auch nur zwei Aufrufe. Wie dies zustande kommt, zeigen dann die nächsten Beiträge in diesem Thread.
Gruss
Bernd

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

2

Sonntag, 25. Oktober 2009, 13:06

Hallo Bernd,

ich finde das Thema sehr interessant und wollte schon immer mal mit Trendlinien experimentieren, aber bin bisher einfach nicht dazu gekommen.

Wau, Du hast Dir da eine Menge Arbeit gemacht, habe mir gerade mal den Indikator angeschaut. Eine richtige saubere Dokumentation, mit History und sogar einer Grafik, auch eine Versionierung fehlt nicht. Genau so sollten Softwareprojekte aufgebaut sein.

Das alles gefällt mir gut.

Viele Grüße
Torsten

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

3

Sonntag, 25. Oktober 2009, 13:49

Hallo Torsten

Dein Lob freut mich sehr. Ich hatte eine Weile überlegt, das Script passwortgeschützt weiterzugeben oder auch sicherheitshalber gar das Ding eben für VB anzupassen, zu compilieren und eine .dll daraus zu machen. Ich bin zugegebener massen nicht so ein Freund davon, meine Arbeitsergebnisse Open Source weiterzugeben. Kostenlose Weitergabe von KnowHow hat mir persönlich noch nie die Miete gezahlt.

Andererseits habe ich selbst am Anfang meiner Programmierer-Laufbahn vor mehr als 3 Jahrzehnten am meisten aus Beispielen anderer gelernt (und es war damals nicht sooo leicht, da dran zu kommen!). Und wie anders könnte man im Falle von Investox Programm-Code zeigen, wie man es macht, wenn nicht durch einen offenen und guten Quellcode. Desswegen habe ich die Quellen für diesmal veröffentlich.

Wie gesagt, die normale Doku in Prosa und Bild kommt noch. Jetzt brat ich mir erstmal ein Steak, dazu gibt's Kräuterbutter und Kartoffelküchli.

Später hoffe ich, dass andere vielleicht gute Start- und Endesequenzen für EinfacheLinie() veröffentlichen, die sich zu handeln lohnen. Vielleicht hilft als Ausgleich das ja dann beim Miete zahlen


PS: Hilfe, die Bilder aus dem ersten Beitrag sind plötzlich weg. Offensichtlich sind noch immer Nacharbeiten aus dem Foren-Umzug im Gange. Ich warte mal, bis sich das stabilisiert. Gestern hat es mir auch mitten im Schreiben einen längeren Beitrag einfach gespült ;(
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Sonntag, 25. Oktober 2009, 15:31

Hier kommen die Einstellungen für Bild 1 aus dem ersten Beitrag. Ich habe für die Swing-Punkte einfach mal diesen Swing_Punkte Indikator verwendet, den Augustus damals hier veröffentlich hat (um das Beispiel nachzuvollziehen, muss man sich also noch diesen Indikator zusätzlich laden). Dann geht es so weiter:



Der Indikator EinfacheLinie() wird (zum einfachen abkopieren hier nochmal wiederholt) so parametrisiert:

Zitat


EL(close, Ref( Swing_Punkte(Low, High), -1) <> Swing_Punkte(Low, High), close, Ref( Swing_Punkte(Low, High), -1) = Swing_Punkte(Low, High), -1, 1, (high+low)/2)


Ich tippe nicht gerne etwas 2x, deshalb kopiere ich mal die Bedeutung der Parameter-Eingabefelder aus meiner Indikatoren Doku hier rein:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
' Die Parameter im Einzelnen:
' ---------------------------
' Wert1   - Wert an den Startpunkten, d.h. der am Punkt Beding1=wahr geliefert wird 
'			Sonderfall: wird hier -086101114115105111110 mitgegeben (-Version in ASCII Code), 
'           so wird die interne Versionsnummer des Scripts zurückgegeben
' Beding1 - Bedingung um eine (neue) Linie zu starten (beendet eine eventuell noch offene Linie) 
' Wert2	  - Wert an den Endpunkten, d.h. der am Punkt Beding2=wahr geliefert wird 
' Beding2 - Bedingung, um die jeweilige Linie zu beenden 
' Verlaengern - die Linie um x Perioden Verlängern, bei -1 Linien bis zum nächsten Beding1()
'			Ereignis verlängern bzw. bis zum Chartende
' Unvollendet - 0 - keine unvollendete Periode zeichnen, 1 - letzte Perioden ggf. unvollendet einzeichnen 
' Wert3	  - Wert bei unvollendet=1
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

5

Sonntag, 25. Oktober 2009, 18:50

Kommen wir nun zu den Bildern 2 bis 4, dem Eröffnungstrichter:

Zuerst brauchen wir die Eröffnungslinie, welche die beiden Open (das der Handelseröffung und das eine Stunde danach) miteinander verbindet und verländert. Das ist in Bild 2 im Eingangsposting dargestellt, und das geht so:
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

6

Sonntag, 25. Oktober 2009, 19:02

Zum Bild 3 und 4: dann kommt die Linie vom Open der Handelseröffnung zum close der ersten Handelsstunde, das geht so:


(Genaugenommen müsste man bei einer 5 Minuten Komrimierung bei Beding2 eintragen: Uhrzeit=16:25 und bekäme damit das Close der Periode, also 16:25:59. Oder man würde bei Wert2 Open eintragen und als Beding2 Uhrzeit=1625; aber für dieses Beispiel lassen wir es mal so, bekommen also eigentlich einen Trichter der ersten 64 Minuten und 59 Sekunden).

Wichtig ist, dass man "Säulen ab Basiswert" anhakt und dort in unserem Fall "EL Markt Open" einträgt, also den Namen, den wir dem vorhergehenden Indikatoren-Aufruf gegeben haben.

Im Chart selbst sollte man nun noch jede der beiden Indikatoren markieren und mit der rechten Maustaste im Kontext "In den Hinterdergrund" wählen, damit die anderen Chartelemente sichtbar bleiben.

Schon fertig :)
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

7

Sonntag, 25. Oktober 2009, 19:14

Tipps:

* wenn man die Linien handel möchte, würde man die Indikatoren-Aufrufe natürlich in den Definitionen des HS platzieren und im Chart via #_loadglobal# für die Anzeige darauf zugreifen

* ob der Indikator EL() in die Zukunft schaut oder nicht, hängt davon ab, was man bei den Parametern Wert1, Wert2 und ggf. Wert3 in Verbindung mit den beiden Bedingungen Beding1 und Beding2 eingibt. Man muss sich also an die ganz normalen Regeln halten, die auch sonst gelten (Ref,-1) ausser für open usw., dann ist der Indikator sauber. Sonst nicht, aber da kann er dann nix dazu

* In den hier gezeigten Beispielen habe ich jeweils den Parameter "verlaengern" auf -1 gesetzt. Verwendet man 0 oder eine positive Zahl, wird nicht oder nur um die angegebene Anzahl Perioden verlängert. In diesem Fall entstehen im Ergebnis() -Raum Zeiten mit für die Chartanzeige gültigen Werten und solchen ohne Werte (K/A). In diesem Fall zeigt die Investox Chart-Anzeige nicht korrekt an:

die erste Linie im sichtbaren Bereich wird noch richtig angezeigt, die weiteren aber nicht mehr, weil die Investox Chartanzeige mit der Darstellung eines Indikators in dem Moment aufhört, in dem wieder K/A geliefert wird. Dass da dann noch weitere Linien-Fragmente kommen, ist der Chart-Anzeige egal.

Man muss für diesen Fall den Indikator zusammen mit Ersatz() verwenden, aber "schön" sieht der Chart dann nicht mehr aus ... Falls Herr Knöpfel hier mitliesst: es wäre toll, wenn man die Chartanzeige dazu bringen könnte, auch Linien mit abwechselnd gültigen Werten und K/A im Chart sauber anzuzeigen!
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

8

Sonntag, 25. Oktober 2009, 19:52

Weitere mögliche Ausbaustufen für die EinfacheLinie:

* momentan werden zwei Wertepaare linear verbunden: denkbar wäre, dass man stattdessen eine Formel als Parameter mit gibt, welche eine wie auch immer geartete parabolische Funktion enthält. Man darf nur nicht vergessen, dass man zum Zeitpunkt der Beding1 nie weis, wann diese parabolische Verbindungslinie enden wird, man kann ja nicht in die Zukunft sehen ...

* auch die Verlängerung zweier Stützpunkte könnte statt wie jetzt mit einer Formel definiert werden. Wegen Zukunftsblick gelten die gleichen Einschränkungen wie im vorhergehenden Absatz

Sicher fällt Euch ein, was man noch alles machen könnte; wie auch immer sollte die Linie dann nicht mehr EL() heissen, sondern NSEL() d.h. nicht so einfache Linie 8)

So, ich habe fertig mit Doku.

*** Ende so far
Gruss
Bernd

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

9

Dienstag, 27. Oktober 2009, 18:46

Hallo,

ich möchte ein kleines Video beisteuern, wo eine Tradingstrategie erklärt wird, die auf Trendlinien basiert. Es sieht auf dem ersten Blick sehr einfach aus, aber das zu Programmieren dürfte selbst mit dem Indikator EinfacheLinie() nicht ganz ohne sein.

http://der-forex-millionaer.de/?page_id=362 ... gleich das 1.Video oben (zu Trendlinien)

Viele Grüße
Torsten

PS:
Ich finde das Video ganz interessant, möchte aber hier keine Werbung für die WebSeite an sich machen.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

10

Donnerstag, 29. Oktober 2009, 11:05

Hallo

Ich habe mir das Video mal angesehen und es hat hohen Unterhaltungswert. Ausserdem ist es ganz einfach, die Strategie umzusetzen. Man nimmt einfach den ersten der drei Stützpunkte als Beding1 und den 3. Stützpunkt als Beding2 in den Indikator rein; verlaengern setzt man auf -1 und unvollendet auf 0; dann handelt man die Verlängerung der Linie :D

Nee, im Ernst, is klar. Das Problem ist, dass es keine allgemeingültigen Algorithmen gibt, um die Stützpunkte mathematisch genau zu bestimmen.

Den hohen Unterhaltungswert des Videos sehe ich, neben den symphatischen Erklärungen einer Strategie mit in die Zukunft verlegter Beweisführung, darin, dass der Kollege mit der Erklärung der Strategie *links* im Chart beginnt. Das finde ich immer wieder erfrischen zu sehen. Als nächstes wird dann auf die Chartmitte übergegangen. Hallo? Da könnten wir ja gleich Ref( ,20) programmieren :baby:

Dann werden die Indis auf Sicht eingezeichnet; dass also die "Trendlinie" nicht ein wildes Gewussel von Handelsperioden, die zufällig drei tiefe Punkte auf einer Linie haben, verbindet, ist auf Sicht genauso leicht zu erkennen wie die Stellen, auf denen die Stützpunkte sind.

Mathematisch schwer zu erfassen, aber halbautomatisch liesse es sich mit Investox und den Tradinglinien natürlich leicht handeln. Nur Backtest ist so nicht und ob es so funktioniert - warten wir ab ob der Kollege in 1 Jahr auf seinem Tacking-Rekord die Million ausweisen kann (was ich ihm gerne wünsche; wie gesagt ich finde es sehr nett gemacht).

Es gibt verschiedene Ansätze im Web, und unter Investox könnte man anfangen, mit HHV/LLVBars(), SLRSLope() und ähnlichem zu experimentieren, um die Stützpunkte für EinfacheLinie() zu bestimmen.

Also, ich hab' mal die Linie programmiert, nun seid's Ihr dran :)
Gruss
Bernd

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

11

Donnerstag, 29. Oktober 2009, 11:42

Hallo Bernd,

ob die Strategie im Video was taugt oder doch nur ein Fake ist, kann man eventuell morgen live im Internet mitverfolgen. Von 17-19Uhr ist ein Webseminar geplant, wo er seine Strategien vorstellt. Unterhaltsam ist es bestimmt.

Viele Grüße
Torsten

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

12

Donnerstag, 29. Oktober 2009, 12:22

Hallo Torsten

Ob die Strategie was taugt oder nicht - wird uns auf jeden Fall wie oben angedeutet nicht helfen, valable Stützpunkte für EinfacheLinie() in diesem DOKUMENTATIONS-Thread im Forum Formelsprache und Handelssystementwicklung zu finden.

Wenn also jemand Vorschläge hat, wie man z.B. aus der EinfachenLinie() konkret eine automatische Tradelinie machen könnte, dann wäre es hier sehr willkommen. Ansätze, die sich auf jeden Fall nur für halbautomatisches Trading eignen, könnten wir dagegen in einem anderen Thread weiter besprechen. Danke.
Gruss
Bernd

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

13

Freitag, 30. Oktober 2009, 15:10

Hallo,

>>es wäre toll, wenn man die Chartanzeige dazu bringen könnte, auch
>>Linien mit abwechselnd gültigen Werten und K/A im Chart sauber anzuzeigen!

das lässt sich machen.

Viele Grüße

Andreas Knöpfel

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

14

Freitag, 30. Oktober 2009, 17:23

:) danke schonmal
Gruss
Bernd