Please improve indicator symmetry (outside of predefined signals) internally at least for simple combos like "RSI > macd" and "ATR>std"

As I write this, I see more and more the can of worms materializing but still I think the current state of symmetry for indicator blocks can be improved. I understand this will get a low priority if it's considered at all but I want to see if it gets any votes.

I understand that this will be much tougher than keeping the predefined signals symmetrical but it won't be completely impossible to do some basic 3 block symmetry logic on these. 
ATR > number; ATR > number
RSI > number; RSI < RSI-opposite-number
bulls > number; bears > number

OK those ones are easy and are already defined in the predefined signals (Hint: check if such a combo exists in the predefined signals if so then use the predefined signal logic) but here are a couple of tricky ones with nonprice level indicators
RSI > Stoc; RSI < ???
RSI > macd; RSI < ???

to accomplish these symmetrical calculations non-price level indicators can be broken up into categories: paired (bulls/bears) or non-paired directional npd (rsi,stoc) and non-paired non-directional npnd (atr).

Then we can do conditions:
npd to npd (such as the above examples RSI>macd etc.): simply reverse the comparator, leave block 1 the same but block 3 needs to scale. (RSI > macd; RSI < macd-scaled)  The baseline needs to be normalized as follows

For "RSI>Stoc", the baseline of RSI=50, the baseline of Stoc=50. The difference is 0 so we can just directly compare them by simply reversing the comparator(RSI > Stoc; RSI < Stoc).

For "RSI > macd" the baseline for RSI is 50 while the MACD baseline is 0. The baseline difference is 50 (bd = rsiBase-macdBase = 50) we need to double the normalizer for the second block so (RSI > macd;RSI < macd + (2 * bd)  == RSI > macd;RSI < macd+100) So we need a bit of extra data (baseline of each indicator) to be available.

I can work out more of the necessary logic such as for RSI > bears or RSI > ATR and do some examples including price level indicators if needed. I know some of it is possible. While I understand this is complex it seems more feasible than adding in all the different 1000's of indicator combos to the pre-defined signals.

Something like "RSI + stoc > macd - bulls" suddenly gets a little ridiculous though ;) So I ask for only the standard 3 block combos to be made symmetrical. on the other hand something like "RSI + 5 > macd; RSI - 5 < macd+100" shouldn't be that hard to derive programmatically. 

As for some price level equations such as: https://roadmap.strategyquant.com/tasks/sq4_8643
While you could consider the work on symmetry for indicators to be a "can of worms" this particular issue is trivial to make symmetrical: "smallest" should not be opposite to "largest" like ever.

And in this example: https://roadmap.strategyquant.com/tasks/sq4_8639

npnd to npnd
Another really super easy one, I hope that you can at least put this easy logic in. Would be covered under the logic of comparing non-paired-non-direction indicators to non-paired-non-directional indicators (npnd to npnd) just leave all three blocks the same.  (ATR>std;ATR>std)

npd to npnd is a bit harder: we have the unbounded atr indicator which has no baseline and is non-directional so in that case we create a "opposite-indicator-reading" which is (indicatorCap-indicatorFloor) - IndicatorReading or in this case 100-rsi.  (RSI>atr; opposite-RSI>atr == RSI>atr; 100-RSI>atr)  For these, we need also the data available of indicator cap and indicator floor of course.

In the meantime, it would be nice to create a warning for when people turn on symmetry yet they are not using a template or for when people turn on symmetry yet they have indicators selected that they will not be getting symmetry 100% of the time.



Attachments
No attachments
  • Votes +4
  • Project StrategyQuant X
  • Type Feature
  • Status New
  • Priority Normal

History

b
#1

bentra

23.02.2022 21:57

Task created

b
#2

bentra

23.02.2022 21:58
Voted for this task.
b
#3

bentra

23.02.2022 22:05

Description changed:

As I write this, I see more and more the can of worms materializing but still I think the current state of symmetry for indicator blocks can be improved. I understand this will get a low priority if it's considered at all but I want to see if it gets any votes.

I understand that this will be much tougher than keeping the predefined signals symmetrical but it won't be completely impossible to do some basic 3 block symmetry logic on these. 
ATR > number; ATR > number
RSI > number; RSI < RSI-opposite-number
bulls > number; bears > number

OK those ones are easy and are already defined in the predefined signals (Hint: check if such a combo exists in the predefined signals if so then use the predefined signal logic) but here are a couple of tricky ones with nonprice level indicators
RSI > Stoc; RSI < ???
RSI > macd; RSI < ???

to accomplish these symmetrical calculations non-price level indicators can be broken up into categories: paired (bulls/bears) or non-paired directional npd (rsi,stoc) and non-paired non-directional npnd (atr).

Then we can do conditions:
npd to npd (such as the above examples RSI>macd etc.): simply reverse the comparator, leave block 1 the same but block 3 needs to scale. (RSI > macd; RSI < macd-scaled)  The baseline needs to be normalized as follows

For "RSI>Stoc", the baseline of RSI=50, the baseline of Stoc=50. The difference is 0 so we can just directly compare them by simply reversing the comparator(RSI > Stoc; RSI < Stoc).

For "RSI > macd" the baseline for RSI is 50 while the MACD baseline is 0. The baseline difference is 50 (bd = rsiBase-macdBase = 50) we need to double the normalizer for the second block so (RSI > macd;RSI < macd + (2 * bd)  == RSI > macd;RSI < macd+100) So we need a bit of extra data (baseline of each indicator) to be available.

I can work out more of the necessary logic such as for RSI > bears or RSI > ATR and do some examples including price level indicators if needed. I know some of it is possible. While I understand this is complex it seems more feasible than adding in all the different 1000's of indicator combos to the pre-defined signals.

Something like "RSI + stoc > macd - bulls" suddenly gets a little ridiculous though ;) So I ask for only the standard 3 block combos to be made symmetrical. on the other hand something like "RSI + 5 > macd; RSI - 5 < macd+100" shouldn't be that hard to derive programmatically. 

As for some price level equations such as: https://roadmap.strategyquant.com/tasks/sq4_8643
While you could consider the work on symmetry for indicators to be a "can of worms" this particular issue is trivial to make symmetrical: "smallest" should not be opposite to "largest" like ever.

And in this example: https://roadmap.strategyquant.com/tasks/sq4_8639

npnd to npnd
would be covered under the logic of comparing non-paired-non-direction indicators to non-paired-non-directional indicators (npnd to npnd) and that one is really really easy, just leave all three blocks the same.  (ATR>std;ATR>std)

npd to npnd is a bit harder: we have the unbounded atr indicator which has no baseline and is non-directional so in that case we create a "opposite-indicator-reading" which is (indicatorCap-indicatorFloor) - IndicatorReading or in this case 100-rsi.  (RSI>atr; opposite-RSI>atr == RSI>atr; 100-RSI>atr)  For these, we need also the data available of indicator cap and indicator floor of course.

In the meantime, it would be nice to create a warning for when people turn on symmetry yet they are not using a template or for when people turn on symmetry yet they have indicators selected that they will not be getting symmetry 100% of the time.



b
#4

bentra

24.02.2022 18:35

Subject changed from Please improve indicator symmetry (outside of predefined signals) internally at least for simple combos like "RSI > macd" and "ATR>std" and "ATR>STD" to Please improve indicator symmetry (outside of predefined signals) internally at least for simple combos like "RSI > macd" and "ATR>std"

Bt
#5

beetrader

25.02.2022 21:41
Voted for this task.
E
#6

Emmanuel

10.03.2022 04:06
Voted for this task.
MF
#7

Marti

07.04.2022 22:55
Voted for this task.

Votes: +4

Drop files to upload

or

choose files

Max size: 5MB

Not allowed: exe, msi, application, reg, php, js, htaccess, htpasswd, gitignore

...
Wait please