Bitcoin Forum
June 25, 2024, 11:19:51 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 »  All
  Print  
Author Topic: [ANN] BitBot - A Crypto-Currency trading bot and Backtesting platform (FREE)  (Read 13933 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
LxiR
Newbie
*
Offline Offline

Activity: 51
Merit: 0


View Profile
February 19, 2015, 04:21:20 AM
 #61

Well, I managed to set up MongoDB, works fine, BitBot works well too, but when I make a backtest run, I get -46% profit. Is that because I didn't set it with the best setting or because he had not run long enough? Thanks for any help.
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 20, 2015, 08:30:48 AM
 #62

Hi 5an1ty,

I have tried to get your bot running on Win7x86, but node.js and the mongo is a bi..h in Windows environment - so I finally give up with Bills crap System...  Huh

I have a technical background but on Linux, Software Development and coding I have to learn a lot.

Now I want to give it a try on a Raspberry PI with Raspbian as OS. I have ordered the brand new Raspberry Pi 2 Model B (900MHz quad-core ARM Cortex-A7 CPU, 1GB RAM).

Is this possible and can you give me some tips to run your bot on the RPI with Raspbian (especially for the MongoDB)?.




I think a friend of mine got bitbot to work on raspbian, I'll ask him for some tips.
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 20, 2015, 08:36:22 AM
 #63

Well, I managed to set up MongoDB, works fine, BitBot works well too, but when I make a backtest run, I get -46% profit. Is that because I didn't set it with the best setting or because he had not run long enough? Thanks for any help.

The Backtester will run on the data you have collected up until now, so that might be a very small timeframe and if you are unlucky a profit of -46% is very possible. The default settings I provided are just the most commonly used settings for that indicator. It's up to you to find settings that work for you.

Play around with the indicator settings and candlestick size until you are happy with the back testing result.
Crypt3x
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
February 23, 2015, 09:10:09 PM
 #64

Quote
I think a friend of mine got bitbot to work on raspbian, I'll ask him for some tips.
Thanks, but no hurry - atm I have a lot of work to do before I can try this.
zanfr
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
March 28, 2015, 05:55:15 PM
 #65

Hello,

After trying to create my own very naive trade bot in python for Kraken (sell if higher, buy if lower + some % profit, you get the idea...) I decided to have a look at what was out there.

I decided to try BitBot however I am at loss as to how to tweak it, so far I only have negative profit (simulated) with 5mn candlesticks using MACD with options: {neededPeriods: 26, shortPeriods: 12, longPeriods: 26, emaPeriods: 9, buyThreshold: 0, sellThreshold: 0}...

It has been running for a couple hours like this... I don't know if there is some "learning" time required for it to become profitable...

On Kraken would it be wise to use say 30mn candlesticks anyway?

Thank you,

Franz
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
March 28, 2015, 06:30:26 PM
Last edit: March 28, 2015, 06:55:57 PM by 5an1ty
 #66

Hello,

The settings that are provided are just examples and shouldn't be used without knowledge of what happens when the bot uses those settings.
I don't think we can expect the bot to profit using those settings and 5 minute candlesticks because the amount of transactions would be this high that you would lose money with paying the transaction fees every time.

You need to do some research into what MACD actually does (http://en.wikipedia.org/wiki/MACD) and what candlesticks (http://en.wikipedia.org/wiki/Candlestick_chart) are in order to be able to properly configure your settings.

You need to realize that automated trading is something very complicated and that it is not a money making machine (earning money with bots isn't something that magically works).

BitBot is set up to be modular so in principle you could write your own indicator that is more likely to fit your needs.

Also simulating on a very small historical dataset might not give you a correct idea of how the selected indicator settings actually perform.
Keep on running bitbot with real trading disabled for a while to gather more historical data and then find settings that you like.

Best of luck!
5an1ty
emrgohff
Newbie
*
Offline Offline

Activity: 83
Merit: 0


View Profile
April 25, 2015, 05:31:35 PM
 #67

Hi,

I'm trying to use BitBot which seems very good, but I have some errors in real, but in this simulation okay.

[25-04-2015 18:14:51] - INFO: Downloader started!
[25-04-2015 18:14:53] - INFO: Advice: buy (0.10834456)
[25-04-2015 18:14:57] - INFO: Preparing to place a buy order! (BTC Balance: 0.02013323 USD Balance: 0.00700479 Trading Fee: 0.2)
[25-04-2015 18:14:57] - INFO: Lowest Ask: 226.5 Lowest Ask With Slippage: 226.7265
[25-04-2015 18:15:00] - ERROR: placeOrder Exchange API returned the following error:
[25-04-2015 18:15:00] - ERROR: Value BTC must be greater than 0.01 BTC.
[25-04-2015 18:15:00] - ERROR: Retrying in 15 seconds!


I thank any suggestions

emrgohff
Newbie
*
Offline Offline

Activity: 83
Merit: 0


View Profile
April 25, 2015, 09:21:16 PM
 #68

hi

SELL:

C:\BitBot-master>node app.js
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: Starting BitBot v0.9.7
[25-04-2015 21:58:55] - INFO: Real Trading Enabled = true
[25-04-2015 21:58:55] - INFO: Working Dir = C:\BitBot-master
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: Launching trader module.
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:59] - INFO: Downloader started!
[25-04-2015 21:59:01] - INFO: Advice: sell (-0.02892375)
[25-04-2015 21:59:06] - INFO: Preparing to place a sell order! (BTC Balance: 0.02013323 USD Balance: 0.00700479 Trading Fee:
0.2)
[25-04-2015 21:59:06] - INFO: Highest Bid: 226.704 Highest Bid With Slippage: 226.477296
[25-04-2015 21:59:08] - ERROR: placeOrder Exchange API returned the following error:
[25-04-2015 21:59:08] - ERROR: You incorrectly entered one of fields.
[25-04-2015 21:59:08] - ERROR: Retrying in 15 seconds!
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
April 27, 2015, 07:00:37 PM
 #69

Hi,

I'm trying to use BitBot which seems very good, but I have some errors in real, but in this simulation okay.

[25-04-2015 18:14:51] - INFO: Downloader started!
[25-04-2015 18:14:53] - INFO: Advice: buy (0.10834456)
[25-04-2015 18:14:57] - INFO: Preparing to place a buy order! (BTC Balance: 0.02013323 USD Balance: 0.00700479 Trading Fee: 0.2)
[25-04-2015 18:14:57] - INFO: Lowest Ask: 226.5 Lowest Ask With Slippage: 226.7265
[25-04-2015 18:15:00] - ERROR: placeOrder Exchange API returned the following error:
[25-04-2015 18:15:00] - ERROR: Value BTC must be greater than 0.01 BTC.
[25-04-2015 18:15:00] - ERROR: Retrying in 15 seconds!


I thank any suggestions



What exchange are you using?
But this makes sense, it's trying to place a buy order, but you have not enough USD balance to buy a significant enough BTC amount. The exchange won't accept an order smaller than 0.01 BTC.
emrgohff
Newbie
*
Offline Offline

Activity: 83
Merit: 0


View Profile
April 29, 2015, 09:56:30 AM
 #70

Hello.

Thank you for your answer.

The exchange I am using BTC-e.

I have more than 0.01 BTC.

The SEEL purchase gives the following message:

C:\BitBot-master>node app.js
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: Starting BitBot v0.9.7
[25-04-2015 21:58:55] - INFO: Real Trading Enabled = true
[25-04-2015 21:58:55] - INFO: Working Dir = C:\BitBot-master
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:55] - INFO: Launching trader module.
[25-04-2015 21:58:55] - INFO: ----------------------------------------------------
[25-04-2015 21:58:59] - INFO: Downloader started!
[25-04-2015 21:59:01] - INFO: Advice: sell (-0.02892375)
[25-04-2015 21:59:06] - INFO: Preparing to place a sell order! (BTC Balance: 0.02013323 USD Balance: 0.00700479 Trading Fee:
0.2)
[25-04-2015 21:59:06] - INFO: Highest Bid: 226.704 Highest Bid With Slippage: 226.477296
[25-04-2015 21:59:08] - ERROR: placeOrder Exchange API returned the following error:
[25-04-2015 21:59:08] - ERROR: You incorrectly entered one of fields.
[25-04-2015 21:59:08] - ERROR: Retrying in 15 seconds!


The BUY:

[25-04-2015 18:14:51] - INFO: Downloader started!
[25-04-2015 18:14:53] - INFO: Advice: buy (0.10834456)
[25-04-2015 18:14:57] - INFO: Preparing to place a buy order! (BTC Balance: 0.02013323 USD Balance: 0.00700479 Trading Fee: 0.2)
[25-04-2015 18:14:57] - INFO: Lowest Ask: 226.5 Lowest Ask With Slippage: 226.7265
[25-04-2015 18:15:00] - ERROR: placeOrder Exchange API returned the following error:
[25-04-2015 18:15:00] - ERROR: Value BTC must be greater than 0.01 BTC.
[25-04-2015 18:15:00] - ERROR: Retrying in 15 seconds!

I do not understand, something seems to me that this evil, because I think I have all the conditions for business work.

Thank you.
#R#a#u#t#e#
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
May 10, 2015, 10:32:35 AM
 #71

Great Work 5an1ty!
Just played around with it a little and I like it.

However the real trading for BTC-E seems not to work.
The BTC-E API always returns: ERROR: You incorrectly entered one of fields. (like in the previous post)

The Order volumes was defenitly larger than the minimum of 0.01 BTC.
I changed the max decimal places from 8 to 3 (because the BTCE API says: "decimal_places":3,") but that does not seem to help...

Also the Bot seems retrying to place the order every 15 seconds without a timelimit or a count limit. I suggest stoppting this after x failed attempts or something.


Beside this little problems i realy like how flexible this Bot is.

Im now trying to get some basic JS knowledge.  Grin
jdebunt
Legendary
*
Offline Offline

Activity: 1596
Merit: 1010


View Profile WWW
May 10, 2015, 10:58:46 AM
 #72

Would be interesting if this bot supported Bittrex as well, as most "traders" will prefer BTC/Alts vs BTC/Fiat
PremiumCodeX
Hero Member
*****
Offline Offline

Activity: 1204
Merit: 531


Metaverse 👾 Cyberweapons


View Profile
May 10, 2015, 11:00:37 AM
 #73

I heard much of Javascript/Node from a friend who's developing in them. Personally, I find JS an excellent choice for this purpose because of various reasons even if I don't know Node much. I am sure this project will be useful. Thank you!

[TUTORIAL] How to steal $350 000?
Best OS for recovering stolen BTCs.
Visit our FREE Bitcointalk thread.
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
May 10, 2015, 12:56:29 PM
 #74

Great Work 5an1ty!
Just played around with it a little and I like it.

However the real trading for BTC-E seems not to work.
The BTC-E API always returns: ERROR: You incorrectly entered one of fields. (like in the previous post)

The Order volumes was defenitly larger than the minimum of 0.01 BTC.
I changed the max decimal places from 8 to 3 (because the BTCE API says: "decimal_places":3,") but that does not seem to help...

Also the Bot seems retrying to place the order every 15 seconds without a timelimit or a count limit. I suggest stoppting this after x failed attempts or something.


Beside this little problems i realy like how flexible this Bot is.

Im now trying to get some basic JS knowledge.  Grin

I'm trying to figure that BTC-E issue out but it doesn't really make sense. I currently don't have a BTC-E account to play with so it's hard to test.

Did you try and change the rounding before it submits the order to 3 decimals in this file in your local copy:
https://github.com/5an1ty/BitBot/blob/master/services/tradingagent.js

this.orderDetails.price
this.orderDetails.amount

apply Math.Round for 3 decimals on these 2 variables.
#R#a#u#t#e#
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
May 10, 2015, 01:58:42 PM
Last edit: May 10, 2015, 02:13:28 PM by #R#a#u#t#e#
 #75

I will look into it later today, but my Java experience is very limited.
I think i only changed the amount value (in file ..tradingagent.js)
will test to round both to 3 decimal, but i dont think anymore that this is the issue.
The examples from BTC-E exteed the 3 decimals and Gekko bot uses 8 decimals as well...

I also found API Example from BTCE site:
Sample request:
https://btc-e.com/api/3/trades/btc_usd

{"type":"bid","price":243.141,"amount":0.015,"tid":54711701,"timestamp":1431264485}
{"type":"ask","price":242.412,"amount":0.01002,"tid":54711707,"timestamp":1431264511}

according to this the type should be bid/ask...
while in the documentation they (BTCE) say the type is buy/sell

i think in your code it is buy sell too. Now the more i look into it the less i underestand  Huh

Is there an easy way to write the actual API request for buy sell in the logfile (the exact same thing as is send to btce api)?  
Because then the problem should be found easy i guess.




EDIT:It just successfully bought and sold
...just did rounded to 3 decimals for both price and amount in tradingagent.js
for exampel: "this.orderDetails.price = tools.round(lowestAskWithSlippage, 3);"

but i think the amount can be up to 8 decimals, its should just be the price rounded to 3 decimals.
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
May 10, 2015, 02:15:29 PM
 #76

Currently you don't see the raw request but in the btc-e exchange file I execute:

    if(type === 'buy') {

      this.btce.trade(pair, 'buy', price, amount, this.errorHandler(this.placeOrder, args, retry, 'placeOrder', handler, finished));

    } else if (type === 'sell') {

      this.btce.trade(pair, 'sell', price, amount, this.errorHandler(this.placeOrder, args, retry, 'placeOrder', handler, finished));

    } else {

      cb(new Error('Invalid order type!'), null);

    }

and I use a third party btc-e api wrapper you can find here:

https://github.com/pskupinski/node-btc-e

In that module you can see the required parameters for the Trade method:

BTCE.prototype.trade = function(pair, type, rate, amount, callback) {
  this.makeRequest('Trade', {
    'pair': pair,
    'type': type,
    'rate': rate,
    'amount': amount
  }, callback);
};

I provide them correctly, so not sure what's wrong.
#R#a#u#t#e#
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
May 10, 2015, 02:28:36 PM
 #77

plese see my edit above...
also if you look in btce-orderbook this makes sense!

Price          Ammount
243.838   0.02202309
243.86   3.01000001
...             ...
5an1ty (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
May 10, 2015, 03:30:12 PM
 #78

I will look into it later today, but my Java experience is very limited.
I think i only changed the amount value (in file ..tradingagent.js)
will test to round both to 3 decimal, but i dont think anymore that this is the issue.
The examples from BTC-E exteed the 3 decimals and Gekko bot uses 8 decimals as well...

I also found API Example from BTCE site:
Sample request:
https://btc-e.com/api/3/trades/btc_usd

{"type":"bid","price":243.141,"amount":0.015,"tid":54711701,"timestamp":1431264485}
{"type":"ask","price":242.412,"amount":0.01002,"tid":54711707,"timestamp":1431264511}

according to this the type should be bid/ask...
while in the documentation they (BTCE) say the type is buy/sell

i think in your code it is buy sell too. Now the more i look into it the less i underestand  Huh

Is there an easy way to write the actual API request for buy sell in the logfile (the exact same thing as is send to btce api)?  
Because then the problem should be found easy i guess.




EDIT:It just successfully bought and sold
...just did rounded to 3 decimals for both price and amount in tradingagent.js
for exampel: "this.orderDetails.price = tools.round(lowestAskWithSlippage, 3);"

but i think the amount can be up to 8 decimals, its should just be the price rounded to 3 decimals.

Glad you figured it out, when I get the time I'll make the changes upstream.
Igloro
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile WWW
July 10, 2015, 11:07:38 AM
 #79

Hello 5an1ty,

Thanks for your work.


After I launch, i'm keep getting error:

"{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }

js-bson: Failed to load c++ bson extension, using pure JS version"

Searched internet, but no success to fix that? Or I should ignore that? Because as I can see connections are comming to mongo db. And I see some better logs:

"[10-07-2015 14:05:08] - INFO: Created a new 5 minute candlestick!
[10-07-2015 14:05:08] - INFO: {"period":1436526000,"open":285.223,"high":286.786
,"low":284.203,"close":285.733,"volume":68.36832427,"vwap":285.98941818}
[10-07-2015 14:05:08] - INFO: Advice: hold (null)"
Igloro
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile WWW
July 10, 2015, 02:00:15 PM
 #80

I'm facing same problem as "#R#a#u#t#e#" faced.

I have changed decimal rounder to 3, but no success.
IMO problem is in adviser. It doesn't check minimal amount to trade. I mean if your balanced is lower then 0.01 BTC, it shouldn't run "buy".

EDIT:
I have changed this function for now...

Quote
agent.prototype.placeRealOrder = function()
{

   if(this.orderDetails.amount <= 0.01) {

      this.logger.log('Insufficient funds to place an order.');

   } else {

      this.exchangeapi.placeOrder(this.orderDetails.orderType, this.orderDetails.amount, this.orderDetails.price, true, this.processOrder);

   }

};
Pages: « 1 2 3 [4] 5 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!