Dienstag, 16. April 2024, 06:52 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

PnLtobePositive

unregistriert

1

Sonntag, 10. Januar 2010, 21:22

Swing Reversal (erster Lernversuch)

Leider habe ich keine Erfahrung in VBScript, daher dieses Posting. Erste Gehversuche...

Es taucht da ein hartnäckiger Syntaxfehler auf, den ich nicht beseitigen konnte. Hat jemand eine Idee, wie ich die "If then Bloecke" so gestalten kann, dass der Fehler entfällt?

Sicherlich sind da noch weitere Schnitzer drin... :whistling:

Vielen Dank

Alexander

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
26
27
28
29
30
31
32
33
getdaten "open", opendaten
getdaten "high", highdaten
getdaten "low", lowdaten
getdaten "close", closedaten

...

dim Price(10000000)
dim Time(10000000)

...

'day+1 schleife

While DayNo<PeriodenEnd

  if highdaten(2)-Price(1)>Boxsize*ReversalAmout then

...

  elseif Price(1)-Low(2)>Boxsize*ReversalAmount then 

...

  else

    DayNo=DayNo+1

  end if

Wend 

...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »PnLtobePositive« (12. Januar 2010, 19:42)


Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

2

Sonntag, 10. Januar 2010, 21:41

wie wäre es mal mit Fehlermeldungen posten?

dim Price(10000000) 'Create two array variables called price and time to hold the swing data
dim Time(10000000)

Gar nicht schön.
Dim mit anschließendem redim(PeriodenEnd) ist deutlich elgeanter.

Aber ohne es zu testen kann ich DIr sagen, dass das hier IMHO nicht funktionieren kann:
if highdaten(2)-Price(1)>Boxsize*ReversalAmout then
...
elseif Price(1)-Low(2)>Boxsize*ReversalAmount then
...
else
...
end if
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

3

Montag, 11. Januar 2010, 00:10

Ja, Fehlermeldung posten bei einer solchen Frage wär mal was.

Wenn ich mir das so angucke, verwechselst Du die Begriffe end if und endif else if und elseif. Sowie das Coding aussieht, meintest Du endif und nicht end if elseif und nicht else if in etlichen Zeilen, und sicher fragt der Scripting Host Dich desswegen nach fehlenden then's.

Die Anforderung Deines Arbeitsspeichers ist ausserdem ambitionös :rolleyes:

Dann ist die Verwendung für Set für Objektverweise vorgesehen und nicht für normale Zuweisungen, und die Ansteuerungen Deiner Unterprogramme erschliesst sich einem eigentlich gar nicht. Wahrscheinlich dem Scripting Host auch nicht.
Gruss
Bernd

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bernd« (11. Januar 2010, 02:04)


PnLtobePositive

unregistriert

4

Montag, 11. Januar 2010, 00:47

Die Fehlermeldung lautet:

'If' erwartet in Linie:
end Sup

Nun gibt's ja viele End Sups, daher hatte ich "While" ohne alles an verschiedene Stellen des Codes geschrieben, um zu sehen, wo der Fehler auftritt. Genützt hat mir's nichts... :huh:

Die Microsoft Referenz sagt zur If Then Else:

If Bedingung Then
[Anweisungen]
[ElseIf Bedingung-n Then
[elseifAnweisungen]] . . .
[Else
[elseAnweisungen]]
End If

Insofern:

Endif gibt's nicht...

Zitat

die Ansteuerungen Deiner Unterprogramme erschliesst sich einem eigentlich gar nicht. Wahrscheinlich dem Scripting Host auch nicht.

:D
Ja, das mag durchaus stimmen! Bei vielen Dingen musste ich einfach schnell schätzen was funktionieren könnte. Offenbar lag ich ziemlich daneben.

Das muss noch ein wenig reifen...

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

5

Montag, 11. Januar 2010, 01:58

> Endif gibt's nicht...
Klar, sieht man ja schon an der Editor-Farbe beim eintippen in Investox. Das hab' ich ja auch nicht gemeint ;( sondern nun hat auch bei mir der Tippfehler zugeschlagen:

> meintest Du endif und nicht end if

sollte heissen
... meintest Du elseif und nicht else if ...

guckst Du z.B. in Zeile 108. Beide Varianten sind möglich, haben aber unterschiedliche Bedeutung!

Ich hab's im ersten Beitrag korrigiert, damit es im Sinnzusammenhang passt.

Bei else if und elseif sieht man im Investox Editor übrigens natürlich keine Ungereimtheit an der Farbe, weil beide Schlüsselworte möglich sind!, erkannt und farblich hervorgehoben angezeigt werden. Wenn man sich nicht auskennt, geht sowas dann schonmal daneben.
Gruss
Bernd

PnLtobePositive

unregistriert

6

Montag, 11. Januar 2010, 04:04

Klar. Mit elseif geht's. Nun kommt der nächte Fehler. Prima, wieder ein Schritt weiter. :thumbup:

PnLtobePositive

unregistriert

7

Mittwoch, 10. November 2010, 08:00

Chart Komprimierung 60sec GBP/CHF

Zukunftsblickender Zigzag:
ZigZag(Ref(Komp(#close#, #P&F/3T/5/A#), -1), 0.005, $, K) (A)

und die dazugehörige Steigung:
ROC(ZigZag(Ref(Komp(#close#, #P&F/3T/5/A#), -1), 0.005, $, K), 1, $) (B)

Wie kann ich am einfachsten die Deltas auf der X- und Y-Achse bestimmen in Investox Sprache?
Also z.B.:
X-Achse: 345min ansteigend, dann 45min absteigend usw.
Y-Achse: 25pips rauf, dann 167 runter usw.

Es läuft auf die Messung der Höhe und Breite der in Formel B gegebenen Rechteckbeschreibung hinaus...

Gruß

Alexander


PS: Verschoben um eine Swing Periode scheint das ein Ansatz für die X-Achse zu sein:

calc B: ROC(ZigZag(Ref(Komp(#close#, #P&F/3T/5/A#), -1), 0.005, $, K), 1, $);

ABS(ValueWhen(SuppBars(A, 0.000001, 0.000001, $, s), A<>0, 1, V)-
ValueWhen(ResistBars(A, 0.000001, 0.000001, $, s), A<>0, 1, V))/60

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »PnLtobePositive« (10. November 2010, 16:47)