Pages:
Author

Topic: ATP [Advanced Trading Platform] - page 8. (Read 20926 times)

member
Activity: 85
Merit: 10
June 05, 2013, 04:34:33 AM
#75
Quote
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:
Quote
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:

Code:
Bid:  VWAPCross_Down
Ask  VWAPCross_Up
newbie
Activity: 40
Merit: 0
June 05, 2013, 02:23:30 AM
#74

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
member
Activity: 85
Merit: 10
June 05, 2013, 02:11:34 AM
#73
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?
newbie
Activity: 40
Merit: 0
June 05, 2013, 02:08:52 AM
#72
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.

member
Activity: 85
Merit: 10
June 05, 2013, 12:48:51 AM
#71
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:

Code:
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:

Code:
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:
Code:
Bid Logic: VWAP_Cross_Down
Ask Logic: VWAP_Cross_Up
sr. member
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
June 04, 2013, 06:40:34 PM
#70
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.
member
Activity: 85
Merit: 10
June 04, 2013, 05:07:44 PM
#69
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?
newbie
Activity: 40
Merit: 0
June 04, 2013, 04:50:23 PM
#68
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.

member
Activity: 85
Merit: 10
June 04, 2013, 04:40:03 PM
#67
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?
sr. member
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
June 04, 2013, 04:14:51 PM
#66
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.html

and line 6 of AidoATP's logback.xml: https://github.com/aido/AidoATP/blob/master/src/main/resources/logback.xml#L6

But 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://bitcointalksearch.org/topic/m.1507782

Actually, having a second thread started off as a good idea, now it's just annoying.
member
Activity: 85
Merit: 10
June 04, 2013, 03:48:05 PM
#65
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?

Code:
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.(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.(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.(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.(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.(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.(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!
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
June 04, 2013, 01:34:53 PM
#64
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.

Code:
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.

Code:
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.
sr. member
Activity: 248
Merit: 252
1. Collect underpants 2. ? 3. Profit
June 04, 2013, 04:50:51 AM
#63
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.
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
June 04, 2013, 02:44:13 AM
#62
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?
full member
Activity: 140
Merit: 101
June 03, 2013, 11:16:14 PM
#61
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!
newbie
Activity: 40
Merit: 0
June 03, 2013, 11:32:04 AM
#60
After a day of two tinkering, mainly do to my very limited Linux knowledge, I got AidoATP running on my Raspberry Pi  Cool
My main steps, problems, solutions:

1) Java
I'm  using Raspbian hard float ABI witch made it a bit hard to find out Java.
I've used https://jdk8.java.net/fxarmpreview/  This is a beta of Java 8 for ARM processors but is running stable.
Move /java from my homedir to /usr/local
Added in PATH /usr/local/java/bin
Added JAVA_HOME=/usr/local/java/bin

2) Certificates
Downloaded the certificate for https://data.mtgox.com website
Code:
echo -n | openssl s_client -connect data.mtgox.com:443 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mtgoxData.pem

Added the mtgox data cert to the java keystore
Code:
keytool -importcert -file mtgoxData.pem -alias mtgoxData

Show the certificate chain :
Code:
openssl s_client -connect data.mtgox.com:443 -showcert
Copy&paste the 2 certs between the BEGIN CERT en END CERT lines in 2 files : StartComInterCA.pem and startComCA.pem

Added the chain cert to the CA java store:
Code:
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file StartComInterCA.pem -alias startComInterCA
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file startComCA.pem -alias startComCA

3) Succes !


Having issues getting MtGox to allow access upon starting - for those that are Java-noobs like myself - suggestions? or is compatibility with MtGox have to wait till the next update?

Fixed:  Installed the cert located at http://codebistro.com/2010/03/25/adding-cacert-to-the-java-trusted-store/
full member
Activity: 140
Merit: 101
June 02, 2013, 05:45:30 PM
#59
After a day of two tinkering, mainly do to my very limited Linux knowledge, I got AidoATP running on my Raspberry Pi  Cool
My main steps, problems, solutions:

1) Java
I'm  using Raspbian hard float ABI witch made it a bit hard to find out Java.
I've used https://jdk8.java.net/fxarmpreview/  This is a beta of Java 8 for ARM processors but is running stable.
Move /java from my homedir to /usr/local
Added in PATH /usr/local/java/bin
Added JAVA_HOME=/usr/local/java/bin

2) Certificates
Downloaded the certificate for https://data.mtgox.com website
Code:
echo -n | openssl s_client -connect data.mtgox.com:443 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mtgoxData.pem

Added the mtgox data cert to the java keystore
Code:
keytool -importcert -file mtgoxData.pem -alias mtgoxData

Show the certificate chain :
Code:
openssl s_client -connect data.mtgox.com:443 -showcert
Copy&paste the 2 certs between the BEGIN CERT en END CERT lines in 2 files : StartComInterCA.pem and startComCA.pem

Added the chain cert to the CA java store:
Code:
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file StartComInterCA.pem -alias startComInterCA
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file startComCA.pem -alias startComCA

3) Succes !


Excellent work!  I'm glad it's working for you.
newbie
Activity: 25
Merit: 0
June 02, 2013, 03:50:11 AM
#58
After a day of two tinkering, mainly do to my very limited Linux knowledge, I got AidoATP running on my Raspberry Pi  Cool
My main steps, problems, solutions:

1) Java
I'm  using Raspbian hard float ABI witch made it a bit hard to find out Java.
I've used https://jdk8.java.net/fxarmpreview/ This is a beta of Java 8 for ARM processors but is running stable.
Move /java from my homedir to /usr/local
Added in PATH /usr/local/java/bin
Added JAVA_HOME=/usr/local/java/bin

2) Certificates
Downloaded the certificate for https://data.mtgox.com website
Code:
echo -n | openssl s_client -connect data.mtgox.com:443 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mtgoxData.pem

Added the mtgox data cert to the java keystore
Code:
keytool -importcert -file mtgoxData.pem -alias mtgoxData

Show the certificate chain :
Code:
openssl s_client -connect data.mtgox.com:443 -showcert
Copy&paste the 2 certs between the BEGIN CERT en END CERT lines in 2 files : StartComInterCA.pem and startComCA.pem

Added the chain cert to the CA java store:
Code:
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file StartComInterCA.pem -alias startComInterCA
keytool -keystore /usr/local/java/jre/lib/security/cacerts  -importcert -file startComCA.pem -alias startComCA

3) Succes !
full member
Activity: 140
Merit: 101
June 02, 2013, 03:03:13 AM
#57
I'm developing the 2.0 version of ATP.  More info is here...
https://bitcointalksearch.org/topic/profits-atpx-automated-trading-platform-extended-223394

The current ATP project will be rolled into this, new version as time progresses.
sr. member
Activity: 371
Merit: 250
June 01, 2013, 09:54:23 PM
#56
Solved.

Followed the steps on the link i pasted before but on

C:\Program Files\Java\jre7\lib\security\cacerts

not on the jdk

Cheers,
Pages:
Jump to: