Currency Strength Indicator
I am hoping I can improve the use of currency strength indicators, but before I proceed I would like to know if what I'm proposing is even possible and if so, how practical/easy to implement.
The typical strength indicators will give some representation of how much a currency has moved compared to all other currencies it's matched with, and of course this let's you see if typically the USD is strong when compared to other currencies. These indicators will let you identify a strong currency and a weak one, and then you can select the corresponding pair to trade with a slightly better edge. I'm not saying anything new here.
However I don't think they give the whole picture and I would definitely like to easily extract more information from them. For me, knowing which currency has been strongest and which has been weakest is not the best information. In the image below during point "0", you can see that the currency represented by the orange line is the strongest and the green line is the weakest. Regular use of such an indicator would suggest you trade the pair which contains those 2 currencies and trade in the direction of strong against weak. But my experience says that just because one is strong and the other weak (in the past) doesn't mean the pair is more likely to carry on moving in that direction. The pair at this stage could in fact be completely range bound with no obvious direction. So trading the strongest against the weakest in this sense is not providing any real edge.
What I do find does provide an edge is trading the most rapidly strengthening currency against the most rapidly weakening currency. From point "A" you can see two currencies starting to diverge away from each other, and these moments do genuinely offer an edge (from my own personal experience at least). Now in the case of point "A" it is very easy to see the divergence, the rapidly strengthening currency is above the rapidly weakening and they are moving in opposite directions, so the corresponding pair is easy to trade.
But.....at point "B" you have 2 currencies which begin rapidly strengthening and weakening. The moves are far more dramatic than anything else on the chart and trading this pair would be great. The problem is the rapidly weakening currency (orange) is still "stronger" according to the chart than the rapidly strengthening currency (blue). By the time the two lines have crossed and point "C" and their "strength" values have flipped as to which is stronger or weaker than the other, we may have missed most of the move.
What I would like to do is identify which currency is strengthening or weakening most rapidly, regardless of what it's actual "strength" value may be. So in the chart image I've posted, at point "B" the green line is still the weakest on the chart, and the orange line is the strongest. But orange is weakening the most rapidly and green is strengthening most rapidly, and this can give some excellent moves to catch. I'm far more interested in which currencies are gaining or losing strength the fastest as opposed to what their strength value is.
And so with a long explanation out of the way, is it possible to grab the data on a tick by tick basis from metatrader for example, and feed it directly in to an Excel spread sheet or indicator of some description, which would then print out a bar chart or arrow or similar, identifying which currency is moving the fastest and in which direction?
There is a commercial indicator on the market which does something similar to what I am after, but it requires you to manually input values in to a spread sheet. I would want the spread sheet or indicator updated automatically directly from the metatrader charts. I am not looking for someone to build this for me, only want to know if what I am proposing is technically possible.
I am very grateful to any technically skilled person who can understand the explanation I have given here, and answer me as to what can be achieved.
That sounds relatively easy once you have the original indicator. A good coder should have no problem.
Not sure that my coding is up to that but may be tempted to look later.
There are several versions of the CCFp indicator that have a ROC display slaved to the left corner of the indicator window. The original CCFp didn't have that display, but it was added after several members asked for it on this thread. The display shows you the difference between the last two CLOSED candles. It doesn't take the open candle into consideration. If you have any doubts about the validity of the figures on the display, simply open the Data Window and cross-confirm with the indicator values using the previous two bars (you will notice the display figures have been multiplied by some factor of 10 but that was intentionally done to ease the interpretation of said figures).
This is the easy way of doing it. If you want someone to program something for you or do it via Excel then I'm not very handy, I'm afraid.
PS. The green lines = London open
With your initial post you have summed up the problem that every relative strength trader faces. I hope the indicator I provided above will help you. I have attached a chart below of what I think it is that you're after. If the dark chart captures that, then I think the indicator should be just fine.
Another thing you can do is to look at what your green and orange currencies did before they crossed each other. This is something I discovered while working with CCFp. Note that events (1) and (2) precede event (3) (see light chart below). Knowing, or should I rather say, noticing this is important and can give you some extra room for maneuvering. It could be the difference between a profit or a loss. It took me days of researching to discover this and a few other crucial things (I literally worked from early morning until sundown for two weeks while doing this) and I can tell you that once you begin researching and thinking about this in depth you will start seeing many more ways of practical application (I did).
Thank you bug, the image you've posted above is exactly the kind of thing I am hoping to identity more easily. Identifying the currencies with the most rapid rate of change is more important to me than identifying the currencies which have remained most consistently strong or weak.
I still intend to get my own custom indicator built. I would rather have something that is not actually attached to MT4 charts as a traditional indicator. I am after a spread sheet style layout which displays a range of information in real time based on a tick by tick basis rather than on closed candles. For instance I want a bar graph showing the strength of a currency in the normal manner with a numerical value assigned to it. Another bar graph showing the rate of change for a currency and in which direction. And another bar graph showing the most favourable pair combination for which pairs have the currencies showing the greatest rate of change in opposite directions.
As I've said, there is a commercial indicator similar to this (I don't want to mention the name) but it requires you to input the data manually to a spread sheet and I would want it to extract the information automatically from the MT4 data feed. Do you or anyone else here know if it is possible to collect data automatically from a feed directly in to a spread sheet or similar tool for the kind of thing I am hoping to do?
Thanks for your help once again.
Easy to get the data to Excel ...
(eg ='MT4'|BID!GBPUSD in an XL cell) to get real prices into the XL (enable DDE in MT4)
The problem then is to use Vb code to populate the spreadsheet... not too difficult but I would think somewhat processor hungry.
Hmmm, I was hoping to keep the processor usage to a minimum. One of the things I find with these indicators in MT4 to begin with is they use up a lot of CPU and slow or even stalls things for me. That's one of the reasons I use a separate strength indicator which takes its data feed from somewhere else.
I'm assuming from what you say about importing data from MT4 to Excel that I should technically be able to do the same with a different data source? So if I paid for a better data feed, in theory I should be able to achieve my desired results? Or would the CPU usage still be high with this kind of idea?
What about the idea of hosting my spread sheet print out on a different server online. For instance get my data feed going to a website domain that I buy, and then getting my indicator to "print" the results display on the webpage therefore not using any CPU from my own computer? I have no idea how I would achieve this, but if it is possible I could easily find someone to design it for me.
Starting to get out of my depth now... (I responded to your Q about whether it could be done).
Really do not see what you hope to gain over one of the indi's posted above. They can be adapted to what you need I think.
Do not look for a sledge hammer to crack this nut!
Anyway off to watch F1 now.
Attached is an excel sheet that you can use. I got this on FF and adapted for my use. The creator of the excel sheet eventually released a commercial strength meter as stand alone program.
Doing an indicator to match the math in the spread sheet would not be bad.
What would you say the trading signals would be once the indicator is done?
Thank you all for your help. Now that I know that what I am proposing is possible and I have an idea for how it will work, I will find a coder to help me put the whole thing together. If it works the way I hope, and it doesn't bring the average computer to a grinding halt from using too much memory, I will be happy to post the final indicator in this forum for others to use.
Thanks again for the assistance and answering my questions.
Your welcome. If I can do anymore let me know.
FYI: I am a coder.
A thought I have about the indicator. The excel sheet uses the daily high and low, maybe because that is what the originator wanted or because it is because that is only what Mt4 provides with DDE, I don't know. But I think it would be wise to look back a configurable amount of bars to determine high and low instead of the abritary daily high and low.
I think the easy option will be to get this indicator to print out in metatrader to begin with rather than exporting to a spread sheet.I've seen some examples on other threads of the type of thing I am after, but not quite based on the same "strength" factors as I want. Below is an image of the type of thing I hope to build.
You can see there are 3 print outs in the indicator.
1. Shows a plain and simple currency strength reading. There are plenty of indicators that show this in a traditionally squiggly line format. I want it shown as bars.
2. Shows the rate at which a currency is gaining or losing strength. i.e. which is getting stronger or weaker the quickest. This is what I'm most interested in knowing as quickly and easily as possible.
3. Shows the corresponding currency pair which contains the 2 currencies which are moving away from each other in strength most rapidly.
So from the image below, you can see that in pure strength readings, the strongest pairs are the EUR and GBP, whilst the weakest is the USD. Many advocates of strength meters would suggest you pair the strong against the weak and trade the EUR/USD long and the GBP/USD long. However on the rate of change chart, you can see that the EUR is in fact barely moving, The USD is actually gaining strength most rapidly, while the GBP and CHF are weakening most rapidly. So for me the best pairs to trade are the ones whose 2 currencies are moving away from each other the greatest (more divergence). Therefore the indicator tells us the best trades could be to short the GBP/USD and go long the USD/CHF.
Now all this information can be derived from any one of the excellent strength indicators on this forum, but I would like to create something visually easier to interpret as per my image below. So I am going to pay to have a coder create this for me. Of course to have a coder create this, I need to be very exact in my instructions, and to that end I am going to need to explain a precise mathematical formula for determining strength and rate of change. Unfortunately for me I have no idea how these indicators calculate these things.
Soooooo............if there is anyone willing to help me with what calculations are measured to determine strength and rate of change I would be very VERY grateful. Are they measured on the number of pips a currency moves, or the percentage range of movement (percentage of what....the daily average??), a combination, or something completely different?
As always, any help or suggestions are appreciated.
As far as i can tell, the attached indicator was based on the the EXCEL sheet. I am sure it can be adapted from using the daily high/low to use something like iHigh(NULL,Symbol(),(iHighest(NULL,0,MODE_HIGH,20,0)));
where the 20 represents the number of bars back that you want to search for the high.
Note, that in the present form you have over all sentiment for the dar(because of the daily bar), once you start using the bars option, you no have to decide what time frame you want to use it on.
Have you tried using the CCFp-Diff indicator posted by FerruFX on this thread? It has everything you need (example below). I don't understand why you would need to program something new. There are numerous version of the CCFp-Diff indicator which and you edit them to suit your needs (you can edit the moving average settings or use bars only, you can choose to use current bars or only closed bars etc.). Have a thorough look at the thread (it's the same thread I linked to before).
Hi Bug, I've been reading the thread which contains that indicator from ferrufx which is what has given me the idea for what I want. Having read the thread (granted not all 134 pages yet) I get the impression it bases it's values for strength on moving averages, and then only for the previous 2 closed bars/candles. If I am correct in my assumption, I'm not sure I am confident in the genuine strength reading this gives. This is just me being fussy I know. My problem is I really have to know and have full confidence I know what is being calculated in an indicator before I would even begin to trust it or use it to aid my trading. That's why I'm inclined to start from scratch getting my own coded exactly as I desire.
Of course I may be completely wrong about the CCfp-Diff indicator so I will continue to learn more about it. My gut feeling is I would rather use something like Hanovers recent strength indicator in terms of how strength is calculated, and then go from there developing my own graphical representation.
If I may be frank with you, I think you're being too cautious, too afraid to fail, maybe a perfectionist even. I recognize this because I catch myself being too cautious at times as well and it helps to remind myself to take on some risks at times (I think my signature says it all). You didn't mention whether you had tested the CCFp-Diff indicator but from what you wrote I am making the assumption that you did not. I highly recommend you ahead with the testing and only then start judging the indicator. It might look to you as if there is too much lag or it can't be used because you don't know for sure what's inside there, but please go ahead and test it for at least 50 hours using different currency pairs, timeframes and indicator settings. The indicators I have provided links to and others that are available on Onix (see link below), TSD (you would need to Google that) and FF are more than enough for your purposes as you described them in above posts. Give 'em a chance! Give yourself a chance.
If you have doubts about what was done to arrive at the readings given off by CCFp-Diff (which is based on CCFp) or the CCFp or even CFP, CCP or other indicators belonging to the same family you should really read these two articles again and again:
If you have any further questions or doubts, there is some additional info provided on a russian forum that you can read via Google Translate: http://www.onix-trade.net/forum/index.php?showtopic=107
The other issue is a bit more difficult but there are two potential solutions:
(1) go to a higher timeframe
(2) find a coder. Basically you would have to have the coder extract the value of a bar N periods back in time and have it compared to the current closed bar. I think this solution is a bit of an overkill. Any marked change will be visible on the chart and on a higher timeframe CCfp and CCFp-Diff reading.
Bug, your comments are all appreciated, as is the help and additional reading you are providing. I will be reading as much as I can on these indicators. Thank you.
Yes I am a perfectionist, but only in so much that seeing as how this is my livelihood at stake, I am reluctant to use any indicator which I do not fully understand and trust the calculations or the results being printed out that I may base decisions on. My reasoning for wanting to start from scratch with a new indicator I influence from start to completion is, it will be "my" indicator based on my exact requirements. I am loathe to tweak existing indicators or ask people to make modifications etc. I'd rather create exactly what I want, all the way down to how it looks aesthetically, and then post it up here for others to perhaps use if they think it would benefit them in some way.
I agree I do not need to re-invent the wheel, and I will definitely give the CCfp-Diff indicator more consideration. Again thanks for all your help. I expect due to my stubbornness, I will still end up creating something new from scratch. I just won't be able to help myself
Any how I like the template you have on the chart attached to your message, Can you please put the template here.
Just to be clear, I'm not the author of the above indicators so it would be wrong to call them 'my indicators'.
I also try CCFP and CFpsometimes to trade single currency pairs. Try it out.
I've actually found a coder today to help me make what I am after, so I will send you a copy once it's done if it turns out the way I hope. Thanks for your suggestions.
I've been watching the CCfp-Diff indicator all day today and from what I can see it really doesn't work the way I was expecting. I'm sure it is something to do with the way I have the settings. I have it on a 1 minute chart, and despite the fantastic trends and rapid divergences I witnessed today on the price charts and also on other strength meters I have, which gave excellent trade opportunities, the CCfp-Diff never once showed any currency gaining or losing strength more than one bar. Every single currency all day remained on just one bar. They did occasionally change colour, but rarely, and certainly not in time with what was happening for real in price. There were even times when apparently it deemed that every currency was gaining strength at exactly the same rate which was clearly not true.
This is why I'm always inclined to do things myself to make sure my tools are working exactly how I require them. I'm sure the CCfp-Diff works well for what it was intended for, but I think I just have a different objective. That's forex.......we all have a different path.
Anyway, thank you again to everyone who offered me their help. I will try to reciprocate by posting my indicator if I can get my programmer to develop it the way I want.
Unfortunately the 'Diff' indicators were only released as executable files and FerruFX has sold his IP rights (at least according to his website). From his profile page I can see that he still frequents this place (last visit 17hrs ago). I don't suppose you've talked to him about this? Maybe he could fix it?
I've attached the indicator I've had made. It will show you 3 things:
Overall strength of individual currencies.
Rate of change in strength (strengthening/weakening) of individual currencies
Pairs whose currencies are diverging away from each other most strongly
For me personally I am most interested in which currencies are gaining or losing strength rather than their overall strength reading. You should be aware that the strength readings on this indicator, like all strength meters, will vary from any and all other strength indicators. I'm yet to see two different indicators which calculate the strength in exactly the same way. So the readings on this may look slightly different to what you get on your preferred indicator.
There are 2 graphs shown permanently. The left most graph showing blue lines is the strength meter and will show the overall strength or weakness of a currency. A low value of 1 means a weak currency, and a high value of 10 means a strong currency.
The second graph showing red and green bars displays the rate of change of a currency. The more bars being displayed, the greater the rate of change. Red signifies a weakening currency and green signifies a strengthening currency. It is possible to have a currency with a high strength reading on the blue graph, simultaneously having very high red reading on the rate of change graph showing that it is weakening fast. This is the graph I am personally most interested in.
There is a third set of graphs which will not always be visible. This will display the appropriate "pairs" which are containing currencies which are diverging away from each other most rapidly. If no currencies are diverging then no pairs will appear in this area. If currencies are diverging, then one or more pairs may appear. Take a look at the image example below for 3 different situations you will get with this indicator.
Now an important thing to remember with this indicator is I have had it built on my personal ideas which I had to try and explain to a coder in terms that involved zero technical knowledge. I knew what I wanted to achieve, but I had no idea "how" to achieve (i.e. what mathematical calculations were needed). Therefore there is every likelihood that this indicator as it stands at the moment, is not as good as many others available. I would ask that anyone who is interested in this, to please play about with it and test it out. If you find faults or ways to improve it, please share with the rest of us on here.
I hope this is of some use to at least a few people.
Currencies: the currencies you are measuring against each other. By default this is set to - EUR,GBP,USD,JPY,CHF,CAD,AUD,NZD
SymbolFixes: this is empty by default, but if your broker uses prefix or suffix, you enter it here. For example if your broker symbols are "mEURUSD" you enter "m". If your broker symbols are "EURUSDm" you enter ",m". If your broker symbols are "mEURUSDx" you enter "m,x".
TimeFrame: Set to 0 by default and this will match the time frame of the chart you attach the indicator to. You can of course change this value to anything you like (1,60,240 etc)
StrSmoothing: This is a smoothing period MA to smooth out the reading on the strength graph (shown in blue).
ChgSmoothing: This is a smoothing period MA to smooth out the reading on the rate of change graph (shown in red/green).
ChangePeriod: This is the number of bars from which to calculate the rate of change. So if this is set to 5, the indicator will measure the amount of change in a currency over the last 5 bars, and then compare it to the base point for the change period.
BaseStr: This is the point in the past from which to measure the strength of a currency. So if set to 120, it will measure the strength of the currency over the last 120 periods.
BaseChg: This is the point in the past from which to measure the rate of change of a currency. So if set to 30, it will use the point 30 periods ago as a reference for then comparing the rate of change as measured over the last 5 periods as specified in the "ChangePeriod" mentioned above.
ValueOfBar: Each bar in the graph (no need to change).
StrLevels: Used for determining the levels 1-10 on the bar graph (no need to change)
ChgLevels: Used for determining the levels 1-10 on the bar graph (no need to change)
MinDivChgLevel: This specifies how many bars need to be filled on the rate of change graph before a currency is deemed to be changing rapidly. Default is set to 5. So if 2 or more currencies are on 5 or more bars each in the rate of change graph, a new graph will appear showing the pair which contains the currencies and in which direction to trade it (green for buy, red for sell)
AllowAlert: Pop up box alert when a new pair is identified as diverging strongly.
AllowSound: A sound alert when a new pair is identified as diverging strongly.
RefreshOnTick: If set to true will update the indicator on every tick.
RefreshInterval: If the refresh on tick variable is set to false, the indicator will update at the interval (in seconds) that you specify here.
Ok, I think it may be because of the time frame parameter. I was under the impression that being set to "0" meant it would set itself to the time frame of the chart, but I may have been wrong. I attach my default indicator to a 1 minute chart and it works fine, but if I try to attach it to a different time frame without specifying it in the input variables, everything freezes for me.
So, try attaching it only to a 1 minute for now on default, or alternatively make sure you input the correct minutes in the settings for the chart you are trying to attach it to. Maybe this will help.
My charts are simply a price chart with a black background if that helps with the colours??
I am likewise clueless about this. The indicator is working fine for me. I even deleted it, downloaded it from the link in this thread and re-installed it and it still works for me. I've even been switching from one time frame to another and it is ok (my previous observations seem to have been wrong in this regard).
This is very frustrating as I was hoping a few people could have a play about with this to spot any problems/improvements. Perhaps someone with more coding knowledge on here may be able to recognise a solution for this and help out.
works for me
Its working fine for me,
Could you add a on chart option, people could switch between sep window
thank you for your efforts
© Forex Factory