GithubHelp home page GithubHelp logo

tucsky / significanttrades Goto Github PK

View Code? Open in Web Editor NEW

This project forked from beastlybeast/significanttrades

622.0 622.0 212.0 14.39 MB

better than 1 min chart

Home Page: https://aggr.trade

License: GNU General Public License v3.0

HTML 0.47% Vue 48.04% JavaScript 42.28% Shell 0.01% SCSS 9.20%
bitcoin cryptocurrency tracker trades

significanttrades's People

Contributors

beastlybeast avatar brayden967 avatar dmitry-ee avatar flyingscot5 avatar joyser avatar piterden avatar saschaz avatar strml avatar terminal69 avatar tucsky avatar xiao4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

significanttrades's Issues

Where to get the sounds?

I just crawled the source code 1minute, but couldnt find them...

and... why do the sounds not play on iphone?!

best regards

[Q] Why is there a server part?

Hi

From a brief look I noticed the data is being proxied. Why is there even a server part, why not have the client interact directly with the websockets, reduces lag & load?

Cheers
Wouter

Thresholds, still confused..

Why is

huobi 6784 sats 3.8168141 56K

showing animated-background?

Console:

JSON.stringify(JSON.parse(localStorage.getItem('settings')).thresholds)
"[{\"amount\":0.5,\"buyColor\":\"rgba(76,175,80,.33)\",\"sellColor\":\"rgba(229,115,115,.33)\"},{\"amount\":2.5,\"buyColor\":\"rgb(91,130,48)\",\"sellColor\":\"rgb(224,91,82)\"},{\"amount\":5,\"gif\":\"cash\",\"buyColor\":\"rgb(156,204,101)\",\"sellColor\":\"rgb(244,67,54)\"},{\"amount\":10,\"gif\":\"explosion\",\"buyColor\":\"rgb(255,160,0)\",\"sellColor\":\"rgb(233,30,99)\"}]"

Bildschirmfoto vom 2019-04-09 16:11:27

Adding new exchanges

If you want a exchange to be added into this tracker, this is the thread.
Answer here with the name of the plateform and why you think it coult be relevant here.

I previously added bithumb and it has been found very unstable in term of price action and technicaly speaking. So you might want to take two things needs into account.

OKex Trades not being grouped

It was mentioned in issue #42 that the grouping was disabled for OKex trades for some reason? Now that we have V3 of the API can we enable it? Because as it stands, none of the OKex trades are being grouped.

For example, the following trades with the same timestamp are not being grouped, and wouldn't pass a 1,500 threshold even though the sell is larger than 1,500.

{"trade_id":"3110651246903329","side":"sell","price":"311.55","qty":"1215","timestamp":"2019-07-04T00:39:31.311Z"},{"trade_id":"3110651246903327","side":"sell","price":"311.561","qty":"40","timestamp":"2019-07-04T00:39:31.311Z"},{"trade_id":"3110651246903325","side":"sell","price":"311.588","qty":"252","timestamp":"2019-07-04T00:39:31.311Z"},{"trade_id":"3110651246903323","side":"sell","price":"311.602","qty":"380","timestamp":"2019-07-04T00:39:31.311Z"},

Change Req.: Please "remember" on client side, what the user entered in the field "Pair"

Please add functionality to "remember" on client side, what the user entered in the field "Pair" and do not replace that value for "Pair" with value out of URL.

For example, i use two URLs for "BTCUSD"

1.) https://btcusdbinance.aggr.trade/
2.) https://btcusdbitfinex.aggr.trade/

For both of them, i want to have the value "BTCUSD" in field "Pair"!!!!

BAD (app replaces my value with value out of URL):
Bildschirmfoto vom 2019-04-30 11:57:50

GOOD (app remembers, that i have entered "BTCUSD":
Bildschirmfoto vom 2019-04-30 11:58:10

Option to return to original (vertical) view.

Great app, btw! It would be nice to be able to switch back and forth between the old vertical view and the new fullscreen one. Fullscreen is just way too big to quickly glance at it on a large monitor. I usually leave it open in a tab on chrome and switch to it when it starts getting noisy, but it is a bit jarring to look at at this point. Bonus Thought: Perhaps, there could be an option to keep the list on the left half or quarter of the screen and the right side gets filled with the chart?

Sound settings

Please add more sound settings. I don't want the new sounds when SMA is crossed.

You're doing a great job. Thank you.

No Audio on Safari Version 12.0 (13606.2.11) by default

After applying the Safari 12 update on Mac OS High Sierra (10.13.6), Audio didn't work anymore. I'm using the published demo, but I guess the issue isn't restricted to that demo.

I debugged the JavaScript and found out that the WebKitAudioContext is now in suspended mode initially. One can restore the behavior of previous Safari versions by setting the 'Auto-Play' value of the demo website to 'Allow All Auto-Play' on the 'Websites' Tab in the Safari Preferences.

I noticed that the value for the twitch website was already 'Allow All Auto-Play', although I never explicitly set that. Maybe a web application can set that value. Twitch streams are initially muted now and you can/have to tap/click a button to unmute the stream. Doing that might have changed the settings value.

Change Req.: Set all exchanges to multiplier "x1.00" by default

Bildschirmfoto vom 2019-05-01 15:29:22

Today, i got tricked by this (#29) problem again...

I was very confused, why the cash-image was not showing up even though i had correctly set up my threshold-values. -> It was, because the exchange had its own multiplier (x0.66) :-(

I just thought, i musconfigured the threshold-values, or the app had a bug...but... it was only that the app had some threshold-multiplier for a specific exchange pre-configured (x0.66).

To avoid this "confusion" in the future and because of these reasons:

1.) It is pretty hard to set/use the threshold-regulator with the MOUSE for a specific exchange to exactly "x1.00" if it was set to x0.66 before :-(
2.) It is generally a pretty personal-specific setting and therefore should always start by "x1.00"
3.) For new app-users, it is definitely not obvious right from the start, that each exchange has its own "randomly-taken" x-multiplier. I think, this could heavily cause confusion :-(

i would recommend to set all exchanges to "x1.00" by default, and then, let the user decide, if he wants to adjust it for specific exchanges :-)

THANKS

Okex broken

Hi!

All my instances stopped working today, seems that the culprit is Okex.

SyntaxError: Unexpected token M in JSON at position 0
at JSON.parse ()
at Okex.format (/home/user/SignificantTrades/server/src/exchanges/okex.js:567:23)
at WebSocket.api.on.event (/home/user/SignificantTrades/server/src/exchanges/okex.js:530:56)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)
at Receiver.receiverOnMessage (/home/user/SignificantTrades/server/node_modules/ws/lib/websocket.js:741:20)
at emitOne (events.js:116:13)
at Receiver.emit (events.js:211:7)
at Receiver.dataMessage (/home/user/SignificantTrades/server/node_modules/ws/lib/receiver.js:405:14)
at Receiver.getData (/home/user/SignificantTrades/server/node_modules/ws/lib/receiver.js:346:17)

I am a "bit" of a noob so a little help would be appreciated.

Thanks!

Sound and orders issues.

Hello,
While using the app in Google Chrome:

  • When I switch on the liquidations, the sound function stops working.

  • For exchanges except bitmex, orders are not showing up.

OKex Future volumes not showing correctly.

When trying to get OKex futures, the volumes are showing as Bitcoin/Ether amounts, and the volume values of the trades aren't matching with the live trade stream from OKex. Each contract on OKex is worth 100$ for BTC and 10$ for all the other contracts. Maybe we need to load this data, or have a setting to override the quote/base currency as I think its presuming those currencies wrong at the moment.

PS awesome tool, using it all the time.

aggr.trade down?

Server seems to be down right now, just a heads up.

Frontend server seems down. CORS Proxy still seems to be functioning fine.

Feature request

HIHI. Thats tool is really usefull, but can I suggest you add more history(maybe 1h or 4h) lookback?
Also, is there can be added trade per minutes counter as graphs bar?(visually mostly the same as buy/sell rn) but without emas.
Thanks!

Change Req.: Please couple Sound to Threshold-values

Actually, until now i did not figure out when exactly the "special" "BTCUSD 1M BUY/SELL"-Sound is played by the app when using other pairs like "TRXM19".

Normally, i would expect, the sounds are coupled to the threshold values:

  • First white dot: quiet sound
  • Second white dot: louder sound
  • Third white dot: special 1M sound
  • Fourth white dot: super special sound

But it seems, that the "special 1M" sound (that is played in "BTCUSD") is generally only played at the amount of 1M TRX/XRP/whatever. Is it hardcoded for 1M in general?

Example:
If i would have a configuration like this, I never hear the "special 1M" sound that i would like to hear at 500K :-(
So it should be played at the threshold-value of the third-dot (at the amount of "500K").
Bildschirmfoto vom 2019-04-30 17:51:22

Feature Request: show move per volume

Seeing the current relation between buy and sell is really interesting. That shows the relation between ppl wanting to instantly buy/sell. (since evey buy needs a sell, the amount of all executed buy/sell orders is always equal).
So it would be interesting to see how much the current buy volume moved the market. Its a big difference if you have 6M Buys and that moved the market by 10 $ or 100. (basically shows if there is lots of passive sell pressure in the books, or no resistance).

Should be calculated "easily" since you already aggregate the executionvolumes, you can also aggregate the moves per execution.

Not sure where to add it in the UI thou. but from what i can tell you got some pretty good skills in that regard ;)

Modifying Audio

Firstly, very impressive work. I think the significant trades audio implementation is incredible - particularly when you look at commercial products in financial markets which do something similar (only much, much worse).

I've set up two different instances so I can watch other cryptos and I'm trying to work out a way to have different audio.

I've read up a little bit about the tunajs library but was wondering if I could have some further pointers?

I've tried different sound effects (wahwah, tremolo) but everything sounds pretty much the same and I've tried something called 'cabinet' and passing through an impulse wav but then it just stops working.

e.g.

this.output = new tuna.Cabinet({ makeupGain: 1, //0 to 20 impulsePath: "Impulse.wav", //path to your speaker impulse bypass: 0 });

instead of


		this.output = new tuna.PingPongDelay({
			wetLevel: 0.5, //0 to 1
			feedback: 0.01, //0 to 1
			delayTimeLeft: 175, //1 to 10000 (milliseconds)
			delayTimeRight: 100 //1 to 10000 (milliseconds)
		});

Any tips?

If not, any chance of having different sound options implemented in another version so that one can run significant trades for multiple products?

Export to Kafka

Hi, mate!
I'm still using outdated fork from your server branch.
How are you think about to add Kafka support (for export)?
Kafka simply accepts json on the input and supports async data upload.
It will be useful when you need centralized close-to-realtime data source with short-term json storage (databases like ES or Influx will not be so useful here)

Found 12 vulnerabilities (10 moderate, 2 high)

I am very inexperienced to running this kind of stuff and was curious what could be causing these, i have updated them via. "npm audit fix" but am now unable to get a connection through my localhost page.

Explosions

Normally, i would expect, that only trades ">1M" are "explosions" ?!?

Bildschirmfoto vom 2019-04-02 13:29:45

Suggestion: persisting option

Hi,

i have a suggestion:
Could you implement an option to persist the collected data?
Like persisting in a mysql database?

thanks in advance.

Best regards,
Patrick Willi

Something strange is happening here

@Tucsky, first I wanted to tell you well done! Your branch is a good code!

However, there is a bit of remark:

  • Why do you crap into the global window object? Stop it, please. You can easily move those functions from the window to the root vue-component as methods, then using them through this.$root.yourKillishMethod(kill, ish) call.
  • You could make mounted event asynchronous with async statement before declare, then use await spaghetti instead of nesting functions spaghetti.
  • Wait a minute, so you want to say that eventemitter is the helper, but websocket is the service near the options?
    You know what?
    websocket and eventemitter are such things which provide you a new information, like the dynamic shit.
    options just store some information for you and it is the static info.
    So, obivuosly options is the store (state is the store too, btw) and websocket and eventemitter is relative essentially, but of course not the same. They may be called services, but I believe it is a superfluous term in web-dev. Helpers I like much more. But it is your decision.

How do you like that second one?

Please do not (visually) update https://tucsky.github.io/SignificantTrades/#

I just saw, that you planned a (UI/UX) update, new version?!?!

Please leave the significanttrades (https://tucsky.github.io/SignificantTrades/# , v1.4.0 12 aug) software as it is, its just absolutely perfect with the current version right now!!!!!!

Please do not visually update it, pleeeeeeeeeease!!!!!!!!!!!
If you do some performance optimizations, then okay, but please let the UX/UI/Sound/Effects/...... as it is!!

BIG THANKS :D

Refactoring Req.: Standardise displayed currency values for better comparability

For example, TRX:

Bildschirmfoto vom 2019-04-25 11:02:34

  • For Binance outputs:
    "binance" --> Looks OK
    "฿ 431 sats" --> Looks OK
    "฿ 0.6999354" --> Looks Bad, better would be "162K" (for better comparability to bitmex outputs)

  • For Bitmex outputs:
    "bitmex" --> Looks OK
    "$ 438 sats" --> Looks Bad, better would be "฿ 438 sats"
    "$ 58K" --> Looks Bad, because it is not "$" but TRX, so better would be to just display "58K"

better would be:

yo

Are closed positions included as well?

Hi,
Thanks for your great project.
Is this code shows closed positions as well or does it only shows new opened positions. For example someone short 1mil at 9200 and closed it at 9180. Is it going to show both?

Option to remove graph

Hi Tucsky, When I download your app the first thing I do is change it so it doesn't display the graph. Do you think you could add the option to do this to make it easier for me and others?

Really appreciate the work youve done on this!

[Request] Unfreeze the "Pair" option

I'do like the possibility to change the pair and even if you already look it in BTC/USD. For exemple be able to have two windows with BTC/USD and ETH/USD (or ETH/BTC also) please.

Chart stops updating after a while until an exchange is removed and re-added

Console is filled with:

build.js?v=2.3.3:6 TypeError: Cannot read property 'update' of undefined
    at n.<anonymous> (build.js?v=2.3.3:30)
    at Array.forEach (<anonymous>)
    at n.updateData (build.js?v=2.3.3:30)
    at n.c (build.js?v=2.3.3:30)
    at build.js?v=2.3.3:30
    at Array.forEach (<anonymous>)
    at t.fireEvent (build.js?v=2.3.3:30)
    at build.js?v=2.3.3:30
    at Array.forEach (<anonymous>)
    at t.Chart.redraw (build.js?v=2.3.3:30)

which looks relevant. Happens on Chrome, Edge and as far as I remember also on Firefox.

Install errors.

Sorry to bother. I am not very familiar with this, but I am getting the following errors when I try to install. This looks pretty amazing, so would like to give it a try. Any help is greatly appreciated and thanks for creating.

Resolving deltas: 100% (2421/2421), done.
(base) Brads-MBP:SignificantTrades bradnickel$ npm install
npm WARN saveError ENOENT: no such file or directory, open '/Users/bradnickel/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/Users/bradnickel/package.json'
npm WARN [email protected] requires a peer of bufferutil@^3.0.3 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of erlpack@discordapp/erlpack but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of node-opus@^0.2.7 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of opusscript@^0.0.6 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of sodium@^2.0.3 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of libsodium-wrappers@^0.7.3 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of uws@^9.14.0 but none is installed. You must install peer dependencies yourself.
npm WARN bradnickel No description
npm WARN bradnickel No repository field.
npm WARN bradnickel No README data
npm WARN bradnickel No license field.

Suggestion: User can adjust base frequncy/tone of sfx.js to allow custom sounds.

it would be really cool if we could set a slightly different tone for each window of Significant trades we have open. I'm wondering if this could be implemented by slightly modifying the base frequency/tone given to sfx.js . Then, we could use a slider in the app to allow the value to be changed by the user from 1.0-2.0 or something, which would multiple by the base value. That way, users could have different sounds for different exchanges or pairs as they wish. I don't have a lot of experience with the sound library you're using, maybe you can suggest where is a good place to implement this and I can give it a go? thanks.

Custom color schemes and BigOrderGIFs

Would be nice to change color scheme to beige or white background.

Also any way to choose different gif animations sets ? the cartoons/movies ones are not fun.

Liqudations now showing

I have very stupid question about liqudations. Where on the chart or on trades list are they supposed to show up ? Cause i have them enabled and i havent seen single one. I know they cant show if no liqudations happen, just curios if there is some seperate window where they are shown. Tnx

Feature Request: Save settings and restore

Right now, i have to set all pairs i want so see manually after restarting webbrowser, that takes always some time :-(

It would be nice, to either save settings on

  • client side (cookie or whatever) or provide something like
  • server-side "login" and restore saved settings for "Pairs" in combination with corresponding "thresholds" and colours.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.