Bitcoin Forum
November 06, 2024, 11:02:36 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [PROGETTO] The Rock Trading GUI  (Read 1963 times)
MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
February 02, 2014, 10:20:03 AM
Last edit: February 04, 2014, 06:51:14 PM by MikyMouse
 #1

ciao a tutti,

mi sono iscritto da pochissimo, anche se è già da un po’ che seguo il forum. Mi presento con un progetto che sto portando avanti, nato da una necessità che avevo in prima persona, ma che forse può rivelarsi utile anche per altri.

L’idea (per il momento) è la seguente: avere una mail che parte in automatico quando i prezzi di ask/bid su TheRockTrading cambiano sopra/sotto una certa soglia. Il progetto è ad uno stato alfa, nel senso che mi ci sono messo solo un paio di giorni nei ritagli di tempo (che è già poco), giusto per capire se può essere una cosa interessante da portare avanti. poi se non interessa a nessuno mi sa che lascio perdere.



[NERD]
Ho usato le API messe a disposizione da TRT per ottenere il JSON dell’ultimo ask/bid ogni REFRESH_RATE secondi (1,5 al momento) e confrontarlo poi con una soglia impostata. Sulla base di questo si decide se mandare o meno la mail di "allerta".
Ora, per mandare una mail serve un server smtp, io ho testato solo alice (che non richiede autenticazione) -> ho implementato anche l'autenticazione gmail: in questo modo potete creare un account gratuito e usare le credenziali per inviarvi un messaggio email al vostro indirizzo "vero". Oppure usate direttamente le vostre credenziali gmail, se le avete.

Il grafico delle ultime transazioni è invece calcolato sulle 24 ore sempre tramite API.
[/NERD]

istruzioni:
Per prima cosa provate a mandarvi una mail di prova (inserendo l’indirizzo e cliccando su “send test email”. Se arriva siete a cavallo: in alto a destra della finestra trovate le quotazioni aggiornate. Usate poi i riquadri a sinistra per impostare le soglie e premete “active alert” per iniziare. Nel momento in cui ask/bid saliranno/scenderanno sotto/sopra la soglia che avete impostato il programma manderà la mail all’indirizzo che gli avete fornito. facile no?

Per qualsiasi problema/lamentela/insulto sono qui, anche perché mi è utile per migliorare il programma.

Se il progetto vi piace, considerate l’ipotesi di una donazione:
BTC: 19u1hqFUSoryHdwWb43iQFHgxrE2YyVB8T

Il sorgente lo trovate su github (qui https://github.com/MikyM0use/TRTGUI): si tratta di un progetto netbeans, teoricamente se lo importate dovreste avere già tutto impostato.

Se invece volete solo eseguirlo, probabilmente il metodo più semplice è andare su https://github.com/MikyM0use/TRTGUI e cliccare "download zip" sulla destra. Quando ha finito di scaricare, scompattate e entrate nella cartella "dist". Qui dovrebbe bastare un doppio click sul file jar (su linux da shell potete lanciate java -jar TRTGUI.jar).

Per le prossime mosse avrei già in mente qualcosa:

SMTP diversi con/senza autenticazione (google,tiscali,fastweb altri?) ->fatto.

miglioramento impostazione soglie

refresh rate: teoricamente si può arrivare fino a 5 refresh al secondo, ma mi sembra eccessivo. -> fatto

estensione di questo approccio anche agli altri mercati valute e stock di TRT

utilizzo anche delle altre API per generare grafici: vorrei implementare un altro frame che contiene un solo grafico, magari degli altimi 1-3-6-12 mesi con la possibilità di calcolare direttamente media pesata ecc

personalizzazione messaggio / titolo email

salvataggio indirizzo email per non doverlo scrivere ogni volta

salvataggio su file (logging) degli eventi

per poi arrivare all’applicazione iOS/android invece delle email (ma questa cosa al momento è pura fantascienza, chissà).
AMONRA75
Full Member
***
Offline Offline

Activity: 148
Merit: 100


View Profile
February 02, 2014, 03:56:19 PM
 #2

complimenti...interessante progetto in java.
anche io sto sviluppando qualcosa prendendo dati json da cryptsy ma non conoscendo json ho delle difficoltà con le librerie
di solito uso mysql.
continua cosi!
paci
Hero Member
*****
Offline Offline

Activity: 500
Merit: 500



View Profile WWW
February 02, 2014, 04:24:14 PM
 #3

Bravo, questo è un esempio di un modo intelligente di usare le API per estendere le funzionalità
di un exchange!

/paci

https://www.therocktrading.com - Bitcoin exchange since 2011 - BTC/LTC/ETH/ZEC/PPC/XRP/EUR - SEPA
MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
February 03, 2014, 08:34:37 AM
 #4

Perfetto allora proveró ad andare un altro pezzetto avanti...vorrei aggiungere grafici. Vi tengo aggiornati
gdassori
Hero Member
*****
Offline Offline

Activity: 980
Merit: 1002



View Profile
February 03, 2014, 10:09:00 AM
Last edit: February 03, 2014, 10:30:00 AM by gdassori
 #5

Ciao, bel lavoro!

Se ti puo' interessare il trattamento dei dati da trades history a OHLCV (Open High Low Close Volume) ho scritto qualcosa tempo addietro, senza mai completarlo ma su cui potrei rimettermi se fosse finalizzato ad un altro progetto Smiley
Si tratta di un applicativo che fa il fetch dei dati da alcuni exchangers e li rispara fuori in maniera uniforme, dopo averli archiviati in un database.
E' Python, e per di più ho scarsamente documentato il codice, ma forse può servirti, darti spunto, boh ? Se desideri potremmo collaborare, e potresti interfacciarti al mio feed piuttosto che parlare direttamente con l'exchange. Avendo già tutti i dati da diversi exchanger, aggregati in maniera uniforme, potresti invece concentrarti sulla tua GUI, sulle funzioni, la sovrapposizione dei prezzi per il calcolo dello spread, delle occasioni di arbitraggio, etc..
Inoltre potrei costruirti dei metodi di consultazione del feed ad hoc.

Source code: https://github.com/mn3monic/datmarket
Esempi del programma in funzione:

http://starbuck.us.to/ohlcv/xbteur/trt/h1 (m1, m5, m15, h1, h4, d1 available)
http://starbuck.us.to/ohlcv/ltcxbt/btce/h1
http://starbuck.us.to/ohlcv/xbtusd/bitstamp/h1
http://starbuck.us.to/ohlcv/ltcusd/bitfinex/h1
http://starbuck.us.to/ohlcv/ppcxbt/cryptsy/h1

http://starbuck.us.to/orderbook/ppcxbt/cryptsy

http://starbuck.us.to/trades/ppcxbt/cryptsy

http://starbuck.us.to/available_pairs
http://starbuck.us.to/available_exchangers

http://starbuck.us.to/tickers

MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
February 03, 2014, 01:35:07 PM
 #6

Ciao, bel lavoro!

Se ti puo' interessare il trattamento dei dati da trades history a OHLCV (Open High Low Close Volume) ho scritto qualcosa tempo addietro, senza mai completarlo ma su cui potrei rimettermi se fosse finalizzato ad un altro progetto Smiley
Si tratta di un applicativo che fa il fetch dei dati da alcuni exchangers e li rispara fuori in maniera uniforme, dopo averli archiviati in un database.
E' Python, e per di più ho scarsamente documentato il codice, ma forse può servirti, darti spunto, boh ? Se desideri potremmo collaborare, e potresti interfacciarti al mio feed piuttosto che parlare direttamente con l'exchange. Avendo già tutti i dati da diversi exchanger, aggregati in maniera uniforme, potresti invece concentrarti sulla tua GUI, sulle funzioni, la sovrapposizione dei prezzi per il calcolo dello spread, delle occasioni di arbitraggio, etc..
Inoltre potrei costruirti dei metodi di consultazione del feed ad hoc.

questa mi sembra un'OTTIMA idea! sto solo pensando se sia il caso di integrare tutto insieme o fare un secondo progetto... come mai avevi deciso di lasciare perdere?
gdassori
Hero Member
*****
Offline Offline

Activity: 980
Merit: 1002



View Profile
February 03, 2014, 02:03:46 PM
 #7

Finch: Rookwood! Perché non si è fatto avanti prima? Che cosa stava aspettando?
William Rookwood: Aspettavo lei ispettore... Avevo bisogno di lei...

http://it.wikiquote.org/wiki/V_per_Vendetta

Wink

MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
February 03, 2014, 09:45:58 PM
 #8

mentre penso ad una possibile integrazione con il progetto di gdassori ho implementato l'smtp di google...

Quote
in questo modo potete creare un account gmail gratuito e usare le credenziali per inviarvi un messaggio email al vostro indirizzo "vero". Oppure usate direttamente le vostre credenziali gmail, se le avete.
gdassori
Hero Member
*****
Offline Offline

Activity: 980
Merit: 1002



View Profile
February 03, 2014, 11:11:11 PM
 #9

mentre penso ad una possibile integrazione con il progetto di gdassori ho implementato l'smtp di google...


Se vuoi mi trovi su #bitcoin-it @ irc.freenode.net, così facciamo un po' di brainstorming e capiamo se quello che ho fatto può essere utile a quello che hai in mente tu

Puoi usare XChat o la webchat

duemme
Full Member
***
Offline Offline

Activity: 135
Merit: 100


View Profile
February 03, 2014, 11:19:10 PM
 #10

complimenti! è proprio quello che volevo fare per me, solo che da ignorante totale di programmazione ho provato a studiare un secondo le Api e poi ho abbandonato la cosa.
proverò senz'altro il prodotto!
MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
February 04, 2014, 06:52:01 PM
 #11

grazie a tutti per i complimenti Smiley

ho implementato il refresh rate variabile, appena ho un po' di tempo mi dedico a qualche grafico...
fpg87
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
May 01, 2014, 08:11:18 AM
 #12

grazie a tutti per i complimenti Smiley

ho implementato il refresh rate variabile, appena ho un po' di tempo mi dedico a qualche grafico...
Come va il progetto?
sarei interessato a darti una mano.
MikyMouse (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
May 02, 2014, 01:18:09 PM
 #13

grazie a tutti per i complimenti Smiley

ho implementato il refresh rate variabile, appena ho un po' di tempo mi dedico a qualche grafico...
Come va il progetto?
sarei interessato a darti una mano.

avevo iniziate a implementare un po' di grafici, ma andando un po' indietro nel tempo (volendo graficare parecchie entry) la risposta json diventa un po' lenta (ovviamente) e la reattività dell'interfaccia ne risente.

quello che c'è funziona e le cose nuove da implementare non mi sembravano molto rilevanti, in più in questo periodo non ho molto tempo. Avevi qualche idea da implementare?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!