Andreas - if you want to get this solved then you really need to make your custom formula public and post a link to it. It doesn’t matter what you think you copied, the problem can’t be reproduced unless we have everything that you are using. You gave a link to the screen but not the custom formula.
that is very strange. I did delete the carriage returns. and when I go in the formula field I do get the full formula: Eval(Close(0,getseries(“#UNEMP”))>Close(3,getseries(“#UNEMP”)),1,0) + Eval(Close(0,#SPEPSCNY)<Close(20,#SPEPSCNY),1,0) + Eval(SMA(50,0,getseries(“$sp500”))<SMA(200,0,getseries(“$sp500”)),1,0) + Eval(sma(13,0,getseries(“SP500ShortIntAvg”))<sma(104,0,getseries(“SP500ShortIntAvg”)),1,0)
The funny thing is also, that when I take other peoples screens and formulas (e.g. Florians) I am not able to run them either. This seems to be a deeper problem somwhere in the algo of P123?
Thanks for reading my article and sorry for the late answer. I don’t come often on this forum. MTS4 in a screen rule:
showVar(@MTS4,(close(0, #UNEMP)>close(3, #UNEMP))+(close(0,#SPEPSCNY)<close(13,#SPEPSCNY))+(sma(50,0,$sp500)<sma(200,0,$sp500))+(sma(52,0,getseries(“SPSI%Avg”))>sma(104,0,getseries(“SPSI%Avg”))))
With SPSI%Avg defined as a custom series in the S&P 500 Universe with weekly frequency:
UnivAvg(“1”,“SI%float”)
MTS4 components are timing indicators backed by research and common sense. Backtests a are just clues, especially when testing market timing on 2 recessions. Optimizing MTS4 makes little sense. This article was written with an open-source mindset. If you use or improve this concept and write about it, a reference to the original would be appreciated.
A pity the data is limited to 1999. It would at least be helpful if P123 could make point in time data available further back in time - at least for the S&P500 stocks.
Cheers,
Florian
Just for the ones interested: The P123 team figured out what was going wrong with my sim - the custom series wasnt long enough. So in case you encounter a similar problem you now know where to look!
if I use the original Fred Piard approach…
Eval(Close(0,getseries(“#UNEMP”))>Close(3,getseries(“#UNEMP”)),1,0) + Eval(Close(0,#SPEPSCNY)<Close(20,#SPEPSCNY),1,0) + Eval(SMA(50,0,$sp500)<SMA(200,0,$sp500),1,0) + Eval(sma(13,0,getseries(“SP500ShortIntAvg”))<sma(104,0,getseries(“SP500ShortIntAvg”)),1,0)
… and your hedge entry and exit rules, I get slightly more hedge periods (see attached).
I’ve been reading through this old thread and liked your idea Georg of using a 3 month hilo index of the sp500 instead of the short interest. To do this I created a custom series with the following line:
Then I used a custom formula to evaluate if the simple moving average (10 per) was above or below 50:
Eval(sma(10,0,getseries(“hiloind”))<50,1,0)
Finally I used the screener along with the other criteria. Is something wrong with my formula? It seems to only be giving me signals to switch for the past year and prior to that it doesn’t seem to see the movement above and below the 50 line.
My guess is that your custom series is only drawn for one year, which is the default behavior as I recall. Go back to the custom series, change the time period to the maximum that you’re allowed, redraw the chart and save. (ss123, I’m guessing that this is what we advised for “not long enough”.)