› Forums › Trading Systems Discussion › A Flexible And Compact Currency Strength Indicator
Tagged: CIX
- This topic has 270 replies, 23 voices, and was last updated 8 years, 10 months ago by
upliftingmania.
- AuthorPosts
- October 28, 2015 at 5:25 pm #8642
Add “Prefix” & “Suffix” external params for strange currency-pairs names, or extract the pure pair name inside algo – so everyone can test it.
G.
October 29, 2015 at 8:18 pm #8652Add “Prefix” & “Suffix” external params for strange currency-pairs names, or extract the pure pair name inside algo – so everyone can test it. G.
Ok, sounds reasonable! Scheduled for next release!
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 4, 2015 at 1:01 am #8721Today I was experimenting with some RSI normalization as an alternative to daily resets. See pic: AUDNZD M5 at Nov 3rd, 2015. After a sharp move, the exchange rate is flat for a certain while, between those blue dashed lines.
The first indicator version (reset at 1:00 a.m.) reflects both the movement as well as that flat period perfectly – see parallel trend lines.
The second version, without reset and normalized by a 40 period RSI, shows strong slopes of both trend lines in opposite direction, indicating a possible and misleading entry.
I already expressed my doubts about RSI as a proper method to normalize our index based CS lines earlier in this thread. Maybe it would improve the results if no slopes are traded that are moving towards the nought line.
s.
Attachments:
You must be logged in to view attached files.A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 7, 2015 at 2:26 pm #8786I also expressed my doubts about understanding proper calculations of Normalization.
This one is based on RSI strength comparison, and actually fits the price chart, IMHO.
(Red=GBP, Green=USD. All other currencies eliminated for clarity)
G.
Attachments:
You must be logged in to view attached files.November 7, 2015 at 4:46 pm #8796I also expressed my doubts about understanding proper calculations of Normalization. This one is based on RSI strength comparison, and actually fits the price chart, IMHO.
I absolutely do ‘not’ doubt that RSI normalized CS lines can fit a ‘single’ price chart. My doubts refer to the question which selection of our 28 pairs are the most promising ones at a given point in time.
It is clear that ‘after’ you’ve defined a selection of pairs or currencies for a possible entry (IMO following a CS indicator that is ‘not’ RSI normalized) you can then precisely determine your entry timing by an RSI based CS indicator, e.g. by spotting pullbacks.
The point is (at least this is my understanding) that the RSI formula RSI = 100 – (100 / (1 + input)) will transform any input value from a potentially unlimited scale into a rigid 0 … 100 scale, thus wiping out a vital part of our currency strength information. That’s simply why I prefer to preselect pairs based on a non-RSI CS indicator.
Besides: your screenshot indicates that simple RSI normalization can hardly be the final step of calculation in your indicator. Until now my CS experiments with RSI only relied on RSI as a ‘final’ step, which maybe is more like a problem than a solution.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 7, 2015 at 7:01 pm #8801I also expressed my doubts about understanding proper calculations of Normalization. This one is based on RSI strength comparison, and actually fits the price chart, IMHO.
I absolutely do ‘not’ doubt that RSI normalized CS lines can fit a ‘single’ price chart. My doubts refer to the question which selection of our 28 pairs are the most promising ones at a given point in time. It is clear that ‘after’ you’ve defined a selection of pairs or currencies for a possible entry (IMO following a CS indicator that is ‘not’ RSI normalized) you can then precisely determine your entry timing by an RSI based CS indicator, e.g. by spotting pullbacks. The point is (at least this is my understanding) that the RSI formula RSI = 100 – (100 / (1 + input)) will transform any input value from a potentially unlimited scale into a rigid 0 … 100 scale, thus wiping out a vital part of our currency strength information. That’s simply why I prefer to preselect pairs based on a non-RSI CS indicator. Besides: your screenshot indicates that simple RSI normalization can hardly be the final step of calculation in your indicator. Until now my CS experiments with RSI only relied on RSI as a ‘final’ step, which maybe is more like a problem than a solution. s.
I used the simplest logic of them all in this indie: Is it above/below the 50 line? hence the straight lines….
Just for demo of RSI common denominator.
Later on I’ll post the DIFF between my Spaghetti USD and the USD_index (known trade ballance of USD, already posted formula).
G.
-
This reply was modified 10 years, 7 months ago by
gg53.
November 10, 2015 at 7:26 pm #8960Ok: step 1 of the CIX integration in my cluster indicator & EA environment is done – see pic.
Next steps will be to eliminate parts that are not required anymore, and to customize the signal system / dashboard to the new logic. Numbers are still nonsense by now, but at least numbers are shown: mission accomplished for today!
The ‘old’ logic works to some extent – see possible short trade generated by the indicator as shown in the pic. Yet optimization is still to be done.
Time to finish – no more after hours today!
s.
Attachments:
You must be logged in to view attached files.A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 10, 2015 at 10:44 pm #8971very very good thanks for your hard work
November 16, 2015 at 11:28 am #9159Remember that when Currency Strength indicator is reliable, logical and properly coded, the total sum of all values (all 8 major currencies) should be “0”.
You can use that knowledge to further exploit a properly coded CS indicator by looking for ocassional deviations from that required “0”, and use its direction to your advantage.
G.
November 16, 2015 at 2:11 pm #9168Thank you for your input!
Remember that when Currency Strength indicator is reliable, logical and properly coded, the total sum of all values (all 8 major currencies) should be “0”.
I agree, just like I stated earlier. Yet in an earlier post you wrote:
Since this indicator has no specific “anchor” (either certain date/time or external fixed value) it will not sum up to “0” or “1” – because everything is floating and relates to one another – instead of relating to some “fixed” mutual value.
Now I’m a bit puzzled again, and maybe I only misunderstand your words. To me, your statements appear to be contradictory to each other. Could you clarify?
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 16, 2015 at 4:48 pm #9175Thank you for your input!
Remember that when Currency Strength indicator is reliable, logical and properly coded, the total sum of all values (all 8 major currencies) should be “0”.
I agree, just like I stated earlier. Yet in an earlier post you wrote:
Since this indicator has no specific “anchor” (either certain date/time or external fixed value) it will not sum up to “0” or “1” – because everything is floating and relates to one another – instead of relating to some “fixed” mutual value.
Now I’m a bit puzzled again, and maybe I only misunderstand your words. To me, your statements appear to be contradictory to each other. Could you clarify? s.
Relative Currency Strength, based on percent movement from previous sample, should sum up to “0”.
Absolute Currency Strength doesn’t require to sum up to “0”.
G.
November 16, 2015 at 5:40 pm #9180Relative Currency Strength, based on percent movement from previous sample, should sum up to “0”. Absolute Currency Strength doesn’t require to sum up to “0”.
Ok, this makes sense.
I would assume that ‘Absolute Currency Strength’ in this sense means a CS algorithm which calculates its values in reference to some external index or a currency basket. Correct?
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 16, 2015 at 6:06 pm #9181I think I’m getting closer.
Still need to do some code cleanup, as well as readjust the realtime interface between indicator and EA.
Now I’m planning to integrate three different types of entries, for a first test:
- momentum based: enter strongest smoothed slope against weakest one
- reversal based: when one currency line changed direction, enter against weakest or strongest currency (where ‘direction’ is a combination of velocity and acceleration)
- pullback based: in a stable currency upswing / downswing, look for opposing base / quote pullbacks and enter accordingly
BTW: in the pic provided, don’t care about that BUY / SELL column. This is still old logic, and will be replaced.
Time for dinner now & offline. CU later!
s.
Attachments:
You must be logged in to view attached files.A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 22, 2015 at 12:53 am #9393My way of trading: 1. Decide on currency pair based on currency-strength indie. 2. when having multiple choices based on above – I trade the best ROC among them. So, in conclusion, I suggest you build plain Currency-Strength and add a ROC as an extra feature alongside …..
Hi G,
could you please explain about ROC? Do you get the diff between cur ROC(0) compare to previous ROC(1) ? In pips or in percent? Do you create the ROC for all currency in one indicator like you did for currency strength?
Thanks in advance
Edit: sorry, just found it at post #8333. So it is based on CS, and we are looking for the Acceleration of each currency

-
This reply was modified 10 years, 6 months ago by
smallcat.
November 22, 2015 at 3:28 am #9395Yes.
CS is displayed as line indicator and the ROC of each is displayed as a sorted text, to the right of the same indicator window.
Visually, the ROC is the “angle” of each currency.
G.
November 22, 2015 at 6:19 am #9399… Visually, the ROC is the “angle” of each currency. G.
Ou, it is similar like divergence line or trendline of CS. So it s not calculated as “delta”, CS(0) -CS(1) ?
November 22, 2015 at 6:13 pm #9412Hi G, how to get the other apples from the basket? Does it has relationship with CS? Ex. Euro EURx = (EURcs / USDcs) * USDx, and CADx = ( CADcs/USDcs ) * USDx ?
November 22, 2015 at 7:14 pm #9413Hi smallcat!
For my point of view relating to your question …
Hi G, how to get the other apples from the basket?
… see my code lines 248 … 255 as posted here.
vUSD = ((- vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 7.0 ) * wtf; vEUR = ( vEUR_USD + ( - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vGBP = ( vGBP_USD + ( - vEUR_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vAUD = ( vAUD_USD + ( - vEUR_USD - vGBP_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vNZD = ( vNZD_USD + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY + vUSD_CAD) / 6.0 ) * wtf; vCHF = ( - vUSD_CHF + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vJPY = ( - vUSD_JPY + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vCAD = ( - vUSD_CAD + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD) / 6.0 ) * wtf;vXXX_YYYis the rate of change of pair XXXYYY, andwtfis a linear factor to compensate for timeframe scaling, see code.There may be other, slighly different arithmetics, like G. mentioned. Just test the indicator to verify its validity. There are ‘several ways to Rome’.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
November 23, 2015 at 1:39 am #9415Hi smallcat! For my point of view relating to your question …
Hi G, how to get the other apples from the basket?
… see my code lines 248 … 255 as posted here.
vUSD = ((- vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 7.0 ) * wtf; vEUR = ( vEUR_USD + ( - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vGBP = ( vGBP_USD + ( - vEUR_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vAUD = ( vAUD_USD + ( - vEUR_USD - vGBP_USD + vUSD_CHF + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vNZD = ( vNZD_USD + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY + vUSD_CAD) / 6.0 ) * wtf; vCHF = ( - vUSD_CHF + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_JPY - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vJPY = ( - vUSD_JPY + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF - vNZD_USD + vUSD_CAD) / 6.0 ) * wtf; vCAD = ( - vUSD_CAD + ( - vEUR_USD - vGBP_USD - vAUD_USD + vUSD_CHF + vUSD_JPY - vNZD_USD) / 6.0 ) * wtf;vXXX_YYYis the rate of change of pair XXXYYY, andwtfis a linear factor to compensate for timeframe scaling, see code. There may be other, slighly different arithmetics, like G. mentioned. Just test the indicator to verify its validity. There are ‘several ways to Rome’. s.Thanks bro, will look at it …
Edit: Hi bro, just realize that you talk about ROC ? I mean to get Index of other currency like : EURx, CADx, etc … Or do you mean it is the same way to get it ?-
This reply was modified 10 years, 6 months ago by
smallcat.
November 23, 2015 at 8:11 am #9420… Visually, the ROC is the “angle” of each currency. G.
Ou, it is similar like divergence line or trendline of CS. So it s not calculated as “delta”, CS(0) -CS(1) ?
CS(0)-CS(1) (or its variation) calculations will give you RELATIVE Currency Strength.
To get ABSOLUTE Currency Strength you need some external “anchor”, such as specific date, xx history bars, or external reference such as related index.
Using both A/M indies will give you a “lethal weapon”…
G.
November 23, 2015 at 1:09 pm #9422CS(0)-CS(1) (or its variation) calculations will give you RELATIVE Currency Strength. To get ABSOLUTE Currency Strength you need some external “anchor”, such as specific date, xx history bars, or external reference such as related index. Using both A/M indies will give you a “lethal weapon”… G.
Hi G,
what do you mean with “A/M indies” ?And for absolute CS, we can get the anchor of a specified time (lets say London open of Mondays). So, this is the based time to get the bars for our calculation (we do not use the whole Bars, but just amount of candles from that time ) ? Ex.
datetime begin = D’2015.11.23 08:00′;
int limit = iBarshif(NULL,0,begin);
for (int i=limit; i>=0; i–) {
……November 23, 2015 at 1:47 pm #9423CS(0)-CS(1) (or its variation) calculations will give you RELATIVE Currency Strength. To get ABSOLUTE Currency Strength you need some external “anchor”, such as specific date, xx history bars, or external reference such as related index. Using both A/M indies will give you a “lethal weapon”… G.
Hi G, what do you mean with “A/M indies” ? And for absolute CS, we can get the anchor of a specified time (lets say London open of Mondays). So, this is the based time to get the bars for our calculation (we do not use the whole Bars, but just amount of candles from that time ) ? Ex.
datetime begin = D’2015.11.23 08:00′; int limit = iBarshif(NULL,0,begin); for (int i=limit; i>=0; i–) { ……
A/M = Above Mentioned.
For Absolute CS with anchor (Date, Bars, or other) you calculate the accumulated increase/decrease, in percent, or each related currency pair.
Example: For USD you calculate the 1/EURUSD, 1/GBPUSD, USDCAD, USDJPY, etc… total increase from the anchor.
My prefered anchor is last week close (i.e. Friday Close).
G.
December 6, 2015 at 2:20 pm #9959Ok, based on @gg53 ‘s ideas posted earlier in this thread, here’s my 1st currency strength indicator based on USDx and EURx index baskets. A sincere thank you to gg53 for posting the idea! For a description of the indexes, please refer to the links published in my earlier post. Source code is provided, so anybody feel free to check out the algorithm – any feedback much appreciated! It is obvious, how much easier it is to visually spot major moves with this indicator as compared to my earlier CS experiments. In this version, normalization is done by calculating the current displacement of the 8 index values relative to a their respective values given at a constant point in time at midnight, X days ago. I will check out RSI normalization soon. You may choose between a USDx and a EURx basis: both will provide similar signals, yet with different emphasis for different currencies. From a fundamental point of view it might be obvious to choose heavy weight USD centric view, but for certain instruments or trading styles EUR centric view might be useful. Just check it out! The rest of the input variables should be rather self explanatory. Have fun & take care! simplex
Thank you very much to @GG53 & @Simplex. This is really great …
I am trying to add the “prefix” and “postfix” to simplex’s code. Quick and dirty, so if there is any bugs , please let me know.Edit:
Some note: After i attached this modified indicator to MT4, from “expert” tab i can see all major currency are prepared, from AUD(0) to USD(7). But, i still could not see any lines. All lines can be seen after i restarted my MT4. Do not know why …. just change the “prefix” and “postfix” if your broker has them …-
This reply was modified 10 years, 6 months ago by
smallcat.
Attachments:
You must be logged in to view attached files.December 6, 2015 at 4:36 pm #9966This reply has been reported for inappropriate content.
Good job:
I am trying to add the “prefix” and “postfix” to simplex’s code. Quick and dirty, so if there is any bugs , please let me know.
Thanks for that – I just missed to do it.
Your mods seem to be ok. Only did a brief code review (I don’t need prefix and suffix). Please let me know if there are any more problems.
s.
A good trader is a realist who wants to grab a chunk from the body of a trend, leaving top- and bottom-fishing to people on an ego trip. (Dr. Alexander Elder)
December 6, 2015 at 5:27 pm #9976Thanks.
Installed and having problems, changing TF’s indicator lines disappear.
G.
-
This reply was modified 10 years, 7 months ago by
- AuthorPosts
- You must be logged in to reply to this topic.