New Members: Be sure to confirm your email address by clicking on the link that was sent to your email inbox. You will not be able to post messages until you click that link.
Simple Consolidation Scan - Syntax Error
Hi,
Looking to create a simple consolidation scan, basically last 5 closes within a 4% range. Written a code but getting syntax error, probably something stupid i've done.
Code i've written:
[type is stock] and [sma(20,volume) > 40000]
and [((max(5,close)-min(5,close))/((max(5,close)+min(5,close))/2)*100) < 4]
Syntax error recieved:
Could not parse "" located in the clause "((MAX(5,CLOSE)-MIN(5,CLOSE))/((MAX(5,CLOSE)+MIN(5,CLOSE))/2)*100) < 4"
Tried a search on the forum but can't see what the error would be?
Thanks in advance,
Looking to create a simple consolidation scan, basically last 5 closes within a 4% range. Written a code but getting syntax error, probably something stupid i've done.
Code i've written:
[type is stock] and [sma(20,volume) > 40000]
and [((max(5,close)-min(5,close))/((max(5,close)+min(5,close))/2)*100) < 4]
Syntax error recieved:
Could not parse "" located in the clause "((MAX(5,CLOSE)-MIN(5,CLOSE))/((MAX(5,CLOSE)+MIN(5,CLOSE))/2)*100) < 4"
Tried a search on the forum but can't see what the error would be?
Thanks in advance,
0
Best Answer
-
Could not parse is usually a ( ) parenthesis error. Either too many, not enough, or wrongly placed.
I'd say that is an overly complex equation also.
There are a couple ways to arrive at your desired results but I'd recommend using the Pct Difference function already in the Technical Indicators dropdown.
when you add it to the workbench it defaults in like this
and [PctDiff(close,sma(50,close)) < 5]
This is asking that the % difference between two things, the close and the sma 50 of the close to be less than 5% apart.
You would change the two things to meet your requirements.
and [PctDiff(max(5,close),min(5,close)) < 5]
They talk about the PctDiff function here
https://support.stockcharts.com/doku.php?id=scans:advanced_scan_syntax:near_crosses
and here
https://support.stockcharts.com/doku.php?id=scans:functions
You can use the PctDiff in the Rank By statement in the scan to see the result of the code
rank by [PctDiff(max(5,close),min(5,close))
will show the PctDiff number in descending order.
rank by [PctDiff(max(5,close),min(5,close)) ascending
will show the results in ascending order. Of course you can also click on the headers to sort on the results page as well.
0
Answers
-
That's brilliant, exactly what i was after, thank you for the great response0
-
something else to keep in mind. In a scan the quantity of the left ( and right ) parenthesis must equal. Same thing for left [ and right ] brackets. The system will usually provide a syntax error stating that the brackets don't equal. For the parenthesis it will usually say that it can't parse.
Could not parse "" located in the clause
"((MAX(5,CLOSE)- MIN(5,CLOSE))/((MAX(5,CLOSE)+MIN(5,CLOSE))/2)*100) < 4"
In the ((max(5,close) there is an extra ( at the beginning and a missing ) at the end for example. So it doesn't know what to do with that.
To attempt to get the engine to think of an arithmetic expression a - b / c - d you can try to use brackets
[a-b] / [c-d] I don't recommend trying to do this as it's difficult to check the results on many of these situations. If you have it perfectly formatted (meaning the system isn't showing an error) and it's producing results but you have no reliable way to check the results, is that good?
0
Categories
- All Categories
- 2.3K StockCharts
- 395 SharpCharts
- 146 Other Charting Tools
- 69 Saved Charts and ChartLists
- 1.5K Scanning
- 73 Data Issues
- 177 Other StockCharts Questions
- 218 Technical Analysis
- 155 Using Technical Analysis
- 2 InterMarket and International
- 19 Market and Breadth Indicators
- 42 Market Analysis
- 109 Trading
- 109 Trading Strategies
- 163 S.C.A.N the StockCharts Answer Network forum
- 65 Using this StockCharts Answer Network forum
- 98 s.c.a.n. archives
- 5 Off-Topic
- 6 The Cogitation & Rumination Emporium
- Forum Test Area