Pages:
Author

Topic: Isis ATP [Automated Trading Platform] - Discussion - page 24. (Read 45225 times)

full member
Activity: 154
Merit: 102
Fix has been comitted.
Please upgrade immediately.

This also fixes part of the Overall PL by normalizing the BTC component to local currency before computing the PL.  Overall PL % is still broken but the currency amount is correct.

full member
Activity: 154
Merit: 102
I stared at this
Code:
if(qtyToBuy.compareTo(minLocal) < 0){
for 10 full minutes without realizing the issue. Fixed and built.


Close, but what actually needed to happen is the weight needed to be absoluted before being applied.


I'm the king of getting this wrong. I will wait for the commit then.
edit: another 5 bitcents your way for being awesome.

Don't feel bad, my gut instinct originally told me that was it too.  But then I put the code into the debugger, set a break point and stepped through it, double checking the math the whole way.

We can't buy or sell a negative number.  The weight if negative multiplied by a balance (which by defintion is positive or 0 (local or BTC)) is going to yield a negative.  Ergo, the weight needs to be absolute.
full member
Activity: 154
Merit: 102
I stared at this
Code:
if(qtyToBuy.compareTo(minLocal) < 0){
for 10 full minutes without realizing the issue. Fixed and built.


Close, but what actually needed to happen is the weight needed to be absoluted before being applied.
full member
Activity: 154
Merit: 102
Thats what I mentioned in the other thread, the EMA wont work very well if you are not selling at opposite ends of the swings. From what I have seen the bots everyone running are doing they are doing .01 whenever the price swings either way and damn the fees.

It's not supposed to do that.  Earlier we had a bug where weight was coming in at 0 so it was trading the whole trendline.
In this bug the weight was negative so I had to abs the weight to get the right value since we can't trade a negative amount.

It should be executing a buy or sell at the peaks or valleys.  In this case it was executing sells at the peaks but not buying at the valleys.
legendary
Activity: 1358
Merit: 1002
BTW, my bot crashed because of connectivity issues. It should probably just wait instead of crashing.
legendary
Activity: 1358
Merit: 1002
Are there any unit tests associated with this trading agent?

Based on the number of defects identified so far, the software engineer in me is kicking in and going "you really shouldn't be playing with this until it has better test coverage"

Who cares. After playing with pirate it can't get any worse lol
full member
Activity: 154
Merit: 102
Are there any unit tests associated with this trading agent?

Based on the number of defects identified so far, the software engineer in me is kicking in and going "you really shouldn't be playing with this until it has better test coverage"

Sorry guys I was AFK.  If something like this is uncovered in the future and I haven't responded in 10 minutes or less, text me 801-477-7150 and I'll respond as soon as possible.

As far as unit test, the code base is too influx for unit test to be of much use.  So much changes from commit to commit that by the time I would write a unit test it would be effectively invalid and trying to fix it would delay releasing a critical fix such as this even further.

Yes this is a >< transposition, according to the commit logs I screwed this up in the last commit.

Fortunately it's in the buy section and it's making it so the buy threshold is never reached.  According to the algorithm you've missed some bargains, but it looks like it hasn't cost anything yet.  The bad part is that if that threshold were to somehow become positive (a market crash) you would end up lots of buying lots of bitcoins at WAY above market rates.

I'm going to swap the comparators and commit.  I apologize for the bug.
legendary
Activity: 1358
Merit: 1002
I get the impression it's hard to teach java how to math
Code:
INFO: Current ask price os USD 11.9 is below the VWAP of USD 11.89912

That's not a java math problem, just a matter of not using below/above when it's selling/buying
newbie
Activity: 32
Merit: 0
Are there any unit tests associated with this trading agent?

Based on the number of defects identified so far, the software engineer in me is kicking in and going "you really shouldn't be playing with this until it has better test coverage"
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Java didnt drink its coffee this morning.
newbie
Activity: 22
Merit: 0
Thats what I mentioned in the other thread, the EMA wont work very well if you are not selling at opposite ends of the swings. From what I have seen the bots everyone running are doing they are doing .01 whenever the price swings either way and damn the fees.
legendary
Activity: 1358
Merit: 1002
same for me, due to trending down

Not that I'm worried, because if it was buying BTC at market price I would be losing money lol
newbie
Activity: 32
Merit: 0
Came here to post the same as the two above.

Code:
Sep 17, 2012 6:21:31 PM org.open.payment.alliance.isis.atp.TradingAgent run
INFO: Ticker Size: 124 | Trend Arrow: -5.0 | Bid Arrow: -6.0 | Ask Arrow: 0.0 | VWAP: USD 11.85941
Sep 17, 2012 6:21:31 PM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: Weight is -0.04032258064516129
Sep 17, 2012 6:21:31 PM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: Attempting to buy -2.64425685483870960402648375708878347722929902374744415283203125 BTC
Sep 17, 2012 6:21:31 PM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: -2.64425685483870960402648375708878347722929902374744415283203125 was less than the configured minimum of 0.01
There just isn't enough momentum to trade at this time.
legendary
Activity: 1358
Merit: 1002
Code:
Set 18, 2012 1:20:52 AM org.open.payment.alliance.isis.atp.TradingAgent run
INFO: Ticker Size: 137 | Trend Arrow: -2.0 | Bid Arrow: 1.0 | Ask Arrow: 0.0 | VWAP: USD 11.92644
Set 18, 2012 1:20:52 AM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: Weight is -0.014598540145985401
Set 18, 2012 1:20:53 AM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: Attempting to buy -14.542811824817517768847797976494717886453145183622837066650390625 BTC
Set 18, 2012 1:20:53 AM org.open.payment.alliance.isis.atp.TradingAgent evalBid
INFO: -14.542811824817517768847797976494717886453145183622837066650390625 was less than the configured minimum of 0.12
There just isn't enough momentum to trade at this time.

Is this a bug?
It's not buying BTC because of it. A negative number is always less than a positive one. Something's not right there.
Or is this expected behaviour?

The 0.12 it talks about is USD $0.12.
full member
Activity: 154
Merit: 102
Code:
Sep 18, 2012 12:30:21 AM org.open.payment.alliance.isis.atp.TradingAgent evalAsk
INFO: Weight is 0.053691275167785234
Sep 18, 2012 12:30:21 AM org.open.payment.alliance.isis.atp.TradingAgent evalAsk
INFO: Attempting to sell 0.0137985181208053688283091120503343063319334760308265686035156250 of 0.2569974 BTC available
Sep 18, 2012 12:30:21 AM org.open.payment.alliance.isis.atp.TradingAgent evalAsk
INFO: 0.0137985181208053688283091120503343063319334760308265686035156250 was less than the configured limit of 0.02
There just isn't enough momentum to trade at this time.

?

Your minimum trade amount of 0.02 that you have configured is greater than the amount that the trader decided should be sold 0.013....
Rather than kick it up to the minimum it now notifies you that there isn't enough momentum to reasonably guarantee a profit with a trade of that size.

If the model holds, eventually the market will either move up to your minimum trade threshold, in which case it will execute a trade of at least 0.02, or the market momentum will slow down (possibly reversing) and you won't be stuck with an trade that didn't meet your minimum size requirements.

That minBtc field should probably be the MtGox minimum plus any trading fees  0.0106 for the algorithm to work as designed, especially on lower balances.

You can edit this setting by editing the prefs.xml (on linux) or registry (on windows) and modifying the minBTC field.  The application will pick up the change the next time it passes by that section of code.

Thanks for asking!
full member
Activity: 154
Merit: 102
With the latest release just ignore the "Overall PL" field.  It's useless, I forgot to normalize the values to the same units before doing the math.

I'll fix it in the next commit, but that's not coming for a bit.
full member
Activity: 154
Merit: 102
yes i was thinking of those 3 (6 btc?) , instead of putting 2 btc at each currency (32 btc)

The math I used to come up with 32 is 1 btc in each currency and 16 BTC sitting there for slush.
Regardless of current volume the arbitrage engine would be looking at the order book and using a matrix to determine the cheapest place to buy and the most profitable place to sell.  By definition this is going to generate volume since it would be providing liquidity to illiquid markets.

Hence my fear of having it run unchecked.
full member
Activity: 154
Merit: 102
cant there be a smaller arbitrage version for 3 or 4 currencies , for those who want to test with small amounts of btc

The arbitrage engine will trade all currencies that you have mtgox wallets for.
Your settings should in theory be able to limit your losses, but until that's.  1validated id hate to see someone lose out big because it wasn't bothering to obey trading limits .  100 BTC is enough to stay in the game and weather the maximum loss I could see the engine generating.
BCB
vip
Activity: 1078
Merit: 1002
BCJ
USD
GPB
EUR

What other currency has significant trading volume?
legendary
Activity: 1358
Merit: 1002
I'm going to give you a multi-currency arbitrage version in the next 48 hours though.


I'll wait for the multi-currency version then. Smiley

Let me clarify that.  The arbitrage bot is only for Psy at the present time because we're all very poor and if anyone tries to run it without at least 32 BTC in their account they are very likely to be bankrupt very quickly and Psy is crazy enough to try it and let us know how it works out Wink

Lets hope the current version doesn't syphon the 100 BTC away lol
Pages:
Jump to: