scrybe
|
|
November 14, 2012, 04:25:59 AM |
|
Thanks Aido!
|
"...as simple as possible, but no simpler" -AE BTC/TRC/FRC: 1ScrybeSNcjqgpPeYNgvdxANArqoC6i5u Ripple:rf9gutfmGB8CH39W2PCeRbLWMKRauYyVfx LTC:LadmiD6tXq7gFZvMibhFUZegUHKXgbu1Gb
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 14, 2012, 09:42:03 AM |
|
Care to share?
I can show you my sources, but I guess it'll take you too much time to study them?
|
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 14, 2012, 10:44:39 AM Last edit: November 14, 2012, 11:23:39 AM by Aido |
|
I'm going to tidy up the switches giving options to disable arbitrage, disable 'normal' trading or run in simulation mode for both.
We already have --simulation-mode and --use-arbitrage. Simulation mode does not affect arbitrage at the moment. What switch name would people suggest for non-arbitrage trading trades? --use-normal-trades is a bit long and I don't like --use-normal i.e. what's normal? I am just looking for a simple but descriptive term to differentiate arbitrage trading from the other type.
Once I have the swtches working I'll look at putting them into the config file.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 14, 2012, 12:43:27 PM |
|
I was told, that it's 'technical trading'. But I don't speak english, so I just accepted the term. Btw: sorry for my late reply on your query for my sources, but I just overlooked that line in your response. Or did you edit it? As I said: I can give you the sources, but it's > 100 classes and with the required jars an 8.8 MB zip file. And it's far from being complete. I'm still working on the trading interface and only the gox and btc-e implementation are halfway complete.
|
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 14, 2012, 02:50:16 PM |
|
No worries daybyter.
I think another correct term is "trend following". Well, that's what wikipedia calls it anyway.
You code is only stored local, you haven't used github or anything like that?
As you stated, 100 plus classes would take me a long time to understand. And as a java novice I may not ever understand it. I think I'll concentrate on understanding how IsisATP does its thing first before biting off more than I can chew.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 14, 2012, 03:36:54 PM |
|
--use-trend it will be.
Now, to code it.................
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 14, 2012, 04:40:36 PM |
|
Hi! You code is only stored local, you haven't used github or anything like that?
As you stated, 100 plus classes would take me a long time to understand. And as a java novice I may not ever understand it. I think I'll concentrate on understanding how IsisATP does its thing first before biting off more than I can chew.
Since I'm the only developer, I don't use svn or git yet. Just drop me a PM, if you want to check the sources, and I'll upload it on one of my servers and give you temporary URL to download it. But, as I said, it's quite rough yet and work in progress. I'm still struggling with some method to get the automatic trading going, so I guess I'm behind the Isis-project. Ciao, Andreas
|
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 16, 2012, 01:25:55 AM |
|
More updates at https://github.com/aido/IsisATP/commits/master: commit ee4bf173b02d75048b966aece7fc0007508bc371
Added --use-trend=true/false commandline parameter (default true)This enables/disables trend following trades as discussed in previous posts. commit 978b03b29aaf5e7b3e1701a29c7067892607de84
Moved Trading Agent start() from TrendObserver class to Application classThis was done to make above commit possible and really stretched my nascent java coding ability. commit eed78364569b2715fe7bc7ed773b66dcd9795a73
Added more generic way of getting exchange hostname and port for dropped connection testTidied up a previous fix. Still not 100% happy though. Commits are in reverse chronological order because that's how git log command prints them!
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
AnubisTheJackle
Newbie
Offline
Activity: 7
Merit: 0
|
|
November 24, 2012, 05:49:50 PM |
|
One thing I would love to see is a freaking GUI. I may be alone in this, but having a chart tracking the prices, and a GUI that would allow me to take over manual controls or to give up control for the different trading engines, just basically allowing me to alter the configuration on the fly, without having to manually edit the files, would be nice.
|
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 24, 2012, 08:01:53 PM |
|
Take a look at the btc-e.com website. I like their GUI a lot, so I tried to copy it in my app:
|
|
|
|
new overcomer
Newbie
Offline
Activity: 9
Merit: 0
|
|
November 28, 2012, 11:09:48 PM |
|
Hello there everyone! So I happened to run across this project you've all been working on and it looks extremely promising. I've been running it for twenty four hours straight or so (hate to say but it's deadlocked approx 3-4 times in 24hrs - using latest Aido build). While reading through this entire thread it seems there are some very dedicated individuals to seeing this go somewhere. If you guys are interested I'd be happy to jump in with my developer hat to help where desired. I did notice some confusing and strange behavior. It seems like through all the buying and selling it's doing all it seems to manage to do is slowly lose money over time. Is this a problem with the algorithm or the tweaking of it's variables? I'm a developer, not an economist. Running with arbitrage disabled, algorithm 2.
|
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 29, 2012, 02:01:40 AM |
|
Hi new overcomer, Yeah, I think the algos need to be looked at alright. Maybe they just need a bit of tweaking rather than a total overhaul. I've been dancing around the edges of this part of the code. Any suggestions for improvement? Feel free to use the issues page on github to report any bugs or issues: https://github.com/aido/IsisATP/issues. I suppose it's a better way to track these sort of things. I see there are currently 0 issues, so the code must be perfect At first I didn't understand how the original Isis arbitrage algoithm could work. It seemed the decision to trade is based solely on largest and smallest exchange rate between different currencies and BTC. On closer inspection I now think it works OK. I temporarily changed the arbitrage decision to use more complicated edge weighted directed graph and Bellman-Ford shortest path algorithms (don't be fooled by my use of these terms, I am neither coder nor mathematician; rather, Google is my friend). The end result seemed to be the same as the original algo so I quickly dropped that approach. You also mention a deadlock. Are you sure it's a deadlock causing the problem? I recently changed the Ticker Manager code to use streaming instead of polling. I think the socketIO connections could be dropping. I currently don't have any check to test and reconnect a dropped socket. I hope to add this functionality as soon as it is added to XChange: https://github.com/timmolter/XChange/issues/6Maybe if someone 'nudged' the developer of XChange it may encourage a speedy implementation of this functionality in his code. When I get a chance I'll test for deadlocks also, just in case. I had already written a handy script to make it a lot easier to test for deadlocks in the original Isis code.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
Uuno
Member
Offline
Activity: 96
Merit: 10
|
|
November 29, 2012, 01:41:00 PM Last edit: December 03, 2012, 08:43:03 AM by Uuno |
|
This is actually very cool. I've been searching for a bot to do some bitcoin arbitrage and this seems to be the best option what I've found. Thanks for nomorecoin, aido and others too, who are helping for developing this. I'm going to test this very soon!
|
Send all your money here: 1CRTegc4fdeJYwTPGYTuGq3nFBbgvHc23c
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
|
November 29, 2012, 02:48:38 PM |
|
I will look at implementing something that will automatically switch algorithms based on market conditions. If market is flat or steadily trending in one direction use nomorecoins algo but if the market is volatile use the Isis' trending algo.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 29, 2012, 04:38:27 PM |
|
I wonder, if there's a way to describe a trading strategy in a system independent, more descriptive, way...
|
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 29, 2012, 05:43:21 PM |
|
Yeah, I implemented this more or less the same way in my ChartAnalyzer class. But I meant the actual trading algo. I'm working with rule sets at moment to separate the trading code from the actual trade app. Would be cool to end up with a domain specific language to describe the actual trading.
|
|
|
|
danieldaniel
|
|
November 29, 2012, 05:52:37 PM |
|
So has anyone completed a "fixed" version of this?
|
|
|
|
new overcomer
Newbie
Offline
Activity: 9
Merit: 0
|
|
November 29, 2012, 06:34:59 PM |
|
I will look at implementing something that will automatically switch algorithms based on market conditions. If market is flat or steadily trending in one direction use nomorecoins algo but if the market is volatile use the Isis' trending algo.
I was thinking the exact same thing. I don't know if this is related or not (I'm sure our financial experts will know) but I was contemplating yesterday looking at two bands. One a wide band looking at the entire range from low to high for X time period AND Y number of transactions. (Four transactions in an hour has a very different impact on our math vs 4000 transactions in an hour in terms of projecting accurately.) And a short band to look at K time period and J transactions which would look at a % above and below our SMA. If I'm not mistaken this would help us more accurately track quick volatility and jump in on trades when someone snatches up or sells off a bunch of it quickly. So has anyone completed a "fixed" version of this?
Hm, considering such a short window since it has been discussed, no. There is a LOT of work to do. In other news, I think it might be a good idea to actually set up a forum for serious development talks and discussion instead of using this single thread. I have the resources to set one up right now. @Aido: Do you want me to just push code fixes as bugs on the tracker and you can push them into the repository?
|
|
|
|
new overcomer
Newbie
Offline
Activity: 9
Merit: 0
|
|
November 29, 2012, 06:44:07 PM |
|
Any suggestions for improvement? Feel free to use the issues page on github to report any bugs or issues: https://github.com/aido/IsisATP/issues. I suppose it's a better way to track these sort of things. I see there are currently 0 issues, so the code must be perfect ... You also mention a deadlock. Are you sure it's a deadlock causing the problem? I recently changed the Ticker Manager code to use streaming instead of polling. I think the socketIO connections could be dropping. I currently don't have any check to test and reconnect a dropped socket. I hope to add this functionality as soon as it is added to XChange: https://github.com/timmolter/XChange/issues/6Maybe if someone 'nudged' the developer of XChange it may encourage a speedy implementation of this functionality in his code. When I get a chance I'll test for deadlocks also, just in case. I had already written a handy script to make it a lot easier to test for deadlocks in the original Isis code. Well to be honest it's going to take me a little while to get my head around the project currently. I can't just step in and know what you guys have spent months working on. I did notice some things that can be cleaned up nicely and quickly though which should make every ones lives easier. I suppose you're right as I have no way of knowing until I step through the debugger to see where it's hanging whether or not it's deadlocking or just dropping connection. I forgot this program doesn't take user input while the feed is going so 'deadlocking' may not be the best term. .... so you're saying all the market connection and data streaming is coming from a different project? Oh bugger, this could make life interesting if we have to start making our own fixes AND keep track with these other projects.
|
|
|
|
daybyter
Legendary
Offline
Activity: 965
Merit: 1000
|
|
November 29, 2012, 07:27:13 PM |
|
In other news, I think it might be a good idea to actually set up a forum for serious development talks and discussion instead of using this single thread. I have the resources to set one up right now.
Would non-isis users be allowed to join such a forum? I'm interested in a working trade algo, too.
|
|
|
|
|