By ScalperAndy · Posted
By DominicWalsh · Posted
IG | Sitemap | Terms and agreements | Privacy | How to fund | Cookies | About IG
Spread bets and CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. 76% of retail investor accounts lose money when trading spread bets and CFDs with this provider. You should consider whether you understand how spread bets and CFDs work, and whether you can afford to take the high risk of losing your money. Professional clients can lose more than they deposit. All trading involves risk.
The value of shares, ETFs and ETCs bought through a share dealing account, a stocks and shares ISA or a SIPP can fall as well as rise, which could mean getting back less than you originally put in. Past performance is no guarantee of future results.
CFD, share dealing and stocks and shares ISA accounts provided by IG Markets Ltd, spread betting provided by IG Index Ltd. IG is a trading name of IG Markets Ltd (a company registered in England and Wales under number 04008957) and IG Index Ltd (a company registered in England and Wales under number 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill, London EC4R 2YA. Both IG Markets Ltd (Register number 195355) and IG Index Ltd (Register number 114059) are authorised and regulated by the Financial Conduct Authority.
The information on this site is not directed at residents of the United States, Belgium or any particular country outside the UK and is not intended for distribution to, or use by, any person in any country or jurisdiction where such distribution or use would be contrary to local law or regulation.
Question
BarryDayTrader
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........
Link to comment
0 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now