Jump to content

BarryDayTrader

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by BarryDayTrader

  1. Hi I'm new to this community, so first let me introduce myself! My name is Barry (I suppose most of you already guessed that by my username!) and I'm just starting out on this exciting journey to find out "how to profit from trading". I've done quite a bit of research, and tried setting up lots of strategies to backtest (none of them successful, so far!). I would like to proceed with my latest strategy which involves running a ProScreener script at the end of each trading day (I'm currently looking at the UK shares market), to select which shares to run in AutoTrading mode the following day. I can backtest this strategy by running the strategy for a number of days, but what I'm having a problem with is how to 'backtest' the ProScreener script. There doesn't seem to be a way to run the ProScreener script at a certain date/time (in the past) As a work-around, I've build an indicator which "looks backwards" a certain number of periods, to show me what the indicator would have shown, had I run it at that date/time. I then reference this indicator in a ProScreener script to effectively show the list of shares that the ProScreener script would have given me, had I run it on that date/time. Anyone still with me?.....Anyway, this seems to work, but, when I check the results of the ProScreener script, they don't match what I am expecting, when I compare manually. I'm not sure how this forum prefers code to be included, so I am embedding it here. I'm sure someone will let me know the correct way to do this! Strategy Code: // looking for crossover in last 'numberPeriods' - offset by 'priorPeriods' MACDLineVal = MACDline[12,26,9](close) MACDSignalVal = MACDSignal[12,26,9](close) longMACDCrossover= (MACDLineVal CROSSES OVER MACDSignalVal) and (MACDLineVal<0) shortMACDCrossunder= (MACDLineVal CROSSES UNDER MACDSignalVal) and (MACDLineVal>0) longMACDCrossoverCount=0 i=0 WHILE i < numberPeriods DO longMACDCrossoverCount=longMACDCrossoverCount+longMACDCrossover[priorPeriods+i] i=i+1 WEND shortMACDCrossunderCount=0 i=0 WHILE i < numberPeriods DO shortMACDCrossunderCount=shortMACDCrossunderCount+shortMACDCrossunder[priorPeriods+i] i=i+1 WEND return longMACDCrossoverCount as "LONG Crossovers in Last numberPeriods",shortMACDCrossunderCount as "SHORT Crossunders in Last numberPeriods",10*longMACDCrossoverCount+shortMACDCrossunderCount as "Signal",Date[priorPeriods]-20210200 as "Date" ///////////////////////////////////// ProScreener Code: ignored, ignored, indicator1, ignored = CALL "FTSEMACDLastXPeriodsOffset"[204, 24] c1 = (indicator1 > 0) ignored, ignored, criteria, ignored = CALL "FTSEMACDLastXPeriodsOffset"[204, 24] SCREENER[c1] (criteria AS "Signal") //////////////////////////////////// Happy to explain in more detail if anyone out there thinks they understand my problem! Thanks for reading........
×
×
  • Create New...
us