JTrader
Guest
- Messages
- 5,741
- Likes
- 507
Hi
attached are screenshots in the form of an indicator for a strategy idea that I have been playing with.
I like it on the 2-minute chart with tick-by-tick indicator updates, and intrabar order generation disabled. On the 2-3 minute charts I am then able to use smaller stop-losses as there is less price action per bar.
With as long a period as 700, if you start to use timeframes above 2-3 minutes, trades, and time between trades, perhaps lasts too long for intraday trading, with days when no trades are signalled.
It is a CCI700, with the scaling fixed at -245 to 245. It buy when the price crosses above 0, and sellshort when the price crosses below 0. With these settings, about 6 trades are produced on average per 24-hours, = 2 trades per 8 hour trading session on EURUSD - GBPUSD.
With such a long length as 700, fewer trades are signalled - which suits my approach - fewer trades with more accurate signals.
After each signal at least 20+ pips are usually there for the taking within a short space of time, besides following the flat loss-making - breakeven trade signals.
I do not want to hold trades overnight.
One problem that you can see from the screenshots (and perhaps the main weakness)is that there are occassions (though they are short lived and don't result in losses above what a 12 pip stop loss can usually handle, and often might only be 3-5 pips losses when you add on a 3 pip spread) when the CCI hovers around 0, crossing backwards and forwards, before setting off in a prolonged new direction up or down. Again, having a CCI700 ensures there are less of these flat crosses than would occur with a CCI250 or CCI20 for example. A CCI 1000 for instance would result in even fewer crosses, but the number of falser crosses doesn't seem to reduce by many if at all.
With a 1000 period the the swings that result in a trend tend to laster longer, sometimes over a day, perhaps not the best for intraday trading, as you have nothing to do some days, but then if your strategy was to make more money in the end, who cares :?: So perhaps it might be better to develop a solution that does not use a longer period than 700, but focuses on avoiding trading the false crosses :?:
For example, with a CCI700 on a 2-minute chart, over the last 1 month there have been 143 swings above and below 0. Of these, 111 have been false crosses, that do not present an opportunity to tie on any profit, but losses are typically below 10 pips. The other 32 (approx) present the opportunity to make at least 20 pips profit. Many of these presented the opportunity for 50+ pip profit, before a CCI700 swing back above or below 0.
It would be useful to have some kind of filter that attempts to restrict access to these flat signals that either result in a breakeven or small loss. But how could this be accomplished?.........[/b]I have played around with moving the entry level from 0 to -100 & 100, but this results in bigger price difference between an entry and a reversal. Also you could say that buy when CCI700 crosses above 100, sell @ below -100, and exit that trade when CCI700 crosses back below/above 100 & -100, and do not take on a reverse trade until the opposite 100 -100 level is hit. However, this does not reduce the number of flat non-profit making signals.
I have done some basic testing of a full strategy version of the indicator with external stops, profit targets, dollar trailing, and breakeven stops - to see how it would perform.
I am considering using the CCI crosses above and below 0 as the entry-exit strategy, with a discretionary profit taking exit, but with a stop-loss of sorts in place.
All constructive feedback and ideas for improvement are appreciated, particularly with regard to predicting the occurence of, managing, and avoiding/filtering out trading the flat loss making/breakeven swings.
Thanks a lot
jtrader
jtrader CCI 700 indicator code -
attached are screenshots in the form of an indicator for a strategy idea that I have been playing with.
I like it on the 2-minute chart with tick-by-tick indicator updates, and intrabar order generation disabled. On the 2-3 minute charts I am then able to use smaller stop-losses as there is less price action per bar.
With as long a period as 700, if you start to use timeframes above 2-3 minutes, trades, and time between trades, perhaps lasts too long for intraday trading, with days when no trades are signalled.
It is a CCI700, with the scaling fixed at -245 to 245. It buy when the price crosses above 0, and sellshort when the price crosses below 0. With these settings, about 6 trades are produced on average per 24-hours, = 2 trades per 8 hour trading session on EURUSD - GBPUSD.
With such a long length as 700, fewer trades are signalled - which suits my approach - fewer trades with more accurate signals.
After each signal at least 20+ pips are usually there for the taking within a short space of time, besides following the flat loss-making - breakeven trade signals.
I do not want to hold trades overnight.
One problem that you can see from the screenshots (and perhaps the main weakness)is that there are occassions (though they are short lived and don't result in losses above what a 12 pip stop loss can usually handle, and often might only be 3-5 pips losses when you add on a 3 pip spread) when the CCI hovers around 0, crossing backwards and forwards, before setting off in a prolonged new direction up or down. Again, having a CCI700 ensures there are less of these flat crosses than would occur with a CCI250 or CCI20 for example. A CCI 1000 for instance would result in even fewer crosses, but the number of falser crosses doesn't seem to reduce by many if at all.
With a 1000 period the the swings that result in a trend tend to laster longer, sometimes over a day, perhaps not the best for intraday trading, as you have nothing to do some days, but then if your strategy was to make more money in the end, who cares :?: So perhaps it might be better to develop a solution that does not use a longer period than 700, but focuses on avoiding trading the false crosses :?:
For example, with a CCI700 on a 2-minute chart, over the last 1 month there have been 143 swings above and below 0. Of these, 111 have been false crosses, that do not present an opportunity to tie on any profit, but losses are typically below 10 pips. The other 32 (approx) present the opportunity to make at least 20 pips profit. Many of these presented the opportunity for 50+ pip profit, before a CCI700 swing back above or below 0.
It would be useful to have some kind of filter that attempts to restrict access to these flat signals that either result in a breakeven or small loss. But how could this be accomplished?.........[/b]I have played around with moving the entry level from 0 to -100 & 100, but this results in bigger price difference between an entry and a reversal. Also you could say that buy when CCI700 crosses above 100, sell @ below -100, and exit that trade when CCI700 crosses back below/above 100 & -100, and do not take on a reverse trade until the opposite 100 -100 level is hit. However, this does not reduce the number of flat non-profit making signals.
I have done some basic testing of a full strategy version of the indicator with external stops, profit targets, dollar trailing, and breakeven stops - to see how it would perform.
I am considering using the CCI crosses above and below 0 as the entry-exit strategy, with a discretionary profit taking exit, but with a stop-loss of sorts in place.
All constructive feedback and ideas for improvement are appreciated, particularly with regard to predicting the occurence of, managing, and avoiding/filtering out trading the flat loss making/breakeven swings.
Thanks a lot
jtrader
jtrader CCI 700 indicator code -
inputs:
Length (700),
Scale (245),
OverSold(0),
OverBought(0),
OverSColor( Cyan ),
OverBColor( Red ) ;
variables:
CCIValue( 0 ) ;
CCIValue = CCI( Length ) ;
Plot1( CCIValue, "CCI" ) ;
Plot2( OverBought, "OverBot" ) ;
Plot3( OverSold, "OverSld" ) ;
plot4(0,"0");
{ Color criteria }
if CCIValue > OverBought then
SetPlotColor( 1, OverBColor )
else if CCIValue < OverSold then
SetPlotColor( 1, OverSColor ) ;
{ Alert criteria }
if CCIValue crosses over overbought then
Alert( "indicator crosses over zero" );
if CCIValue crosses under oversold then
Alert( "indicator crosses under zero" );
Last edited: