Nova!
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 04:16:14 AM |
|
Should be out of the box compatible with MtGox. You say issues, please elaborate preferably with a log or stack trace of some sort. Also what did you do that before seeing the error? Thanks!
|
Donate @ 1LE4D5ERPZ4tumNoYe5GMeB5p9CZ1xKb4V
|
|
|
Askit2
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 07:44:13 AM |
|
I think this is the expected behavior. When I use MTGoX I get, regardless of the ticker polling interval, gaps of 1-5 minutes. I am not sure if there is no action for a while or if the ticker API doesn't actually respond often enough to my requests. I would assume the streaming ticker should get me data when it happens or at least close to it but there should be no way a windows sidebar tool updating every 60 seconds updates more frequently (including new prices) then the bot set to poll every 3,5,6,10,12,15,or 20 seconds. I would also guess streaming isn't working as expected as on the MTGoX site I am able to see a new price up on the ticker every few seconds. Is anyone else seeing large gaps >1 minute with a polling interval of <20 seconds? I have it set at polling 12 and get 2 minute gaps frequently. Lower polling intervals do not make it update any more reliably. Higher then 20 has been untested by me. Possibly this is just me and has no influence on anyone elses setup.
I worry my tone may come across as irritated. I am a little irritated. AidoATP seems to work great. It reliably had ticker data on BTC-E. It couldn't trade at all but the ticker at least worked getting new data frequently and reliably. MTGoX seems less reliable. The Cheap SSL cert adds a level of annoyance to get it setup. Once running the ticker flakes out and leaves me with a crashed or semi-running ATP. When I am lucky I get a new piece of market data every 30 seconds. Most of the time the data is at 1-3 minute intervals. When I say crashed I mean instead of ATP running I am staring at the command prompt. When I say semi-running I mean that most tickers die, refuse to update or are ignored from a point on and the only ones that survive have such limited data they can't or won't trade. I am not irritated at ATP itself or the kind staff that generously lets me use it. I have missed out on 4$ swings today because ATP never got polling data for the swing. Market was down at 120.7 (it shot up to about 124.5$) then dropped back slightly to my next ATP tick of 123.8. Bot correctly discerned given the trend it had (ignoring the steps it missed for 4 minutes) that the market was heading down. It was heading down at that tick. Sadly because it was heading down before the missing data no trade could occur. Had the data been transmitted correctly I am fairly sure the trend line would have switched to up and when the reversal happened I could have made money on it.
Is there a way to force either new data from MTGoX or to get more reliable market data to ATP?
|
|
|
|
Aido (OP)
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 09:50:51 AM |
|
Maybe a polling interval less than 30 seconds is too small. Just a theory but if you are constantly hitting MtGox at 5 or 10 second intervals they may see you as a DDOS attack and strange things may happen. Try setting it to 30 seconds and see if it's more reliable. In a previous version of AidoATP I had the streaming ticker working but had to switch back to a polling ticker because of a bug in the streaming library used by XChange. This bug has now been fixed but consequently XChange has totally changed how a streaming ticker is coded and I have not updated AidoATP to account for this. It's been on my todo list for a while now.
|
Interesting Bash command line, try it ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
Askit2
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 06:34:53 PM Last edit: June 04, 2013, 09:20:24 PM by Askit2 |
|
Here is what actually makes it in the log. Sadly the console puts out a ton more data. I wish I had it logged but as I was not watching when it went belly up I didn't capture it. 2013-06-04 00:41:10,745 : ERROR org.aido.atp.TickerManager [Thread-1] - ERROR: Caught unexpected MtGox exception, ticker manager shutting down now!. Details are listed below. Below isn't more data just the tickers for the non USD currency. So it's been down about 12 hours for USD. EDIT: I will try 30 seconds. It can't be worse then 1-5 minutes. EDIT2: I used your settings for a flat market from the other thread so I had started with a polling interval of 15 seconds. When the data was slow I thought maybe if it checked more often when the data was available at least I would get new data closer to the drop out. I later had considered that if I polled too often maybe they where actually blocking me to punish me for too many requests. Thus I went up to 20 seconds. I didn't think 3X a minute would be overloading anything but maybe they don't allow that much. 2013-06-04 15:15:13,020 ←[34m:←[0;39m MtGox High EUR :- Last: EUR 95.00000 | Bid: EUR 94.00000 | Ask: EUR 95.00000 | Volume: 4509 | Currency: BTC | TimeStamp: Tue Jun 04 14:05:15 MDT 2013 2013-06-04 15:15:13,022 ←[34m:←[0;39m MtGox Low EUR :- Last: EUR 93.50000 | Bid: EUR 93.40000 | Ask: EUR 94.99000 | Volume: 4433 | Currency: BTC | TimeStamp: Tue Jun 04 15:05:32 MDT 2013 2013-06-04 15:15:13,025 ←[34m:←[0;39m MtGox Current EUR :- Last: EUR 94.79000 | Bid: EUR 93.69000 | Ask: EUR 94.79000 | Volume: 4 429 | Currency: BTC | TimeStamp: Tue Jun 04 15:15:08 MDT 2013 2013-06-04 15:15:13,041 ←[34m:←[0;39m MtGox EUR Ticker Size: 37 2013-06-04 15:15:13,054 ←[34m:←[0;39m MtGox VWAP Cross algorithm has determined that the EUR market is trending down. 2013-06-04 15:15:13,087 ←[34m:←[0;39m Used High risk algorithm to calculate weight of 0.08108108108108109 2013-06-04 15:15:13,334 ←[34m:←[0;39m BTC 0.00368800 was less than the configured limit of BTC 0.01 2013-06-04 15:15:13,336 ←[34m:←[0;39m MtGox Trend following trade agent has decided that there is not enough EUR momentum to trade at this time. 2013-06-04 15:16:13,308 ←[34m:←[0;39m MtGox GBP Ticker size: 13. Trend observer does not currently have enough GBP data to determi ne trend. 2013-06-04 15:16:13,347 ←[34m:←[0;39m MtGox High GBP :- Last: GBP 79.60000 | Bid: GBP 78.42148 | Ask: GBP 79.60000 | Volume: 338 | Currency: BTC | TimeStamp: Tue Jun 04 14:59:37 MDT 2013 2013-06-04 15:16:13,351 ←[34m:←[0;39m MtGox Low GBP :- Last: GBP 77.69690 | Bid: GBP 77.92599 | Ask: GBP 79.60000 | Volume: 431 | Currency: BTC | TimeStamp: Tue Jun 04 15:05:06 MDT 2013 2013-06-04 15:16:13,354 ←[34m:←[0;39m MtGox Current GBP :- Last: GBP 77.69690 | Bid: GBP 78.11364 | Ask: GBP 79.59000 | Volume: 4 20 | Currency: BTC | TimeStamp: Tue Jun 04 15:15:58 MDT 2013 2013-06-04 15:16:13,444 ←[34m:←[0;39m MtGox High USD :- Last: USD 121.77698 | Bid: USD 120.55603 | Ask: USD 121.77698 | Volume: 2 4603 | Currency: BTC | TimeStamp: Tue Jun 04 13:57:26 MDT 2013 2013-06-04 15:16:13,447 ←[34m:←[0;39m MtGox Low USD :- Last: USD 120.00000 | Bid: USD 119.96213 | Ask: USD 120.01212 | Volume: 24 535 | Currency: BTC | TimeStamp: Tue Jun 04 13:48:41 MDT 2013 2013-06-04 15:16:13,472 ←[34m:←[0;39m MtGox Current USD :- Last: USD 121.38493 | Bid: USD 121.38488 | Ask: USD 121.38493 | Volume : 23021 | Currency: BTC | TimeStamp: Tue Jun 04 15:15:14 MDT 2013 2013-06-04 15:16:13,496 ←[34m:←[0;39m MtGox USD Ticker Size: 56 2013-06-04 15:16:13,501 ←[34m:←[0;39m MtGox VWAP Cross algorithm has determined that the USD market is trending up. 2013-06-04 15:16:13,521 ←[34m:←[0;39m Used High risk algorithm to calculate weight of 0.125 2013-06-04 15:16:13,758 ←[34m:←[0;39m BTC 0.00697909 was less than the configured limit of BTC 0.01 2013-06-04 15:16:13,763 ←[34m:←[0;39m Trend following trade agent has decided that there is not enough USD momentum to trade at th is time. 2013-06-04 15:19:45,591 ←[34m:←[0;39m MtGox High USD :- Last: USD 121.77698 | Bid: USD 120.55603 | Ask: USD 121.77698 | Volume: 2 4603 | Currency: BTC | TimeStamp: Tue Jun 04 13:57:26 MDT 2013 2013-06-04 15:19:45,594 ←[34m:←[0;39m MtGox Low USD :- Last: USD 120.00254 | Bid: USD 120.00255 | Ask: USD 120.99990 | Volume: 25 041 | Currency: BTC | TimeStamp: Tue Jun 04 14:02:27 MDT 2013 2013-06-04 15:19:45,599 ←[34m:←[0;39m MtGox Current USD :- Last: USD 121.38393 | Bid: USD 121.38389 | Ask: USD 121.38393 | Volume : 22987 | Currency: BTC | TimeStamp: Tue Jun 04 15:19:24 MDT 2013 2013-06-04 15:19:45,607 ←[34m:←[0;39m MtGox USD Ticker Size: 52 2013-06-04 15:19:45,637 ←[34m:←[0;39m MtGox VWAP Cross algorithm has determined that the USD market is trending up. 2013-06-04 15:19:45,648 ←[34m:←[0;39m Used High risk algorithm to calculate weight of 0.057692307692307696 2013-06-04 15:19:45,928 ←[34m:←[0;39m BTC 0.00322112 was less than the configured limit of BTC 0.01 2013-06-04 15:19:45,931 ←[34m:←[0;39m Trend following trade agent has decided that there is not enough USD momentum to trade at th is time.
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 08:48:05 PM |
|
Getting a strange error. All the API keys are set up and I'm running in simulation mode. It was working at first until it collected enough ticker data then it started to display all of these errors. Anyone have any idea what's wrong? PS C:\nii\Bitcoin\AidoATP-master\bin> java -jar .\aidoatp.jar --simulation-mode=true 20:45:47,000 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 20:45:47,000 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 20:45:47,000 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/C:/Nii/Bitcoin/AidoATP-master/bin/aidoatp.jar!/logback.xml] 20:45:47,013 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@17a220d7 - URL [jar:file:/C:/Nii/Bitcoin/AidoATP-master/bin/aidoatp.jar!/logback.xml] is not of type file 20:45:47,052 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set 20:45:47,060 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 20:45:47,067 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 20:45:47,094 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 20:45:47,138 |-INFO in ch.qos.logback.core.ConsoleAppender[STDOUT] - Enabling JANSI WindowsAnsiOutputStream for the console. 20:45:47,139 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - Failed to create WindowsAnsiOutputStream. Falling back on the default stream. ch.qos.logback.core.util.DynamicClassLoadingException : Failed to instantiate type org.fusesource.jansi.WindowsAnsiOutputStream at ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type org.fusesource.jansi.WindowsAnsiOutputStream at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:73) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:42) at at ch.qos.logback.core.ConsoleAppender.getTargetStreamForWindows(ConsoleAppender.java:94) at at ch.qos.logback.core.ConsoleAppender.start(ConsoleAppender.java:85) at at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:96) at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:317) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:196) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:182) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281) at at org.aido.atp.Application.<init>(Application.java:54) at at org.aido.atp.Application.getInstance(Application.java:67) at at org.aido.atp.Application.main(Application.java:75) Caused by: java.lang.ClassNotFoundException: org.fusesource.jansi.WindowsAnsiOutputStream at at java.net.URLClassLoader$1.run(Unknown Source) at at java.net.URLClassLoader$1.run(Unknown Source) at at java.security.AccessController.doPrivileged(Native Method) at at java.net.URLClassLoader.findClass(Unknown Source) at at java.lang.ClassLoader.loadClass(Unknown Source) at at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at at java.lang.ClassLoader.loadClass(Unknown Source) at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:60) at ... 24 common frames omitted 20:45:47,139 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] 20:45:47,141 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] 20:45:47,156 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@315b5b68 - Will use gz compression 20:45:47,162 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 20:45:47,164 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: aidoatp.log 20:45:47,164 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [aidoatp.log] 20:45:47,165 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.xeiam.xchange] to WARN 20:45:47,166 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [si.mazi.rescu] to WARN 20:45:47,166 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG 20:45:47,166 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT] 20:45:47,166 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT] 20:45:47,166 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 20:45:47,167 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@64ce2228 - Registering current configuration as safe fallback point
2013-06-04 20:45:47,220 ←[34m:←[0;39m Aido ATP has started successfully 2013-06-04 20:45:47,223 ←[34m:←[0;39m Entering simulation mode. Trades will not be executed. 2013-06-04 20:45:47,223 ←[34m:←[0;39m Using trend following to decide some trades. 2013-06-04 20:45:47,553 ←[34m:←[0;39m Connecting to BTC-e Exchange 2013-06-04 20:45:47,553 ←[34m:←[0;39m Connecting to MtGox Exchange 2013-06-04 20:45:49,039 ←[34m:←[0;39m BTC-e AccountInfo as String: AccountInfo [username=null, wallets=[Wallet [currency=USD, balance=USD 0], Wallet [currency=RUR, balance=RUR 0], Wallet [currency=EUR , balance=EUR 0], Wallet [currency=BTC, balance=BTC 0], Wallet [currency=LTC, balance=LTC 0], Wallet [currency=NMC, balance=NMC 0], Wallet [currency=NVC, balance=NVC 0], Wallet [currency=TRC, balance= TRC 0], Wallet [currency=PPC, balance=PPC 0], Wallet [currency=FTC, balance=FTC 0], Wallet [currency=CNC, balance=CNC 0]]] 2013-06-04 20:45:49,342 ←[34m:←[0;39m Attempting to open market data file C:\nii\Bitcoin\AidoATP-master\bin/BTC-e_USD.dat 2013-06-04 20:45:49,364 ←[34m:←[0;39m Attempting to open market data file C:\nii\Bitcoin\AidoATP-master\bin/BTC-e_RUR.dat 2013-06-04 20:45:49,369 ←[34m:←[0;39m Attempting to open market data file C:\nii\Bitcoin\AidoATP-master\bin/BTC-e_EUR.dat 2013-06-04 20:45:49,485 ←[34m:←[0;39m MtGox AccountInfo as String: AccountInfo [username=nii236, wallets=[Wallet [currency=BTC, balance=BTC 0.00000000], Wallet [currency=USD, balance=USD 0.00000], Wal let [currency=AUD, balance=AUD 0.00000]]] 2013-06-04 20:45:49,744 ←[34m:←[0;39m BTC-e High USD :- Last: USD 119.765 | Bid: USD 119.3 | Ask: USD 119.765 | Volume: 3736 | Currency: BTC | TimeStamp: Tue Jun 04 20:38:04 UTC 2013 2013-06-04 20:45:49,745 ←[34m:←[0;39m BTC-e Low USD :- Last: USD 119.3 | Bid: USD 119.3 | Ask: USD 119.765 | Volume: 3725 | Currency: BTC | TimeStamp: Tue Jun 04 20:40:39 UTC 2013 2013-06-04 20:45:49,749 ←[34m:←[0;39m BTC-e Current USD :- Last: USD 119.3 | Bid: USD 119.4 | Ask: USD 119.759 | Volume: 3724 | Currency: BTC | TimeStamp: Tue Jun 04 20:45:48 UTC 2013 2013-06-04 20:45:49,758 ←[34m:←[0;39m BTC-e USD Ticker Size: 20 2013-06-04 20:45:49,811 ←[1;31m:←[0;39m ERROR: Caught unexpected exception, shutting down BTC-e trend following trading agent now!. Details are listed below. org.codehaus.commons.compiler.CompileException: Line 0, Column 0: Unexpected token "End-Of-File" in primary at org.codehaus.janino.Parser.throwCompileException(Parser.java:2593) at org.codehaus.janino.Parser.parsePrimary(Parser.java:2163) at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java:1886) at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java:1846) at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java:1826) at org.codehaus.janino.Parser.parseShiftExpression(Parser.java:1806) at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java:1774) at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java:1751) at org.codehaus.janino.Parser.parseAndExpression(Parser.java:1730) at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java:1709) at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java:1688) at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java:1667) at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java:1646) at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java:1627) at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java:1607) at org.codehaus.janino.Parser.parseExpression(Parser.java:1593) at org.codehaus.janino.ExpressionEvaluator.makeStatements(ExpressionEvaluator.java:255) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:454) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:345) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:194) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:72) at org.codehaus.janino.ExpressionEvaluator.<init>(ExpressionEvaluator.java:100) at org.aido.atp.TrendTradingAgent.evalLogic(TrendTradingAgent.java:626) at org.aido.atp.TrendTradingAgent.run(TrendTradingAgent.java:343) at java.lang.Thread.run(Unknown Source) 2013-06-04 20:45:49,906 ←[1;31m:←[0;39m ERROR: Caught unexpected exception, shutting down BTC-e trend following trading agent now!. Details are listed below. org.codehaus.commons.compiler.CompileException: Line 0, Column 0: Unexpected token "End-Of-File" in primary at org.codehaus.janino.Parser.throwCompileException(Parser.java:2593) at org.codehaus.janino.Parser.parsePrimary(Parser.java:2163) at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java:1886) at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java:1846) at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java:1826) at org.codehaus.janino.Parser.parseShiftExpression(Parser.java:1806) at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java:1774) at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java:1751) at org.codehaus.janino.Parser.parseAndExpression(Parser.java:1730) at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java:1709) at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java:1688) at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java:1667) at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java:1646) at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java:1627) at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java:1607) at org.codehaus.janino.Parser.parseExpression(Parser.java:1593) at org.codehaus.janino.ExpressionEvaluator.makeStatements(ExpressionEvaluator.java:255) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:454) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:345) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:194) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:72) at org.codehaus.janino.ExpressionEvaluator.<init>(ExpressionEvaluator.java:100) at org.aido.atp.TrendTradingAgent.evalLogic(TrendTradingAgent.java:626) at org.aido.atp.TrendTradingAgent.run(TrendTradingAgent.java:345) at java.lang.Thread.run(Unknown Source) 2013-06-04 20:45:50,018 ←[34m:←[0;39m BTC-e Trend following trading agent has decided no USD action will be taken at this time. 2013-06-04 20:45:50,432 ←[34m:←[0;39m BTC-e EUR Ticker size: 7. Trend observer does not currently have enough EUR data to determine trend. 2013-06-04 20:45:50,438 ←[34m:←[0;39m BTC-e High EUR :- Last: EUR 93.704 | Bid: EUR 93.704 | Ask: EUR 94.29399 | Volume: 53 | Currency: BTC | TimeStamp: Tue Jun 04 20:15:29 UTC 2013 2013-06-04 20:45:50,438 ←[34m:←[0;39m BTC-e Low EUR :- Last: EUR 93.704 | Bid: EUR 93.704 | Ask: EUR 94.29399 | Volume: 53 | Currency: BTC | TimeStamp: Tue Jun 04 20:15:29 UTC 2013 2013-06-04 20:45:50,439 ←[34m:←[0;39m BTC-e Current EUR :- Last: EUR 93.704 | Bid: EUR 93.704 | Ask: EUR 94.29399 | Volume: 48 | Currency: BTC | TimeStamp: Tue Jun 04 20:45:49 UTC 2013 2013-06-04 20:45:50,529 ←[34m:←[0;39m Attempting to open market data file C:\nii\Bitcoin\AidoATP-master\bin/MtGox_USD.dat 2013-06-04 20:45:50,536 ←[34m:←[0;39m Attempting to open market data file C:\nii\Bitcoin\AidoATP-master\bin/MtGox_AUD.dat 2013-06-04 20:45:50,754 ←[34m:←[0;39m MtGox High USD :- Last: USD 121.49991 | Bid: USD 121.00004 | Ask: USD 121.49991 | Volume: 24802 | Currency: BTC | TimeStamp: Tue Jun 04 20:32:35 UTC 2013 2013-06-04 20:45:50,755 ←[34m:←[0;39m MtGox Low USD :- Last: USD 120.00101 | Bid: USD 120.00104 | Ask: USD 120.99981 | Volume: 24930 | Currency: BTC | TimeStamp: Tue Jun 04 20:22:33 UTC 2013 2013-06-04 20:45:50,761 ←[34m:←[0;39m MtGox Current USD :- Last: USD 121.49889 | Bid: USD 121.00001 | Ask: USD 121.49888 | Volume: 24433 | Currency: BTC | TimeStamp: Tue Jun 04 20:45:06 UTC 2013 2013-06-04 20:45:50,766 ←[34m:←[0;39m MtGox USD Ticker Size: 26 2013-06-04 20:45:50,770 ←[1;31m:←[0;39m ERROR: Caught unexpected exception, shutting down MtGox trend following trading agent now!. Details are listed below. org.codehaus.commons.compiler.CompileException: Line 0, Column 0: Unexpected token "End-Of-File" in primary at org.codehaus.janino.Parser.throwCompileException(Parser.java:2593) at org.codehaus.janino.Parser.parsePrimary(Parser.java:2163) at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java:1886) 2013-06-04 20:45:50,788 ←[34m:←[0;39m BTC-e RUR Ticker size: 13. Trend observer does not currently have enough RUR data to determine trend. at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java:1846) at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java:1826) at org.codehaus.janino.Parser.parseShiftExpression(Parser.java:1806) at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java:1774) at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java:1751)2013-06-04 20:45:50,802 ←[34m:←[0;39m BTC-e High RUR :- Last: RUR 3705 | Bid: RUR 3705 | Ask: RUR 3719.9986 | Volume: 35 9 | Currency: BTC | TimeStamp: Tue Jun 04 20:15:30 UTC 2013
2013-06-04 20:45:50,814 ←[34m:←[0;39m BTC-e Low RUR :- Last: RUR 3705 | Bid: RUR 3705 | Ask: RUR 3719.9986 | Volume: 359 | Currency: BTC | TimeStamp: Tue Jun 04 20:15:30 UTC 2013 at org.codehaus.janino.Parser.parseAndExpression(Parser.java:1730)2013-06-04 20:45:50,822 ←[34m:←[0;39m BTC-e Current RUR :- Last: RUR 3705 | Bid: RUR 3710 | Ask: RUR 3719.996 | Volume: 349 | Currency: BTC | TimeStamp: Tue Jun 04 20:45:49 UTC 2013
at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java:1709) at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java:1688) at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java:1667) at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java:1646) at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java:1627) at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java:1607) at org.codehaus.janino.Parser.parseExpression(Parser.java:1593) at org.codehaus.janino.ExpressionEvaluator.makeStatements(ExpressionEvaluator.java:255) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:454) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:345) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:194) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:72) at org.codehaus.janino.ExpressionEvaluator.<init>(ExpressionEvaluator.java:100) at org.aido.atp.TrendTradingAgent.evalLogic(TrendTradingAgent.java:626) at org.aido.atp.TrendTradingAgent.run(TrendTradingAgent.java:343) at java.lang.Thread.run(Unknown Source) 2013-06-04 20:45:50,890 ←[1;31m:←[0;39m ERROR: Caught unexpected exception, shutting down MtGox trend following trading agent now!. Details are listed below. org.codehaus.commons.compiler.CompileException: Line 0, Column 0: Unexpected token "End-Of-File" in primary at org.codehaus.janino.Parser.throwCompileException(Parser.java:2593) at org.codehaus.janino.Parser.parsePrimary(Parser.java:2163) at org.codehaus.janino.Parser.parseUnaryExpression(Parser.java:1886) at org.codehaus.janino.Parser.parseMultiplicativeExpression(Parser.java:1846) at org.codehaus.janino.Parser.parseAdditiveExpression(Parser.java:1826) at org.codehaus.janino.Parser.parseShiftExpression(Parser.java:1806) at org.codehaus.janino.Parser.parseRelationalExpression(Parser.java:1774) at org.codehaus.janino.Parser.parseEqualityExpression(Parser.java:1751) at org.codehaus.janino.Parser.parseAndExpression(Parser.java:1730) at org.codehaus.janino.Parser.parseExclusiveOrExpression(Parser.java:1709) at org.codehaus.janino.Parser.parseInclusiveOrExpression(Parser.java:1688) at org.codehaus.janino.Parser.parseConditionalAndExpression(Parser.java:1667) at org.codehaus.janino.Parser.parseConditionalOrExpression(Parser.java:1646) at org.codehaus.janino.Parser.parseConditionalExpression(Parser.java:1627) at org.codehaus.janino.Parser.parseAssignmentExpression(Parser.java:1607) at org.codehaus.janino.Parser.parseExpression(Parser.java:1593) at org.codehaus.janino.ExpressionEvaluator.makeStatements(ExpressionEvaluator.java:255) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:454) at org.codehaus.janino.ScriptEvaluator.cook(ScriptEvaluator.java:345) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:194) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:72) at org.codehaus.janino.ExpressionEvaluator.<init>(ExpressionEvaluator.java:100) at org.aido.atp.TrendTradingAgent.evalLogic(TrendTradingAgent.java:626) at org.aido.atp.TrendTradingAgent.run(TrendTradingAgent.java:345) at java.lang.Thread.run(Unknown Source) 2013-06-04 20:45:50,990 ←[34m:←[0;39m MtGox Trend following trading agent has decided no USD action will be taken at this time. 2013-06-04 20:45:51,079 ←[34m:←[0;39m MtGox AUD Ticker size: 11. Trend observer does not currently have enough AUD data to determine trend. 2013-06-04 20:45:51,088 ←[34m:←[0;39m MtGox High AUD :- Last: AUD 127.00000 | Bid: AUD 125.01000 | Ask: AUD 126.99000 | Volume: 909 | Currency: BTC | TimeStamp: Tue Jun 04 20:13:00 UTC 2013 2013-06-04 20:45:51,088 ←[34m:←[0;39m MtGox Low AUD :- Last: AUD 126.99000 | Bid: AUD 126.99000 | Ask: AUD 127.00000 | Volume: 906 | Currency: BTC | TimeStamp: Tue Jun 04 20:32:25 UTC 2013 2013-06-04 20:45:51,090 ←[34m:←[0;39m MtGox Current AUD :- Last: AUD 126.99000 | Bid: AUD 126.99000 | Ask: AUD 127.00000 | Volume: 910 | Currency: BTC | TimeStamp: Tue Jun 04 20:45:26 UTC 2013
Thanks in advance!
|
|
|
|
Aido (OP)
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 09:14:51 PM |
|
OK. there's a few things going on here. I think you may be using Windows and the logback errors stem from that. This is just a guess but it may be related to the coloured logback output not working correctly on Windows: See Coloring section here: http://logback.qos.ch/manual/layouts.htmland line 6 of AidoATP's logback.xml: https://github.com/aido/AidoATP/blob/master/src/main/resources/logback.xml#L6But this is more of an annoyance than a real problem. I have done very little (read none) testing of AidoATP on Windows. Sorry. The other error is more serious. I am willing to bet that it is a problem with your trading logic. Have a look at you config and I think you'll find a misspelling or rogue character in there somewhere. This error was reported a few times in the other thread e.g. https://bitcointalk.org/index.php?topic=109831.msg1507782#msg1507782Actually, having a second thread started off as a good idea, now it's just annoying.
|
Interesting Bash command line, try it ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 09:40:03 PM |
|
Thanks! That did the trick. What is the status of the arbitrage bot? I had a look through the thread and the last mention of it was a recommendation to disable it. Is this still the case?
Does the arbitrage calculate opportunities between exchanges, or just between currencies on a single exchange?
|
|
|
|
Simonsays
Newbie
Offline
Activity: 40
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 09:50:23 PM |
|
Does the arbitrage calculate opportunities between exchanges, or just between currencies on a single exchange?
I am certain it is inner-exchange only. Logistically it would be much more difficult to set up a reliable arbitrage between exchanges. Even doing it manually the process is plagued with roadblocks and long transfer times.
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 10:07:44 PM Last edit: June 04, 2013, 10:58:09 PM by nii236 |
|
Well you could have an arbitrage opportunity but have reserves ready on either exchange. Then you could execute the trade and then pool the profits later?
ALARM!ALARM! - Should I be freaking out that my API key and Secret is stored in plaintext in the registry?
|
|
|
|
Aido (OP)
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 04, 2013, 11:40:34 PM |
|
ALARM!ALARM! - Should I be freaking out that my API key and Secret is stored in plaintext in the registry?
Another thing on my todo list.
|
Interesting Bash command line, try it ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 05:48:51 AM Last edit: June 05, 2013, 06:13:40 AM by nii236 |
|
So my recommendation is to trade a wallet of currencies you are interested in and that move with each-other; It opens opportunities you otherwise would not have.
How do I choose which currencies to work in? For example I might be interested in AUD, USD and EUR, but not RUR. How do I tell the bot not to touch the BTCRUR market on BTC-e? I'm currently looking towards using VWAP_Cross_Up and VWAP_Cross_Down. Does VWAP_Cross_Up mean the last price is above the VWAP or below the VWAP? I'm trying to implement this from the readme: If trend = down & last < VWAP then buy If trend = up & last > VWAP then sell
But from the readme, I can't use these exact terms. For instance, the "if", and "<", and "then" operators are not listed as supported in the readme. I'm thinking of this: Bid Logic: (ADS_Up && EMA_Down && SMA_Down) && VWAP_Cross_Down Ask Logic: (ADS_Down && EMA_Up && SMA_Up) && VWAP_Cross_Up
Or does VWAP_Cross_Up and VWAP_Cross_Down already take into account the market trend? So the proper answer would be: Bid Logic: VWAP_Cross_Down Ask Logic: VWAP_Cross_Up
|
|
|
|
Simonsays
Newbie
Offline
Activity: 40
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 07:08:52 AM |
|
Working with the preferences - and I have a few high level comments/questions
MACD and EMA are both good indicators for the 'greater' trend - history shows, to me at least, good trend prediction from MACD 9 on short12 and long26 plots - however, the time interval between datapoints needs to be roughly 30mins or greater to capture the trend. With this method you substantially sacrifice reaction time. Shorter lengths - say 30sec-5 minutes fill up the 9, 12 and 26 sample buffers too quickly - especially when the market is this flat. You end up with a 5-30 minute window to show an MACD trend - when I would think you would want a longer time interval. Am I thinking right here? I suppose I do not understand how a short polling interval (the suggested 15-60seconds) is a viable setting for EMA or MACD trending.
My next question is regarding the VWAPCross algorithm. How does the polling interval and maximum ticker age affect results. It seems to me that a short ticker time would react faster to the market, but yield riskier trades. Conversely a longer ticker age is affected less by a coming trend since it allows more samples - and potentially misses a trend altogether and trades too late.
IS my train of thought in the right direction here?
I let ATP run in live mode using only VWAPCross - with the preferences suggested by Nova previously. I found trades to be too frequent and got eaten up by fees. I think a more complex logic is necessary - but am finding that MACD at the same 30s polling interval can swap between 'up' and 'down' back to back quite often.
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 07:11:34 AM |
|
I let ATP run in live mode using only VWAPCross - with the preferences suggested by Nova previously. I found trades to be too frequent and got eaten up by fees. I think a more complex logic is necessary - but am finding that MACD at the same 30s polling interval can swap between 'up' and 'down' back to back quite often.
What are your Bid Logic/Ask Logic settings for VWAPCross?
|
|
|
|
Simonsays
Newbie
Offline
Activity: 40
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 07:23:30 AM |
|
What are your Bid Logic/Ask Logic settings for VWAPCross?
Bid: VWAPCross_Up Ask VWAPCross_Down Polling Interval: 30 sec Min BTC/Trade: 0.01 Mas BTC/Trade: 0.1 Min Currency: 1 Max Currency: 10 Minimum ticker size for trend following trade decisions: 24 Maximum ticker age for trend following trade decisions (in minutes): 90 Number of ticks used to calculate short Moving Average: 25 Number of ticks used to calculate short Moving Average Convergence-Divergence: 12 Number of ticks used to calculate long Moving Average Convergence-Divergence: 26 Number of MACD values used to calculate MACD Signal Line: 9
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 09:34:33 AM |
|
Bid: VWAPCross_Up Ask VWAPCross_Down
Are you sure this is correct? I think it should be the other way around. The readme says this: Market Trending Down = Look at buying Market Trending Up = Look at selling
In order for the bot to do this, you need the logic to be thus: Bid: VWAPCross_Down Ask VWAPCross_Up
|
|
|
|
Simonsays
Newbie
Offline
Activity: 40
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 02:46:12 PM |
|
Well don't I feel silly!
That might do the trick - running now.
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 03:56:06 PM |
|
No problem! It took me absolutely ages to work it out. It goes against the typical mentality of "Buy low, sell high". The readme basically says "when the market is falling, buy and when the market is rising, sell". Which also doesn't make sense.
After reading the readme for ages and doing some further reading, I think:
"Market trending up" means the last price is higher than the VWAP, so you sell. "Market trending down" means the last price is lower than the VWAP, so you buy. "Market trending flat" means last price is equal to the VWAP, so you don't do anything.
I think this is because the price always tends towards the VWAP, so as the last price oscillates above and below it the VWAP cross attempts to take advantage of that.
I have no idea though, this is just a guess.
|
|
|
|
Aido (OP)
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 06:38:10 PM |
|
You are all confusing me now ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) This may explain it better than I can: http://www.investopedia.com/terms/v/vwap-cross.asp
|
Interesting Bash command line, try it ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
Askit2
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 06:54:55 PM |
|
The logic is more like this: As the market heads up you wait. When it starts down you look at selling (Sell high). When the market stops going down and starts going up you look at buying Buy Low. It could work the opposite way too market starts heading down. When it changes to up look at buying. When that trend reverses and market starts down look at selling.
|
|
|
|
nii236
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2013, 07:45:15 PM Last edit: June 05, 2013, 07:58:19 PM by nii236 |
|
Yes but it was the definitions of VWAPCross_Up and VWAPCross_Down that was confusing. What ARE they? The Investopedia article doesn't reference those terms. From the readme: Volume Participation algorithm (VWAP Cross)
The trend observer functionality constantly monitors the market for trends. A combination of the Advance/Decline Spread, SMA and EMA algorithms decide what way the market is trending.
Market Trending Down = Look at buying Market Trending Up = Look at selling Once it is decided the trend is up (ask) or down (bid) it then compares the last transaction to the VWAP.
The ratio of last price versus VWAP is used as a waterline to make the final determination that we will take an action.
If trend = down & last < VWAP then buy If trend = up & last > VWAP then sell
So what IS it? Does VWAPCross_Up mean? What does the "up" refer to? Could it be: 1. A combination of Advance/Decline Spread, SMA and EMA algorithms which suggest the market is trending up? 1a. ADS up, SMA and EMA down 1b. ADS up, SMA up, EMA up 2. Trend = down & Last < VWAP (meaning VWAP crossing UP above Last) 3. Trend = up & Last > VWAP (meaning Last crossing UP above VWAP) 4. Last < VWAP? Meaning you'll need to add the trend up parameter to your ask/bid logic 5. Last > VWAP? Meaning you'll need to add the trend up parameter to your ask/bid logic Sorry for confusing everyone! Alternatively just tell me what to put where for the ask/bid logic and I'll shut up ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
|
|
|
|
|