Metastock: Fehlermeldung beim Systemtest

Ich möchte einen Systemtest machen, aber es erscheint immer "period out of valid range in blabla function".

Der Indikator selbst wird aber angezeigt, und ich habe die maximale Zahl in den chart geladen. Was kann ich tun?

redsnapper

Geschrieben von Gast (nicht überprüft) am
BKuerbs
Mitglied seit 11 Jahre 11 Monate

Könntest Du nähere Angaben machen? Welcher Indikator, welches Instrument, vielleicht ein Bild hier reinstellen. Die Meldung habe ich noch nie gesehen (das heisst aber nicht viel), vielleicht kann man das ja nachvollziehen.

Mit freundlichen Grüßen

Bernd Kürbs

Gast

Hallo Bernd,

Bilder rein stellen tu ich nicht mehr, weil das die Ladezeit der Seite zu sehr beeinträchtigt. ;)

Geplant hatte ich auf einen NQ 5min chart laufen zu lassen, aber die Meldung kriege ich auch für daily charts.

System

Enter long:
Cross(opt1,ForecastOsc(CLOSE,opt3))

Enter short:
Cross(ForecastOsc(CLOSE,opt3),opt2)

opt1: 5-21 step: 1
opt2: 1-15 step: 1
opt3: -15 -1 step: 1

Indikator

Forecast osc:
Pds:=Input("Time Periods",1,1000,5);
Fld:=Input("Price Field 1=C 2=O 3=H 4=L",1,4,1);
PFld:=If(Fld=1,C,If(Fld=2,O,If(Fld=3,H,L)));
Sig:=Input("Signal MA Periods",1,200,3);
ForO:=((Pfld-(Ref(LinearReg(Pfld,Pds),-1)+
Ref(LinRegSlope(Pfld,Pds),-1)))*100)/Pfld;
ForO;
Mov(ForO,Sig,E);
{end}

Fehlermeldung

"The selected test was not completed becasuse the enter long formula terminated
with the following error message:
Period out of valid range in Forecastosc() function"

BKuerbs
Mitglied seit 11 Jahre 11 Monate

Ich habe es nicht ausprobiert, aber versuche es mal mit ForecastOsc(opt3, Close)).

Der ForeCastOscillator will als erstes Argument die Time Periods, hier hast du den Closewert eingegeben.

Viel Erfolg

Bernd Kürbs

Gast

Das war es leider nicht. Für opt3 kam dann "constant variable expected", was eher für das CLOSE sprechen würde.

Ich schau mal weiter.

Vielen Dank!

BKuerbs
Mitglied seit 11 Jahre 11 Monate

Da hast du Recht, der Funktionsaufruf für den Systemtester unterscheidet sich in seinen Parametern vom Indikator. Der Funktionsaufruf will das Array und die Perioden haben, Close und opt3 sind ok. Beim Anschauen Deiner OPT-Parameter ist mir aufgefallen, dass Du die Werte für opt3 von -15 bis +1 laufen lassen willst: Schreibfehler?

Ein negativer Wert für eine Zeitperiode macht eigentlich keinen Sinn und auch wenn Du in Deinem Funktionscode die REF Funktion verwendest, scheint mir der Aufruf des (eingebauten) ForecastOsc hier einen positiven Wert zu erwarten. Ich habe das gerade ausprobiert, wenn ich negative Werte für opt3 einsetze erhalte ich keine Ergebnisse, aber auch nicht Deine Fehlermeldung. Welche Version verwendest Du (ich habe MS 7.21)?

Zudem habe ich erst Ergebnisse bekommen, nachdem ich folgende Änderungen gemacht habe: Ich habe den Test auf den SP500 gemacht, mit 5min Daten. Die Bedingung Cross(opt1,ForecastOsc(CLOSE,opt3)) habe ich geändert in Cross(-opt1*0.1,ForecastOsc(CLOSE,opt3)) und den Wertebereich für opt1: 1-5 Schritt 1. Analog bei EnterShort.

Grund: der Forecastosc bewegt sich für den SP500 hauptsächlich zwischen +0.5 und -0.5, Werte zwischen 5 und 21 werden überhaupt nicht erreicht, also gibt es auch kein Signal.

Viel Erfolg

Bernd Kürbs

metatrader
Mitglied seit 11 Jahre 11 Monate

Hallo,

mit der Fehlermeldung kann ich leider (?) auch nicht dienen, die Exploration kann allerdings keine Ergebnisse liefern, die Tücke liegt wohl im Detail.

Du rufst in der Exploration eine Standardfunktion von MS auf, den Forcast Oscillator forecastosc( DATA ARRAY, PERIODS ) und nicht die Eigenkreation Deines Forecast Osc auf.

Bei einer Exploration könntest Du also z.B. in diese Richtung testen:

Cross(Mov(ForecastOsc(CLOSE,opt1),opt3,S),ForecastOsc(CLOSE,opt1))

Gruss

Gast

Bernd,

ich bin dann Deinem Tipp gefolgt, und da ging es plötzlich. Im NQ 5min werden auch nur Werte von -1 bis +1 erreicht, bzw. die anderen sind Einzelerscheinungen. Der Fehler war wohl die negativen Werte für opt3.

Metatrader,

Dein Ansatz funktioniert auch, ich habe nur nicht verstanden, warum ich mit dem Test den Standard "Forecast Oscillator" aufrufe, da mein Indikator ja "Forecast Osc" heißt. Oder wird der Name von MS automatisch ergänzt?

Die Tests selbst waren dann ganz vielversprechend, aber es werden sehr viele Gewinne wieder abgegeben. Ich werde mal weiter sehen in der Richtung, nicht cross mit dem MA zu nehmen, sondern das zurück kreuzen aus den Extrembereichen des Indikators. Z.B. enter long, wenn forecast osc 1. Weiß jemand, wie dafür die genaue Formel aussehen könnte?

Die nächsten Schritte wären dann, die periods für den Indikator zu optimieren, und das statische cross Level, was bei jeder Aktie/Future/Zeitrahmen zu variieren scheint. Im Moment nutze ich den Indikator mit 34 Periods, was noch am universellsten aussieht.

Vielen Dank Euch!

redsnapper

mling72
Mitglied seit 11 Jahre 11 Monate

Hallo redsnapper,

Deine Formel muss mit Fml ("Forecast osc") angesprochen werden. Allerdings ist dann eine Optimierung der Parameter im Systemtester nicht mehr möglich.

Eine Optimierung ist nur möglich wenn die gesamte Formel in den Systemtester kopiert wird.

MLing72

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.
Fragen?

Sie haben Fragen zu ZMP Live? Unser Team steht gerne hilfsbereit zu Ihrer Verfügung. Senden Sie uns gerne eine Nachricht:

Es gilt unsere Datenschutzerklärung

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich