Donnerstag, 18. April 2024, 15:46 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.

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

1

Mittwoch, 15. Juni 2011, 21:38

Anzahl der Perioden ab Anfang der Datenreihe

Hallo,

gibt es eine Möglichkeit, die "Anzahl der Perioden ab Anfang der Datenreihe" zu ermitteln ?

Hintergrund: Ich teste ein HS mit einem längeren gleitenden Durchschnitt als Teil einer Exitbedingung und stelle fest, dass das HS (bei einer anderen Entrybedigung) erst einsteigt, wenn auch der lange GD anfängt zu laufen. Dadurch erfolgt der Einstieg (zu) spät, obwohl die Entrybedingung bereits früher gegeben wäre. Daher möchte ich die Exitbedingung in Abhängigkeit von der Anzahl der Perioden abhängig machen (zumindest das mal testen).
Viele Grüße,
Investor

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

2

Mittwoch, 15. Juni 2011, 22:44

Hallo Investor,

Zitat

gibt es eine Möglichkeit, die "Anzahl der Perioden ab Anfang der Datenreihe" zu ermitteln ?


Ja- das geht z.B. mit dem folgenden VBS-Script in einem Anwenderindikator

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
dim i
Dim close

getdaten "close",close

StartI = ErsteDatenPeriode(close)
EndI = LetzteDatenPeriode(close) 
 
For i = StartI  To EndI     
     
   ergebnis(i) = i - 1 

  
  next


bzw. in der V6 auch direkt innerhalb vom neuen V6-Indikator VBScript:

Quellcode

1
2
3
4
5
6
7
8
VBScript(#>>dim i
Dim close
getdaten "close",close
StartI = ErsteDatenPeriode(close)
EndI = LetzteDatenPeriode(close) 
For i = StartI  To EndI
ergebnis(i) = i - 1
  next<<#)


Zitat

dass das HS (bei einer anderen Entrybedigung) erst einsteigt, wenn auch der lange GD anfängt zu laufen.


Eine andere Möglichkeit wäre, Ersatzwerte für den GD zu definieren. Diese Ersatzwerte werden angezeigt, wenn der GD keine Werte liefert.

Quellcode

1
Ersatz(GD(close,200,e),0)


oder auch

Quellcode

1
Ersatz(GD(close,200,e),close/2)
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

3

Mittwoch, 15. Juni 2011, 23:05

Hallo Anke,

danke für Deine schnelle Antwort :) . Ich denke, die "Ersatz"-Lösung ist eine sehr gute Idee und hilft mir schon gut weiter, ich kann das ja möglicherweise etwas weiter verschachteln (50/100/150/200). VBS-Script sind mir mangels Programmierkenntnissen eher "unheimlich" (habe auch noch nicht V6), aber ich würde das bei klarem Kopf am Wochenende mal versuchen, umzusetzen.

Noch eine Verständnisfrage hierzu: Könnte das in einem VBS-Script auch so dargestellt werden, dass die Anzahl der Perioden im GD solange seit Beginn der Datenreihe um 1 steigt, bis z.B. der GD 200 erreicht wird ?

P.S. Das Ganze ist natürlich auch eher ein Extremfall für Aktien "kurz" nach Börsengang.
Viele Grüße,
Investor

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

4

Donnerstag, 16. Juni 2011, 00:20

Hallo Investor,

Zitat

VBS-Script sind mir mangels Programmierkenntnissen eher "unheimlich" (habe auch noch nicht V6),


Das kann ich gut verstehen- aller Anfang ist schwer, besonders beim Programmieren.
Die Scripte, die ich Dir gepostet habe, sind aber fertig.
Du musst also nur einen ganz normalen Anwenderindikator in Investox neu anlegen, dann im Indikator das Häkchen bei "VBScript" setzen und meinen ersten Quellcode aus dem Posting von 22:42 in den Indikator kopieren.

Zitat

Noch eine Verständnisfrage hierzu: Könnte das in einem VBS-Script auch so dargestellt werden, dass die Anzahl der Perioden im GD solange seit Beginn der Datenreihe um 1 steigt, bis z.B. der GD 200 erreicht wird ?


Ja, auch das ist möglich.
Ich hänge Dir mal zum Testen das VBS-Scrfipt für einen solchen Indikator an (Berechnungsart =Standard-GD).


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
dim i
Dim bar,sum,gd,counter


StartI = ErsteDatenPeriode(daten)
EndI = LetzteDatenPeriode(daten) 

redim gd(EndI)

For i = StartI To EndI
   bar = i - 1
   if bar < Perioden then
   sum=sum+daten(i)
  gd(i)=sum/bar
  else
 sum=0
counter=0
         Do While Counter < Perioden
         Sum = Sum + daten(i - Counter)
         Counter= Counter + 1
        Loop
           gd(i) = Sum/Perioden
end if
   ergebnis(i)=gd(i)
  next


Auch dieser Code ist ferig zum in den Indikator kopieren.
Damit der Indikator läuft, musst Du aber bei diesem Code zuerst noch folgende beiden Parameter definieren:


1. Name = Daten, Typ=Datenreihe, Standard=close
2. Name=Perioden, Typ=Wert, Standard = 200, Minimum=0, Maximum = 5000
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

5

Donnerstag, 16. Juni 2011, 06:54

Hallo Anke,

danke für das weitere Script, muss ich mich in Ruhe damit beschäftigen und überlegen, welche Lösung mich auf einfachem Wege weiterbringt. Denn gleich kommen weitere Fragen auf, denn ich nutze keine Standard-GDs, sondern adaptive, und dann wird scheinbar noch komplizierter mit VBS. Die Problematik entsteht ja auch immer nur am Anfang einer Datenreihe, später funktioniert es ja wie gewollt.
Viele Grüße,
Investor

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

6

Freitag, 17. Juni 2011, 19:21

Hallo Investor
denn ich nutze keine Standard-GDs, sondern adaptive, und dann wird scheinbar noch komplizierter mit VBS.

Mit anderen GD's als den Standard-GD's wird's nicht speziell wegen VBS komplizierter, sondern vor allem der Natur der Sache wegen: nur die Standard-GD's sind "ehrlich", ebenso nur die Funktionen, die (wenn sie schon GD's verwenden) sich auf Standard-GD's beschränken. (kein Investox Problem, sondern in der prinzipiellen Definition der jeweiligen Indikatoren bedingt, die aus Zeiten vor dem automatischen Handel stammten).

Lies mal bitte diesen Thread zwecks KnowHow Update. Für Backtest alles ohne Probleme, bei sehr begrenzten Perioden, wenn das Ding mit kleiner Basis-Komprimierung mal Life gehandelt werden soll, solltest Du sehr vorsichtig sein! Im Einzelfall muss man die Formel der GD Berechnung analysieren und sichergehen, dass nicht bei begrenzter Periodenzahl ein zwar gültiger, aber nicht korrekter Wert in das Handelssystem einfliesst!

Darüber hinaus lassen sich natürlich die speziellen GDs auch in VBS verwenden, wenn es denn unbedingt sein soll.
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (17. Juni 2011, 19:36)


Registrierungsdatum: 30. September 2005

Beiträge: 347

Wohnort: München

7

Samstag, 18. Juni 2011, 11:38

Hallo Bernd,

vielen Dank für den Know-How-Hinweise; mir ist schon bewusst, dass es Probleme insbesondere am Anfang einer auf einer Durchschnittsberechnung basierenden Datenreihe gibt, bevor sie in einen eingeschwungenen Zustand kommt. Ich handele allerdings in eher grösseren Komprimierungen, und vom Backtest her sieht es auch recht passabel aus. Ich fühle mich mit einem adaptiven GD für den von mir hier verfolgten Zweck einfach besser, und ich möchte meine Systeme auch in der Programmierung möglichst einfach halten, denn in zwei Jahren kann ich möglicherweise nicht mehr so genau nachvollziehen, wie das Ding nun programmiert ist. Es ist ja auch kein Investox-Problem, sondern ein individuelles und ganz spezifisches Anwendungsthema.

Aber die Problematik der späten Signalgebung, bis eine Durchschnittsberechnung erstmalig greift, habe ich zugegebenermassen auch erst recht spät erkannt, weil es bei meinen anderen HS da auch ohne Bedeutung war.

@Anke: Nochmals vielen Dank für die Indikatoren, ich habe die "Ersatz"-Lösung eingebaut, und das sieht tatsächlich ganz gut aus. Und erneut stelle ich fest, dass Investox viele Lösungen zulässt.
Viele Grüße,
Investor