Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement] [QOL] Spam Alerts #38

Open
brianleect opened this issue Aug 10, 2021 · 5 comments
Open

[Improvement] [QOL] Spam Alerts #38

brianleect opened this issue Aug 10, 2021 · 5 comments
Labels
discussion Open to discussions enhancement New feature or request

Comments

@brianleect
Copy link
Owner

What I understand is that the new alert will continue to be sent as long as the change is greater than or equal to what was previously notified. Am I correct?
For example:
intervals = [''5m', '15m']
outlier_param = {'5m':0.02,'15m':0.04,'}
First notification:
"PUMP: TCTUSDT / Change: 2.5% / Price: 0.023277 / Interval: 5m"
Muted notification:
"PUMP: TCTUSDT / Change: 2.3% / Price: 0.023277 / Interval: 5m"
Second notification:
"PUMP: TCTUSDT / Change: 2.6% / Price: 0.023277 / Interval: 5m"

In this case the 2nd & 3rd notification will both not be triggered as the second condition trigger condition is not satisfied which is price must have a movement of larger than that of previous triggered price alert

Outlier_param * 0.023277

The intention was that there is little value in price alerts triggered which have little to no deviation in price.

I understand, that is to say that the percentages are accumulated.

I think that the most optimal for the second trigger condition would be that the next value is simply greater than the previous one.

As in the previous example:

intervals = [''5m']
outlier_param = {'5m':0.02}

First notification:
"PUMP: TCTUSDT / Change: 2.5% / Price: 0.023277 / Interval: 5m"

Second (Muted) notification:
"PUMP: TCTUSDT / Change: 2.3% / Price: 0.023277 / Interval: 5m"

Third notification:
"PUMP: TCTUSDT / Change: 2.6% / Price: 0.023277 / Interval: 5m"

The way you propose it is optimal for small percentages, but when handling slightly larger percentages, say greater than 4 or 5%, many alerts would be lost.

Originally posted by @Juanjacinto123 in #31 (comment)

@brianleect
Copy link
Owner Author

I think I get your point on possibly filtering of changes with larger % being filtered off. I do suppose it is a trade-off atm of spam vs potential info.

I'll look into it and see if we can find a solution to this problem. We could possibly overwrite the cooldown and force a trigger if we see a % change relative to previous trigger being met.

This should solve the problem without introducing unnecessary noise.

@brianleect brianleect added discussion Open to discussions enhancement New feature or request labels Aug 10, 2021
@velajos
Copy link

velajos commented Aug 10, 2021

I think I get your point on possibly filtering of changes with larger % being filtered off. I do suppose it is a trade-off atm of spam vs potential info.
I'll look into it and see if we can find a solution to this problem. We could possibly overwrite the cooldown and force a trigger if we see a % change relative to previous trigger being met.
This should solve the problem without introducing unnecessary noise.

I agree, let it trigger only if the percentage is higher than the previous one and keeping the MIN_ALERT_INTERVAL parameter for the user to decide the silence time. I really think that would be an optimal solution to the problem.

Please let me know when it is implemented to test it. Thank you very much @brianleect

@brianleect
Copy link
Owner Author

brianleect commented Aug 16, 2021

I think I get your point on possibly filtering of changes with larger % being filtered off. I do suppose it is a trade-off atm of spam vs potential info.
I'll look into it and see if we can find a solution to this problem. We could possibly overwrite the cooldown and force a trigger if we see a % change relative to previous trigger being met.
This should solve the problem without introducing unnecessary noise.

I agree, let it trigger only if the percentage is higher than the previous one and keeping the MIN_ALERT_INTERVAL parameter for the user to decide the silence time. I really think that would be an optimal solution to the problem.

Please let me know when it is implemented to test it. Thank you very much @brianleect

@Juanjacinto123 could take a look at the newest version. The way spam is filtered has been changed to consider variation in % using the alertSkipThreshold set at a default of 0.75 % . It should fit your needs in avoiding the blocking of important information.

Note: there is a minor bug for first initialization of TDP atm where it is all 0% for this version. Should be fixed within the coming week.

Nvm. Wait till further updates, there's some other issue with spam atm that's does not seem to be fully resolved.

@brianleect
Copy link
Owner Author

brianleect commented Aug 16, 2021

image

alertSkipThreshold appears to have its own limitations as well, does not seem to filter spam v well on slightly larger intervals. (15s for this case)

Possible solutions

  1. Use larger value for alertSkipThreshold (Lower intervals will be impacted)
  2. Have addition conditional for % price variation from last alert (Similar to old spam reducing implementation)

@patbaumgartner
Copy link
Contributor

Yepp i think the alertSkipThreshold should be between 0.75 < x < 1% so you filter out lots of the small changes. but be aware that m most of the alerts are IHMO valid. Since a lot of messages show actually that things pump & dump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Open to discussions enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants