nick7
Newbie
Offline
Activity: 20
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 17, 2013, 09:13:45 AM |
|
It's probably just a temporary MtGox access problem - unfortunately it happens from time to time - MtGox API isn't very stable :/ (you cannot get data from the URL https://data.mtgox.com/api/2/BTCUSD/money/info by loading it directly in the browser, as your API key has to be included in the header) Right now, MtGox access works for me - have you tried restarting the extension? (or the whole browser) Yes, over the past three days I restarted Chrome and reloaded the extension several times. I even spun up an EC2 instance just to be sure it wasn't some weird config issue on my computer... but I always got the same message in the bot. I'd read elsewhere that MtGox's API wasn't very stable so at first I assumed that was the problem, but when it persisted after a day I thought I might have set something wrong. But you must have some Gox Voodoo because now that you've posted, there's no problem ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Thanks for replying!
|
|
|
|
TobbeLino
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 17, 2013, 11:24:16 AM |
|
It's probably just a temporary MtGox access problem - unfortunately it happens from time to time - MtGox API isn't very stable :/ (you cannot get data from the URL https://data.mtgox.com/api/2/BTCUSD/money/info by loading it directly in the browser, as your API key has to be included in the header) Right now, MtGox access works for me - have you tried restarting the extension? (or the whole browser) Yes, over the past three days I restarted Chrome and reloaded the extension several times. I even spun up an EC2 instance just to be sure it wasn't some weird config issue on my computer... but I always got the same message in the bot. I'd read elsewhere that MtGox's API wasn't very stable so at first I assumed that was the problem, but when it persisted after a day I thought I might have set something wrong. But you must have some Gox Voodoo because now that you've posted, there's no problem ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Thanks for replying! MtGox has been very unstable the last days... Probably new DDoS-attacks against them :/
|
|
|
|
WindGlider
Newbie
Offline
Activity: 17
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 17, 2013, 07:51:39 PM |
|
Thanks a lot for the extension. Especially for the modified version. May I suggest one small improvement? Storing current price in localstorage after buy order was executed and checkbox in options page to skip sell if current sell price lower than pervious buy price. .... if ((tradingEnabled==1)&&(ApiKey!='')) { if ((skipSellEnabled==1)&&(currentPrice>lastBuyPrice)) { console.log("SELL! (EMA("+EmaShortPar+")/EMA("+EmaLongPar+")<-"+MinSellThreshold+"% for "+tickCountSell+" or more ticks)"); ...
|
|
|
|
Gimmoroy
Legendary
Offline
Activity: 1372
Merit: 1000
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 12:07:06 AM Last edit: May 19, 2013, 01:19:22 AM by Gimmoroy |
|
Thanks a lot for the extension. Especially for the modified version. May I suggest one small improvement? Storing current price in localstorage after buy order was executed and checkbox in options page to skip sell if current sell price lower than pervious buy price. .... if ((tradingEnabled==1)&&(ApiKey!='')) { if ((skipSellEnabled==1)&&(currentPrice>lastBuyPrice)) { console.log("SELL! (EMA("+EmaShortPar+")/EMA("+EmaLongPar+")<-"+MinSellThreshold+"% for "+tickCountSell+" or more ticks)"); ...
Exactly a current price is not the current price. You make sell order at some time, looking for delayed data.... sell price can be requested from gox only after operation completed.
|
|
|
|
wamatt
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 85
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 09:45:06 AM |
|
TobbeLino, thnks again for sharing. Very cool.
I'm playing around with the source (will create a pull request if it becomes useful). Just wondering about MaxTradingIntervalMinutes and MaxSamplesToKeep.
What does MaxTradingIntervalMinutes represent?
Is it fine to change MaxSamplesToKeep to anything? Any reason why it's 144? (12x12)?
|
|
|
|
whydifficult
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 10:52:18 AM Last edit: May 18, 2013, 12:44:21 PM by whydifficult |
|
Is it fine to change MaxSamplesToKeep to anything? Any reason why it's 144? (12x12)? Also wondering this. Because it's EMA when a new sample is added and its EMAs are calculated, only the most recent EMAs are being taken into account. However this does influence the EMAs calculated on startup (making them more accurately).
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
whydifficult
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 12:20:08 PM |
|
For those interested I've just released my own tradebot Gekko. It is also written in javascript but it runs on nodejs and not in the browser. I'm hoping we can take javascript based trade bots to the next level! Gekko currently does EMA and I'm planning to add more methods in the future. Gekko's thread
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
fible1
Legendary
Offline
Activity: 1183
Merit: 1000
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 07:32:16 PM |
|
We have just updated out EMA bot to Version 1.1, which solves a lot of the issues discussed on this thread. An explanation of new features below with accompanying pictures ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) . Get it at: www.btcbots.comThread: https://bitcointalk.org/index.php?topic=197175.msg2051530#msg2051530Features: 1. GREATLY improved stability regarding Mt.Gox lag and API issues. Don't watch your bot crash when Mt.Gox is on the Fritz! 2. Support for EURO trading! 3. Trailing stop loss! Get out when you want to get out, no need for EMA value adjustments, just set stop loss and stop worrying! 4. Completely redesigned interface! 5. Bot can now accept NEGATIVE THRESHOLDS! 6. Graph interface included in options menu to help with bot trading value adjustments. 7.. EMA Lines added to the Graph. 8. Option to disable trading temporarily without having to shut the bot down. 9. 2 Day graph in main interface. 10. Same UNLIMITED world class tech support included for the installation and initial operation phase of your bot. More upgrades coming soon. 11. And best of all, it's a FREE upgrade for existing customers! and you can still use coupon code TB0874 for 10% OFF instantly! Screenshots of the current version (V1.1): ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2Fyb5RaIF.png&t=665&c=j0omc8kL4EgkbQ) ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2FZphkleZ.png&t=665&c=iVBesk7NFLYyjg) ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2FRj4Dkit.png&t=665&c=BNXigzR0asl8Ug) ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2F6Ma6cAs.png&t=665&c=4cgBppqO_-uYGg) Any questions? Please email me: pablo@btcbots.com*******************************
|
Fantastic FREE BOOKS: "Crypto Success": bit.ly/Crypto-Success; "Principles for Crypto Investment": bit.ly/Crypto-Principles; "Crypto Survival": bit.ly/Crypto-Survival'; PGP Key(s): Pablo@Pablo-Lema.com: http://pastebin.com/V8Z4WxUE
|
|
|
rikigst
Newbie
Offline
Activity: 46
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 07:40:15 PM |
|
1. GREATLY improved stability regarding Mt.Gox lag and API issues. Don't watch your bot crash when Mt.Gox is on the Fritz! 2. Support for EURO trading! 3. Trailing stop loss! Get out when you want to get out, no need for EMA value adjustments, just set stop loss and stop worrying! 4. Completely redesigned interface! 5. Bot can now accept NEGATIVE THRESHOLDS! 6. Graph interface included in options menu to help with bot trading value adjustments. 7.. EMA Lines added to the Graph. 8. Option to disable trading temporarily without having to shut the bot down. 9. 2 Day graph in main interface. 10. Same UNLIMITED world class tech support included for the installation and initial operation phase of your bot. More upgrades coming soon.
11. And best of all, it's a FREE upgrade for existing customers! and you can still use coupon code TB0874 for 10% OFF instantly!
I think this is unappropriate advertising. You already have your own topic. 1. api v2? websocket? doesn't matter: when it's lagging, shitstorm is on everybody 2. NO SHIT! everybody does that. 3. stop loss is stupid for an ema bot (read past days' posts) 4. NO SHIT! 5. wow! it must have been seriously hard to implement 6. ... I'm bored. Could you please stop annoying us with your advertising?
|
|
|
|
CMMPro
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 18, 2013, 09:11:56 PM |
|
You forgot....
99. You took several other's generous intellectual contributions to the community and built a business around it @ $99 per copy?
I give it less than a day before he takes that new guys very nice standalone jnode contribution (Gekko) and sells us that as well.
|
|
|
|
maverick1337
Newbie
Offline
Activity: 40
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 01:10:36 AM |
|
I'm glad everyone is working together.
|
|
|
|
Streets 2.0
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 490
Merit: 101
FRX: Ferocious Alpha
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 01:36:16 AM |
|
Just read over all 22 pages of this thread, quite a damn good read, and I have a few comments. I had been looking for an open source bot developed in collaboration, more open minds are better than one. You guys working this together and bouncing ideas off one another is exactly what Bitcoin breeds, and needs. Its pretty awesome, and becomes recognized even more so when you got some dude going all WarZ on your code and attempting to profit off of it. To top that off the site states that it is sold for USD, not bitcoin, which kind of goes against the principle of Bitcoin. I had gone through the few different version of the bot and so far I am really liking the latest volatility thresholds that were implemented. I feel like there is a lot more control over the bot, and have been seeing slow, positive results over the last 48 hours. Currently my settings are: Sample interval 5 mins trade after 1 buy threshold at .25 sell threshold at .20 vol samples 3 vol buy threshold .90 vol sell threshold .95 Im not a programmer but I am a server engineer. If you guys ever need any assistance let me know, I'm sure there are plenty of folk out there willing to lend resources or a hand ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Keep up the good work
|
|
|
|
rikigst
Newbie
Offline
Activity: 46
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 09:52:30 AM |
|
Just read over all 22 pages of this thread, quite a damn good read, and I have a few comments. I had been looking for an open source bot developed in collaboration, more open minds are better than one. You guys working this together and bouncing ideas off one another is exactly what Bitcoin breeds, and needs. Its pretty awesome, and becomes recognized even more so when you got some dude going all WarZ on your code and attempting to profit off of it. To top that off the site states that it is sold for USD, not bitcoin, which kind of goes against the principle of Bitcoin. I had gone through the few different version of the bot and so far I am really liking the latest volatility thresholds that were implemented. I feel like there is a lot more control over the bot, and have been seeing slow, positive results over the last 48 hours. Currently my settings are: Sample interval 5 mins trade after 1 buy threshold at .25 sell threshold at .20 vol samples 3 vol buy threshold .90 vol sell threshold .95 Im not a programmer but I am a server engineer. If you guys ever need any assistance let me know, I'm sure there are plenty of folk out there willing to lend resources or a hand ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Keep up the good work Be careful, eduk's version is not implementing fixes from tobli's v0217 and v0218 (v2 api etc.). Furthermore, I strongly advise you not to use sampling intervals shorter than 15 minutes: I started with 10m, and lost a lot even with high thresholds. I'm better off with 30m now!
|
|
|
|
TobbeLino
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 10:57:55 AM |
|
We have just updated out EMA bot to Version 1.1, which solves a lot of the issues discussed on this thread. An explanation of new features below with accompanying pictures ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) . Get it at: www.btcbots.comThread: https://bitcointalk.org/index.php?topic=197175.msg2051530#msg2051530Features: 1. GREATLY improved stability regarding Mt.Gox lag and API issues. Don't watch your bot crash when Mt.Gox is on the Fritz! 2. Support for EURO trading! 3. Trailing stop loss! Get out when you want to get out, no need for EMA value adjustments, just set stop loss and stop worrying! 4. Completely redesigned interface! 5. Bot can now accept NEGATIVE THRESHOLDS! 6. Graph interface included in options menu to help with bot trading value adjustments. 7.. EMA Lines added to the Graph. 8. Option to disable trading temporarily without having to shut the bot down. 9. 2 Day graph in main interface. 10. Same UNLIMITED world class tech support included for the installation and initial operation phase of your bot. More upgrades coming soon. 11. And best of all, it's a FREE upgrade for existing customers! and you can still use coupon code TB0874 for 10% OFF instantly! Can I ask a few questions about your trailing stop-loss (which is a very nice feature indeed!) Is your bot constantly monitoring ALL trades (to adjust the stop-loss trigger price) in real time (to be able to sell if the price suddenly drops between sample points)? Or is the stop-loss function simply monitoring the first trade of every interval? I.e. will your bot react and trigger a sale immediately if the price drops at some time between two samples? (a proper trailing stop-loss should react immediately as it's a safety feature to prevent loss when the price is dropping quickly). And as your stop-loss logic may often collide with your EMA-bot strategy, how does your bot combine the stop-loss logic with the EMA-bot strategy? I.e. if he stop-loss triggers a sale, but the EMA-strategy still detects an up-trend, what will happen? Will the EMA-logic be disabled? Because your bot can't start buying again, the minute after after a stop-loss sale, right? And one final question about the charts you are using. You DO have permission from bitcoincharts.com and pay a licensing fee to them for embedding/hotlinking their charts in your commercial product, right?
|
|
|
|
TobbeLino
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 11:03:05 AM |
|
Be careful, eduk's version is not implementing fixes from tobli's v0217 and v0218 (v2 api etc.). Furthermore, I strongly advise you not to use sampling intervals shorter than 15 minutes: I started with 10m, and lost a lot even with high thresholds. I'm better off with 30m now!
Yes, be careful with very short intervals... I advice everyone that uses this bot to check out Goomboo thread that describes the strategy that this bot uses: https://bitcointalk.org/index.php?topic=60501. I quote from his second post in that thread: "I caution against the lower timeframes because for the most part, they are just noise. The spread is so large and the market is so thinly traded that if you are trying to make money on a chart of less than an hour, it can be very difficult."
|
|
|
|
TobbeLino
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 11:13:12 AM |
|
TobbeLino, thnks again for sharing. Very cool.
I'm playing around with the source (will create a pull request if it becomes useful). Just wondering about MaxTradingIntervalMinutes and MaxSamplesToKeep.
What does MaxTradingIntervalMinutes represent?
Is it fine to change MaxSamplesToKeep to anything? Any reason why it's 144? (12x12)?
MaxTradingIntervalMinutes is simply the largest sample interval that can be selected in the settings (180 min). This constant is used then cleaning the cache (to determine if a cached sample can be useful, or if it's old enough to remove) I advice you against changing MaxSamplesToKeep. The value 144 is from the original bot, and I'm not quite sure why that exact number was picked. But I have read that the original bot used a lower value from the start, but it was criticised that the EMA-calculations needed more values to be accurate, so it was increased to 144... (each new calculated EMA-value takes the previous samples into account, so I think it needs a history of values longer than the actual "EMA-length" to be accurate)
|
|
|
|
TobbeLino
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 11:56:01 AM |
|
Thanks a lot for the extension. Especially for the modified version. May I suggest one small improvement? Storing current price in localstorage after buy order was executed and checkbox in options page to skip sell if current sell price lower than pervious buy price. .... if ((tradingEnabled==1)&&(ApiKey!='')) { if ((skipSellEnabled==1)&&(currentPrice>lastBuyPrice)) { console.log("SELL! (EMA("+EmaShortPar+")/EMA("+EmaLongPar+")<-"+MinSellThreshold+"% for "+tickCountSell+" or more ticks)"); ...
I get many requests about this. However, a function like that will divert from the strategy of a EMA-bot, and it's not quite as easy to implement I think. You are probably looking for a whole different kind of bot with another strategy. Personally, I'm not all for a function like this because it's just as important for an EMA-bot to sell when it detects a trend down, as it should buy when it detects a trend up, and according to the EMA-bot's strategy, the decision really has nothing to do with the price you previously paid. Your suggestion is based on the assumption that all drops are just temporary and short, but I think that's a VERY risky assumption! If the price drops, it may very well stay low for a long time. And no matter what you paid for your BTC when you bought them, you really should sell if you think the price will drop further (it's better to sell "now" and buy again on an even lower price, and be able to trade again as soon as the price starts recovering). Just imagine having used your "rule" when the price dropped from $250 a few weeks ago. Your bot would now be sitting here waiting for the price to reach those levels again, but it can take a very long time. In my opinion, it would be better if the bot had sold (with a small loss), and could start working again as soon as an up-trend was detected (maybe somewhere around $70-$80). And also, I do agree with Goomboo in is thread describing the strategy of this EMA-bot ( https://bitcointalk.org/index.php?topic=60501): A simple, straight-forward strategy gives the best results in the long run. Sure, you can add all kinds of "intelligence" and "smartness" to a bot, but if the "smartness" is based on your own emotional assumptions (e.g. that the price will always go up soon), you WILL get hit very hard if/when your assumptions turn out to be wrong. In my opinion, the whole point of a bot is that it should take emotions like this away, thus lowering the risk (because we humans are very poor at making logic decisions when we "believe" something, and we tend to take way too high risks without even realizing it). So I do like the simplicity and logic behind this original bot. Sure, it WILL do bad trades sometimes, and sure, it could always have done better trades when looking back at the charts, but the relevant question is: would you or another bot have done better? And will you do better in the long run? The idea behind this bot is that it simply should make more good trades than bad ones, and that it should make a steady profit in the long run, without taking high risks like we humans tend to do. It's tempting to try to "speed up" the bot to make more money quickly, but be warned: very short sample intervals tend to catch mostly noise, and there are really no solid trends to act on. I am, however, considering adding an "experimental" section to the bot, where additional, home-made rules/strategies like this could be added (and used at your own risk, as it WILL seriously cripple the EMA-bot!!). But the question is: How should these other strategies/rules be used in combination with the EMA-bot strategy? I would also like to add some kind of stop-loss feature to that section, but I haven't quite figured out how it should work when the different strategies collide (as they often will!)...
|
|
|
|
whydifficult
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 01:08:25 PM |
|
(each new calculated EMA-value takes the previous samples into account, so I think it needs a history of values longer than the actual "EMA-length" to be accurate)
Almost: EMA means that when calculating a new EMA it will take three factors into account: the current price, the last calculated EMA value and a weight factor*. This does mean that for the first EMA you want to use to be accurate it needs to have build up a history of EMAs to compare the current price with. *The weight factor is just how important the current price is VS how important the last EMA is. So therefor a higher weight like 21 (a EMA21 means the weight is 21) means the last EMA is more important and it will move slower towards the price (lag behind a trend). So EMA trade bots calculate two different EMAs and compare them to determine if a shortEMA is moving away from the longEMA (using the threshold) and thus know when the market is in trend. Yes, be careful with very short intervals... I advice everyone that uses this bot to check out Goomboo thread that describes the strategy that this bot uses: https://bitcointalk.org/index.php?topic=60501. I quote from his second post in that thread: "I caution against the lower timeframes because for the most part, they are just noise. The spread is so large and the market is so thinly traded that if you are trying to make money on a chart of less than an hour, it can be very difficult." 100% agreed, but I would add that Goomboo said that in January 2012, a time when the market was a lot smaller and different.
|
Gekko a nodejs bitcoin trading bot! Realtime Bitcoin Globe - visualizing all transactions and blocks Tip jar (BTC): 1KyQdQ9ctjCrGjGRCWSBhPKcj5omy4gv5S
|
|
|
sukiho
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 02:47:04 PM |
|
Be careful, eduk's version is not implementing fixes from tobli's v0217 and v0218 (v2 api etc.). Furthermore, I strongly advise you not to use sampling intervals shorter than 15 minutes: I started with 10m, and lost a lot even with high thresholds. I'm better off with 30m now!
Yes, be careful with very short intervals... I advice everyone that uses this bot to check out Goomboo thread that describes the strategy that this bot uses: https://bitcointalk.org/index.php?topic=60501. I quote from his second post in that thread: "I caution against the lower timeframes because for the most part, they are just noise. The spread is so large and the market is so thinly traded that if you are trying to make money on a chart of less than an hour, it can be very difficult." I havent studied this but would not using for example 10/21 on a one hour chart be the equivalent of using 20/42 on a 30 min chart?
|
|
|
|
rikigst
Newbie
Offline
Activity: 46
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 19, 2013, 02:53:48 PM |
|
Be careful, eduk's version is not implementing fixes from tobli's v0217 and v0218 (v2 api etc.). Furthermore, I strongly advise you not to use sampling intervals shorter than 15 minutes: I started with 10m, and lost a lot even with high thresholds. I'm better off with 30m now!
Yes, be careful with very short intervals... I advice everyone that uses this bot to check out Goomboo thread that describes the strategy that this bot uses: https://bitcointalk.org/index.php?topic=60501. I quote from his second post in that thread: "I caution against the lower timeframes because for the most part, they are just noise. The spread is so large and the market is so thinly traded that if you are trying to make money on a chart of less than an hour, it can be very difficult." I havent studied this but would not using for example 10/21 on a one hour chart be the equivalent of using 20/42 on a 30 min chart? i'm afraid that's not true, try yourself @ bitcoincharts.com
|
|
|
|
|