Pages:
Author

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

sr. member
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
I run the following script in a screen session:

Code:
#!/bin/bash +xv

declare JAVA=/usr/bin/java
declare ISISATP_DIR=/home/aido/Isis-ATP/bin/
declare ISISATP_JAR=isisbugfix.jar

cd $ISISATP_DIR

$JAVA -jar $ISISATP_JAR --debug-live=true

And if it fails respawn using following line in /etc/inittab:

Code:
IS:2345:respawn:/bin/su - aido -c "/usr/bin/screen -mDS IsisATP /home/aido/Scripts/Bash/IsisATP.sh"


I may extend the script to pipe the output to tee, logging output to a file. I will then use logrotate to rotate the log when it reaches a certain size.

@nomorecoin: Thanks for the latest build
newbie
Activity: 27
Merit: 0
Sorry for to posting P/L:
I ran the script a few times for a few hours (run into an exception), so I wasn't able to propperly log the data. Anyway, I was running at High Risk with 25% max loss settings and faced losses between 1 and 4% everytime.
Oh, BTW, it was the last build you were posting here:

I'll do my best to get a build posted tomorrow.

It's technically tomorrow. Here's a build that runs.

Only change is the bid/ask arrow swap. Running on my machine now. I'm working to set up a clone on github, so I can release with commits for peace of mind. Github fork established, mostly as I intended.

Thanks for resuming the work!
zaj
member
Activity: 103
Merit: 10
i'm willing to test another version soon if it turns out people make some profit. already lost 2 btc to testing the original versions :p
sr. member
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
I feel it can't hurt to repeat: I'm muddling my way through this, I am not the original developer, nor am I well-versed in Java.

Ditto!


From looking at this a bit more I think the weighted decision to buy is based on the MaxLoss setting in the config file i.e. a percentage of balance.

I now think the values and currencies used in the trade are correct but the log output is not.

Maybe the only code change needed is from:

Code:
log.info("Attempting to buy "+qtyToBuy.toPlainString()+" BTC");

to:

Code:
log.info("Attempting to buy "+qtyToBuy.divide(currentAsk).toPlainString()+" BTC");


and maybe clarify things by adding a currency code to the log:

Code:
log.info("Attempting to buy "+qtyToBuy.divide(currentAsk).toPlainString()+" BTC");
if(maxLocal != null){
if(qtyToBuy.compareTo(maxLocal) > 0){
log.info(qtyToBuy.toPlainString() + " " + localCurrency.getCurrencyCode() + " was more than the configured maximum of "+maxLocal.toPlainString()+ " " + localCurrency.getCurrencyCode() +"\nReducing order size to "+maxLocal.toPlainString()+ " " + localCurrency.getCurrencyCode());
qtyToBuy = maxLocal;
}

if(qtyToBuy.compareTo(minLocal) < 0){
log.info(qtyToBuy.toPlainString() + " " + localCurrency.getCurrencyCode() + " was less than the configured minimum of "+minLocal.toPlainString()+ " " + localCurrency.getCurrencyCode() +"\nThere just isn't enough momentum to trade at this time.");
return;
}
}

This can then be easily checked by comparing the actual trades in MtGOX Account history to log output.
sr. member
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
I noticed that there is a lack of trades buying BTC when I think there should be more trades happening.

I think that in some instances, when making a trade decision, the trading agent is directly comparing BTC to local currency i.e. in the following code from TradingAgent.java qtyToBuy (BTC) is being directly compared to maxLocal and minLocal (local currency).

Code:
log.info("Attempting to buy "+qtyToBuy.toPlainString()+" BTC");                                       
if(maxLocal != null){
if(qtyToBuy.compareTo(maxLocal) > 0){
log.info(qtyToBuy.toPlainString() + " was more than the configured maximum of "+maxLocal.toPlainString()+"\nReducing order size to "+maxLocal.toPlainString());
qtyToBuy = maxLocal;
}

if(qtyToBuy.compareTo(minLocal) < 0){
log.info(qtyToBuy.toPlainString() + " was less than the configured minimum of "+minLocal.toPlainString()+"\nThere just isn't enough momentum to trade at this time.");
return;
}
}

I think maybe the comparsion should not be mixing currencies and instead the comparison be made between BTC and local currency / ask price:
Code:
log.info("Attempting to buy "+qtyToBuy.toPlainString()+" BTC");
if(maxLocal != null){
if(qtyToBuy.compareTo(maxLocal.divide(currentAsk)) > 0){
log.info(qtyToBuy.toPlainString() + " BTC was more than the configured maximum of "+maxLocal.toPlainString()+"\nReducing order size to "+maxLocal.toPlainString()+" "+localCurrency.getCurrencyCode());
qtyToBuy = maxLocal;
}

if(qtyToBuy.compareTo(minLocal.divide(currentAsk)) < 0){
log.info(qtyToBuy.toPlainString() + " BTC was less than the configured minimum of "+minLocal.toPlainString()+" "+localCurrency.getCurrencyCode()+"\nThere just isn't enough momentum to trade at this time.");
return;
}
}
sr. member
Activity: 336
Merit: 250
New build, broke up the ticker output with a newline for each print. No functional change, but makes it easier for me to read at a glance. New build included in commit.
https://github.com/nomorecoin/OpenPay/commit/a3826d44ba32ccc5b1c7ebbaddc245ac18df4f99

Nice work!
sr. member
Activity: 290
Merit: 250

Would anyone else be willing to share their P/L? It would seem the high risk model will slowly lose if the market is too stable. Has anyone been using the conservative algorithm since the last build?

I'll post my numbers in a bit... but I'm using high risk as well.

sr. member
Activity: 290
Merit: 250
I have tried other combinations but they either error out or cause the above mentioned problem.

So you are not entering --debug-live=true into the console window?

Is anyone else having this or a similar issue?

I'm not having any issues. Not sure what is going on... cut and pasting a carriage return after the API key?
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Correct and this is the command I was using to get into it in the first place which caused the initial error.

Code:
java -jar isisbugfix.jar --clear-config=true --debug-live=true

I have tried other combinations but they either error out or cause the above mentioned problem.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Windows using cmd when I paste it into the secret, it wraps the input without me pressing enter. I don't know if it is applying it to the next 2 input fields but it appears to and wont let me input properly. This only happens on the live version, the demo does not do this it allows me to paste it successfully.

I would be interested to see a screen cap of this. What happens if you hit enter after pasting? Error? If it will not accept your key/secret, set up your info without --debug-live (only set --clear-config=true), enter your info, then stop, add the --debug-live=true and remove --clear-config=true, and run.

Tried putting the live code in after all the inputs, got about the same thing, instead of it filling in 2 of the inputs it only did one.



would it be possible to add an input asking if we want it to run live?
legendary
Activity: 1358
Merit: 1002
Noticed two crashes, I believe network dropped causing xchange to halt. Other than that, it's running quite well. Not enough action to see how well it will trade, but it is trading.

Yup, it's trading. But it crashes when there is no network connection to the internet.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Windows using cmd when I paste it into the secret, it wraps the input without me pressing enter. I don't know if it is applying it to the next 2 input fields but it appears to and wont let me input properly. This only happens on the live version, the demo does not do this it allows me to paste it successfully.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
Perhaps a new thread may be needed with better instructions to run the program, such as the running live instruction is at the bottom of the first page and as an example when I attempt to paste the api secret in the program runs out of room and continues pasting it into the next 2 submissions.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
But of course, just didnt know what to put in for the % of the arbitrage fee, thought this would effect it.
hero member
Activity: 742
Merit: 500
Its as easy as 0, 1, 1, 2, 3
What is the minimum loss tolerance to put in to never trade if there is a break even or loss ?
newbie
Activity: 27
Merit: 0
Awesome, thanks a lot I'll run it now…
sr. member
Activity: 290
Merit: 250


It's technically tomorrow. Here's a build that runs.

Only change is the bid/ask arrow swap. Running on my machine now. I'm working to set up a clone on github, so I can release with commits for peace of mind. Github fork established, mostly as I intended.

You are a Rock Star... will fire it up after work.
sr. member
Activity: 336
Merit: 250
I'd love to get this running again but fear the git version is a little unstable at the moment.

Zeek_W, did you make many changes? If not too many what were they? With my basic Java skills maybe I could update my local version. Or is it possible to commit your changes to git for us all to benefit?

I didn't make any changes to the code - just got quite risky with my trading

Thank you for confirming. If I get a chance this weekend, I'll pour over this thread again. I remember something about a misplaced or reversed less-than, greater-than. If I can find and fix it, I'll post a jar.

Just to confirm further, I was using the already compiled version. Not the multi-currency version.

Musta jsut been lucky with the $2 up and down in value
sr. member
Activity: 290
Merit: 250
Thank you for confirming. If I get a chance this weekend, I'll pour over this thread again. I remember something about a misplaced or reversed less-than, greater-than. If I can find and fix it, I'll post a jar.

That would be awesome TIA
sr. member
Activity: 336
Merit: 250
I'd love to get this running again but fear the git version is a little unstable at the moment.

Zeek_W, did you make many changes? If not too many what were they? With my basic Java skills maybe I could update my local version. Or is it possible to commit your changes to git for us all to benefit?

I didn't make any changes to the code - just got quite risky with my trading
Pages:
Jump to: