Bollinger band error
- This topic has 4 replies, 2 voices, and was last updated 2 years ago by .
Viewing 5 posts - 1 through 5 (of 5 total)
Viewing 5 posts - 1 through 5 (of 5 total)
Forums › ProRealTime English forum › ProOrder support › Bollinger band error
Hi
I seem to be getting unexpected results when testing a strategy on Bollinger bands. For the purposes of trying to work out what the issue is, I’ve totally stripped down the code to just the below – from this it seems to be an issue with bollinger bands alone. Was wondering if anyone else had this issue.
It doesnt enter when I thought it should. I.e. when the close is above the lower bollinger band. INstead it enters at some random point – see screen shot. THis is EUR USD (1 hour)
1 2 3 4 5 6 |
bbl = BollingerDown[20](close) Bullish0 = close >= bbl IF Bullish0 THEN buy 1 perpoint AT MARKET |
Hi Nicolas. It is set at the same properties. But looks like I made an error – many, many apologies all! The real issue seems to be with the average true range. I didnt include it in the previous message as didnt think there was an issue with this. Anyhow see below – full code. Any idea what the problem can be? I want to use the atr as part of the buy and stop loss as a risk management method. When i change it to for example ‘buy 1 perpoint at market’ and similar for stop loss then it seems to work fine.
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 |
// Conditions to enter long positions defparam cumulateorders=false bbu1 = BollingerUp[20](close) bbl1 = BollingerDown[20](close) atr= averagetruerange[1](close) Bullish0 = close >= bbl1 IF Bullish0 THEN buy (10/(2.5*atr)) perpoint AT MARKET set stop loss (2.5*atr) ENDIF c1 = (close crosses over bbu1) IF c1 THEN SELL AT MARKET ENDIF |
Ok so the problem is located in your contract size calculation, if the size is too small, then no order will be triggered.
I suggest you set a minimal contract size like this:
1 2 3 |
minSize = 0.1 //define here what would be the minimal size buy max(minSize,(10/(2.5*atr))) perpoint AT MARKET |