Its clear that I have been unclear. It feels a little like you are putting words in my mouth and that is unsanitary. Ill attempt to clean things up a bit.
Ron has set up a NN for the purpose of filtering out bad trades before they are executed. Obviously, the magnitude of a trade result cannot be known in advance so it cant be allowed as an input. This makes it impossible for anyone to preordain a deciding metric to filter out small trades and I dont believe I suggested otherwise. If I gave that impression, then I will say here that I 100% agree with you that we want the NN to learn to detect the patterns that we may not be able to see ourselves.
Before going forward, lets clarify the problem. The ATM has made trades and the results are in. Some trades are good and some trades are bad. Each trade met the rules of the strategy but the outcomes vary.
There is a fork in the road here. On the one hand, we can try to revise and improve the strategy in an attempt to improve the win/loss ratio along with the other performance metrics we care about. On the other hand, we can leave the strategy alone and try to find a way to filter out (by overriding the strategy signals) as many of the bad trades as possible.
Ron has elected to go down the filtering path and to use a NN as his tool to learn when to accept the strategys trading signals and when to ignore them. (Ron, if Im putting words in your mouth, Im counting on you to jump in here and spit them out.)
So here we are. The strategy has spoken and said everything it knows how to say: trade here and not there. The results are in and we see that we could improve the total results if we could avoid taking a bunch of the bad trades even at the cost of not taking a few good trades. The question is: When the strategy says to take a trade, how do we know when to follow instructions and when to ignore them?
Answer: At the point the strategy gives us a signal to initiate a trade, we look for features in the situation at the time the strategy gives a trading signal, features that are not being used by the strategy itself but features that might help distinguish a good trade from a bad trade. Markers, if you will. We submit those markers as inputs to a NN, train it by using the trade outcomes and hope that the trained network can tell us when to override the strategy and avoid a bunch of bad trades. The strategy remains unchanged.
Ron had the interesting idea of normalizing the corresponding ABCD prices within the window defined by the ABCD pattern in the CCI so that the NN would recognize the same price pattern when it formed at different price levels. The normalized prices would be a situational feature useful as inputs to the NN.
I thought this was ingenious but I also pointed out that this normalization also hid a feature that I thought would be important for the NN to be able to see. That was the absolute price range that appeared in ABCD price window, what I called the magnitude of the feature of the trade setup. This is a feature that is not used by the strategy. I used the small trades comment to show how magnitude could be is a key feature of an event. Showing the NN this price range magnitude might help the NN see a difference between accepted setups that produced good trades and accepted setups that produced bad trades. The absolute price range within the ABCD window is available at the time the trade signal is generated by the strategy, so it is fair game as an input. My suggestion was to include it as input along with the normalized prices.
Believing (perhaps incorrectly) that it might be important to normalize the absolute price ranges before they become inputs, I threw out the bin idea as a way to accomplish that. That is not to say that binning was the only way or the even best way. It is just a way that it could be done. SMCJB suggested using a sigmoid to accomplish this and there is no barrier to doing so. It is another way. Ill come …