ErebusBat
|
|
July 13, 2013, 12:55:59 AM |
|
The chart below shows the performance potentially generated by a trader able to pay the lowest Mt. Gox commission of .25%:
How did you generate that chart?
|
|
|
|
Goomboo (OP)
|
|
July 13, 2013, 01:24:32 AM |
|
How did you generate that chart?
I backtested the strategy in Excel and graphed the performance. I've found it easier to play around in Excel these days rather than going through the process of loading BTC data into NinjaTrader.
|
|
|
|
Goomboo (OP)
|
|
July 13, 2013, 01:26:12 AM |
|
So.. Could we see a Goomboo's Bot in the future? Or see you team up with an existing Bot maker to make that Bot even better? ?? Now that would be Interesting.. No plans of releasing or selling trading scripts, sorry :p
|
|
|
|
ErebusBat
|
|
July 13, 2013, 01:28:04 PM |
|
How did you generate that chart?
I backtested the strategy in Excel and graphed the performance. I've found it easier to play around in Excel these days rather than going through the process of loading BTC data into NinjaTrader. That is very interesting... can ou share more details on how you did this. I would love more information
|
|
|
|
gandhibt
|
|
July 13, 2013, 01:38:00 PM Last edit: July 13, 2013, 01:59:06 PM by gandhibt |
|
I am in doubt about how to know in good time when the EMAs cross. You said you use the hourly or daily bitcoinchart, but his update is not high enough to let you to profit from small oscillations. I mean, suppose the fast EMA cross above the slow EMA when price is 74, and comes below the fast EMA when the price is 76: we can get profit only buying before 76 is reached, and this often happens too quickly when there is a bounce. So how to get this info quickly? Using the market API? Automatic trading softwares?
Thank you for the question, I am happy to hear that you have learned from this thread. My personal preference is to trade from the daily chart to avoid the small oscillations. As I've mentioned throughout the thread, after you cross the bid-ask spread to physically buy and sell in addition to paying a .65% commission, the market must move substantially in your favor to actually provide a profit. For these reasons, I favor trading less frequently, which is why I trade on the daily timeframe. For the daily timeframe, I don't need an API/automatic system to alert me to opportunities. You only get 1-2 trading signals a month (on average) using the daily method, so it's really just a matter of checking a chart every few days to see if a crossover is nearing. When it comes to trading the lower timeframes however, you really need to be either actively monitoring the chart or utilize some sort of software to spot the 3-7 trades per week (on average), which are generated. Have you thought about trading on 2-4-6-12 hour systems? 2h system is interesting, a lot less sideline trades, but still decent amount of trades.
|
bud trust 1JiRNiERPTVZEhaVcKWbLLHHyCLRaa7nxB
|
|
|
ErebusBat
|
|
July 13, 2013, 01:39:00 PM |
|
I made some static pages that I have been using to bitcoin performance at the four major exchanges based on the 'Goomboo method' and though I would post some screen shots here to see if there would be any interest in releasing them as a full package. Some things to point out: - All the 'real data' comes from BitcoinCharts, so a hat tip to them
- You can see right now I have it configured for 6 different time periods, but all those periods have the same exchange charts for quickly comparing
- It is very easy for me to add/change a time period. Don't want to use 10/21, no problem, I can change it very quickly (as long as BitcoinCharts will graph it)
- Each chart can be clicked on to goto the 'full' BitcoinCharts page, as well as the specific exchange (to trade), or the BitcoinCharts market detail page
- I use a browser add-on (RefreshMonkey) that I can set/change very easily a refresh period on the page so it is always up to date
- There is a UTC clock at the top right hand corner of the page so you can see at a glance that the charts are indeed updated
- These are true static HTML pages (no app server needed) so you can use dirt cheap hosting. I use dropbox for mine.
Here are some full-res screenshots on differing devices: Like I said I am soliciting to see if there is any interest in me developing this into a full package.
|
|
|
|
nii236
Member
Offline
Activity: 85
Merit: 10
|
|
July 13, 2013, 02:26:37 PM |
|
Have you thought about trading on 2-4-6-12 hour systems? 2h system is interesting, a lot less sideline trades, but still decent amount of trades.
I switched to 2 hourly from 1 hourly after constantly losing trades because of the poor volatility. Its saved my ass plenty of times and I recommend it!
|
|
|
|
Goomboo (OP)
|
|
July 13, 2013, 05:13:47 PM Last edit: July 13, 2013, 05:30:00 PM by Goomboo |
|
That is very interesting... can ou share more details on how you did this. I would love more information
Definitely. Here's some links to articles which pretty much document the process I go through: http://marketsci.wordpress.com/2011/08/23/backtesting-in-excel/http://www.aaii.com/computerizedinvesting/article/spreadsheet-corner-constructing-moving-averagesI haven't listened to the audio on this video, so I'm not sure what he or she says, but this looks similar to what I'm doing: http://www.youtube.com/watch?v=7BaAjVpH6pMThe "equity curve" that I post is created by adding another column and actually compounding the returns through time and then graphing.
Edit - "compounding" is finance mumbo-jumbo that means when your system says to be "long", multiply your previous account balance by the percent change + 1 in the given time period. When actually short (not flat), multiply the previous account balance times the percent change + 1 x -1 in the given time period. If flat, make your current account balance equal to the previous account balance in a given time period. For all of the charts I've been posting over the past few months, I assume no shorting, long only. So when the system says to be long, I'm compounding. When the system says to be short, I'm sitting on the sidelines.
|
|
|
|
Goomboo (OP)
|
|
July 13, 2013, 05:19:24 PM |
|
Have you thought about trading on 2-4-6-12 hour systems? 2h system is interesting, a lot less sideline trades, but still decent amount of trades.
That definitely is a valid approach. For me, it's a time commitment thing as well...BTC isn't the primary market I trade, so I really need to spend the majority of my research and screen time elsewhere. By trading the daily timeframe, I'm allowed to still focus on my primary trading while being exposed to the major price swings of BTC.
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
|
July 14, 2013, 12:25:44 AM |
|
Daily Goomboos: Prepare your fiat!
Steady.... steady.... don't shoot until you see the whites of their eyes.
|
|
|
|
gandhibt
|
|
July 14, 2013, 08:53:35 AM |
|
This is from 2h 20/7 EMA chart. How do you trade these marked spots?
|
bud trust 1JiRNiERPTVZEhaVcKWbLLHHyCLRaa7nxB
|
|
|
RyNinDaCleM
Legendary
Offline
Activity: 2408
Merit: 1009
Legen -wait for it- dary
|
|
July 14, 2013, 03:05:23 PM |
|
This is from 2h 20/7 EMA chart. How do you trade these marked spots? With a small lose of fees and spread. That's only IF they crossed and closed crossed. If the 10 just bounced off of the 21 and never closed below it, then you would still be holding long.
|
|
|
|
gandhibt
|
|
July 14, 2013, 03:15:33 PM |
|
Thanks.
|
bud trust 1JiRNiERPTVZEhaVcKWbLLHHyCLRaa7nxB
|
|
|
pulsecat
|
|
July 15, 2013, 07:36:55 AM Last edit: July 15, 2013, 09:29:31 AM by pulsecat |
|
Those who are interesting in testing their strategies on history data, may also try my Backtesting tool. For example, to backtest Goomboo's strategy over historical Mtgox data since March, first you need to post the code that might look as: ### EMA CROSSOVER TRADING ALGORITHM The script engine is based on CoffeeScript (http://coffeescript.org) Any trading algorithm needs to implement two methods: init(context) and handle(context,data) ###
# Initialization method called before a simulation starts. # Context object holds script data and will be passed to 'handle' method. init: (context)-> context.pair = 'btc_usd' context.buy_treshold = 0.25 context.sell_treshold = 0.25
# This method is called for each tick handle: (context, data)-> # data object provides access to the current candle (ex. data['btc_usd'].close) instrument = data[context.pair] short = instrument.ema(10) # calculate EMA value using ta-lib function long = instrument.ema(21) diff = 100 * (short - long) / ((short + long) / 2) # Uncomment next line for some debugging #debug 'EMA difference: '+diff.toFixed(3)+' price: '+instrument.price.toFixed(2)+' at '+new Date(data.at) if diff > context.buy_treshold buy instrument # Spend all amount of cash for BTC else if diff < -context.sell_treshold sell instrument # Sell BTC position
After, select a date range and trading frequency using the form located above the chart. Then click 'Run' and watch the log. Backtest resultshttp://cryptotrader.org/backtests/6mqAkbNGvqDSC8Dz8The API documentation is located under "Help" tab. At this time, only limited set of indicators is supported (EMA, VWAP), but i'm working on integrating Ta-lib library ( http://www.ta-lib.org/) which includes 125+ indicators for technical analysis.
|
|
|
|
axefrog
Newbie
Offline
Activity: 28
Merit: 0
|
|
July 15, 2013, 08:34:22 AM |
|
Interestingly, almost all of the money is made during April's volatility. If you start the simulation in May, almost no profit is generated (less than $100 total) for the whole May, June and July periods.
|
|
|
|
marvinrouge
|
|
July 15, 2013, 09:55:18 AM |
|
Interestingly, almost all of the money is made during April's volatility. If you start the simulation in May, almost no profit is generated (less than $100 total) for the whole May, June and July periods. Great tool! Yes, if you start trading in May, at best (hourly ema), you don't loose money, at worse (daily ema) you loose 1/3 of your money (but in this case, buy and hold would make you loose money too)
|
|
|
|
Pompobit
|
|
July 15, 2013, 04:30:04 PM |
|
Those who are interesting in testing their strategies on history data, may also try my Backtesting tool. For example, to backtest Goomboo's strategy over historical Mtgox data since March, first you need to post the code that might look as: After, select a date range and trading frequency using the form located above the chart. Then click 'Run' and watch the log. Backtest resultshttp://cryptotrader.org/backtests/6mqAkbNGvqDSC8Dz8The API documentation is located under "Help" tab. At this time, only limited set of indicators is supported (EMA, VWAP), but i'm working on integrating Ta-lib library ( http://www.ta-lib.org/) which includes 125+ indicators for technical analysis. thank you for sharing it. Any similar tool for MACD indicators?
|
|
|
|
Kuroth
|
|
July 16, 2013, 12:27:04 PM Last edit: July 16, 2013, 12:42:16 PM by Kuroth |
|
Goomboo..
First I wanted to say THANKS big time for this thread.. I have made my way slowly through it taking notes along the way and have learned SO much from it.. As soon as I build up some of my own BTC I will throw a tip your way(To a charity)..
There was a post in your thread where someone used the term “OP” and you were not sure what OP meant but guessed correctly.. That is a Microcosm of how I felt about this whole Trading subject, and you have made it so much easier to understand for those of us that had no clue what EMA and a lot of these other terms even meant.. LOL
One of the MANY takeaways I got from this thread is you have to have the discipline to stay with it.. I think this is where a good EMA bot could come in handy for some of us..
Anyway not to get off subject but I have had an interest in the Forex market for some time but always hatted the SPAM forex Emails I use to get tons of and always heard the Forex market is a REALLY hard market to make any money off of and that most of the ones making money were the ones spamming us and selling their expensive ForEx products.. (This is one thing I could never understand when it comes to any kind of investing.. Why would someone that has such a great method or system want to sell it instead of just using their method? Always made me wonder was their method that cost $4,000 really that great.. I know some are legit but this always struck me as odd and probably why I never bought into any of these seminars or products they were selling)
Could you maybe suggest where someone like me could get started in learning about Forex? Any good complete beginner books you recommend? That baby Pips sight looks interesting. Should I just start there?
I am assuming you can apply this same EMA strategy outlined in this thread to the Forex market?
Thanks again..
|
|
|
|
ErebusBat
|
|
July 16, 2013, 02:10:29 PM |
|
Those who are interesting in testing their strategies on history data, may also try my Backtesting tool. This looks really cool... thanks for this... However I have a question, how do you change the frequency of the ticks for the testing? i.e. I want to back test 2H bars and I don't see a way to do that.
|
|
|
|
pulsecat
|
|
July 16, 2013, 04:46:45 PM |
|
thank you for sharing it. Any similar tool for MACD indicators?
I've just added support for MACD indicator. The code that uses it might look like: values = data.btc_usd.macd(10,21,8)
Example of simple strategy based on MACD: http://cryptotrader.org/backtests/4gCGSZdFS2ou4yZuiTechnically, all of indicators listed here http://tadoc.org/ are supported, but it will take time to document it fully. However I have a question, how do you change the frequency of the ticks for the testing? i.e. I want to back test 2H bars and I don't see a way to do that.
Since several people requested for 2H bars i'm going to add such option soon. As regards custom intervals, it shouldn't be hard to implement this, since the backend stores all history data from Mtgox.
|
|
|
|
|