Pages:
Author

Topic: Trading Bots - page 4. (Read 12948 times)

legendary
Activity: 1190
Merit: 1004
April 01, 2012, 03:23:01 PM
#24
What's low and what's high?

Mine trie to figure out a strategy itself an d it found really good strategies... that only worked for old data. It was good at hindsight, rubbish at foresight. Maybe it needed tweaking.

This problem is known as overfitting.  The solution is to add noise to the data.  Create 10 copies of the data with random permutations to train it on.

So your solution would be to copy the data and add various noise... how would this noise be added, random changes in the prices? What should the spread and distribution in the randomness be?

I guess using more data and perhaps testing for consistency would help also.
sr. member
Activity: 420
Merit: 250
bool eval(bool b){return b ? b==true : b==false;}
April 01, 2012, 11:26:50 AM
#23
WTF ?  Huh
I have never seen a Function call like this.
I consider those function calls broken.

Nevertheless could be it works. Still it then might be a good idea to look a bit deeper into the idea of GA.
What are your Populations? Can you reproduce trades? Will those be as good again as they were before?
What is your fitness function? Is the function meant to change or just its values?
donator
Activity: 2058
Merit: 1007
Poor impulse control.
April 01, 2012, 11:09:52 AM
#22
You have a list of all possibilities there. Only a few are needed. Have you never used R before?

You'd have to be familiar with R and then learn to use the RGP package. The last bit is not a steep learning curve.
sr. member
Activity: 327
Merit: 250
we are legion
April 01, 2012, 10:27:19 AM
#21
I think you're better off finding the right algorithm first, backtesting/bootstrapping, and then learning about the MtGox API. At least then you won't be tempted to turn it on at the first evolved GA you get that seems to work.

BTW, if you use RGP to create the algorithm you get a fair degree of flexibility since it allows boolean operations. So you end up with "if then" type conditions. It's reasonably quick to plateau as well.

I generated a good GA that was basically a moving average crossover which did well in backtesting and has done well so far. It only trades once every two or three weeks though.

Let me look at that Document... function call to "geneticProgramming"
Parameters:
Code:
geneticProgramming(fitnessFunction,stopCondition=makeTimeStopCondition(5),population,
populationSize=100,eliteSize=ceiling(0.1*populationSize),
elite=list(),functionSet=mathFunctionSet,
inputVariables=inputVariableSet("x"),
constantSet=numericConstantSet,
selectionFunction=makeTournamentSelection(),
crossoverFunction=crossover,mutationFunction,
restartCondition=makeEmptyRestartCondition(),
restartStrategy=makeLocalRestartStrategy(),
breedingFitness=function(individual)TRUE,breedingTries=50,
extinctionPrevention=FALSE,archive=FALSE,genealogy=FALSE,
progressMonitor,verbose=TRUE)
typedGeneticProgramming(fitnessFunction,type,stopCondition=makeTimeStopCondition(5),
population,populationSize=100,eliteSize=ceiling(0.1*
populationSize),elite=list(),functionSet,inputVariables,
constantSet,selectionFunction=makeTournamentSelection(),
crossoverFunction=crossoverTyped,mutationFunction,
restartCondition=makeEmptyRestartCondition(),
restartStrategy=makeLocalRestartStrategy(populationType=type),
breedingFitness=function(individual)TRUE,breedingTries=50,
extinctionPrevention=FALSE,archive=FALSE,genealogy=FALSE,
progressMonitor,verbose=TRUE)

WTF ?  Huh
I have never seen a Function call like this.
legendary
Activity: 1904
Merit: 1002
April 01, 2012, 12:37:54 AM
#20
What's low and what's high?

Mine trie to figure out a strategy itself an d it found really good strategies... that only worked for old data. It was good at hindsight, rubbish at foresight. Maybe it needed tweaking.

This problem is known as overfitting.  The solution is to add noise to the data.  Create 10 copies of the data with random permutations to train it on.
donator
Activity: 2058
Merit: 1007
Poor impulse control.
March 31, 2012, 11:09:17 PM
#19
I think you're better off finding the right algorithm first, backtesting/bootstrapping, and then learning about the MtGox API. At least then you won't be tempted to turn it on at the first evolved GA you get that seems to work.

BTW, if you use RGP to create the algorithm you get a fair degree of flexibility since it allows boolean operations. So you end up with "if then" type conditions. It's reasonably quick to plateau as well.

I generated a good GA that was basically a moving average crossover which did well in backtesting and has done well so far. It only trades once every two or three weeks though.
hero member
Activity: 532
Merit: 500
March 31, 2012, 10:09:58 PM
#18
What's low and what's high?

Mine trie to figure out a strategy itself an d it found really good strategies... that only worked for old data. It was good at hindsight, rubbish at foresight. Maybe it needed tweaking.

This is the most important advice I see time and again about trading bots. There is no such thing as a "set and forget" trading bot. They will need continual tweaking to adjust to changing market conditions that require adjusted trading strategies.

legendary
Activity: 1190
Merit: 1004
March 31, 2012, 08:03:44 PM
#17
What's low and what's high?

Mine trie to figure out a strategy itself an d it found really good strategies... that only worked for old data. It was good at hindsight, rubbish at foresight. Maybe it needed tweaking.
sr. member
Activity: 327
Merit: 250
we are legion
March 31, 2012, 07:56:23 PM
#16
I made a bot that used an evolutionary algorithm and OpenCL. It completely failed when I tested it with live data.

OpenCL ? isnt that a bit too complicated ?
You wont need extreme processing power, do you ?
What I did was to "buy low, sell high", this one works.
Artificial Intelligence could be Artificial Stupidity.
legendary
Activity: 1190
Merit: 1004
March 31, 2012, 07:45:17 PM
#15
I made a bot that used an evolutionary algorithm and OpenCL. It completely failed when I tested it with live data.
sr. member
Activity: 327
Merit: 250
we are legion
March 31, 2012, 07:41:36 PM
#14
You're going to want to backtest/simulate it on historical data too. Not to make sure it makes you lots of money, as past performance has little bearing on future behavior, but simply to make sure it doesn't do anything ridiculously stupid and is behaving as you'd expect.

If you don't have data or know how to simulate the bot outside of the real market, you probably shouldn't be doing this.

I have been doing this with my old AutoIt bot.
I dont know if the results are any good, its probably full of bugs and totally wrong.
One of the test results i remember is +90% from 1.1.2012 to today.
If this really worked as the data shows, it would be quite usable.
I better get more data and do more testing, because my strategy was really simple.
donator
Activity: 266
Merit: 252
I'm actually a pineapple
March 31, 2012, 07:31:58 PM
#13
You're going to want to backtest/simulate it on historical data too. Not to make sure it makes you lots of money, as past performance has little bearing on future behavior, but simply to make sure it doesn't do anything ridiculously stupid and is behaving as you'd expect.

If you don't have data or know how to simulate the bot outside of the real market, you probably shouldn't be doing this.
sr. member
Activity: 327
Merit: 250
we are legion
March 31, 2012, 07:22:37 PM
#12
I'd be very much interested in this visually coded custom trading bot. I'll pay a 1% fee on transactions for the first £10 of you'r earnings from me. I'd like it to be avaliable from a website like MTGox and Bitcoinica are.

I only know one online trading bot platform, this one: https://bitcointalksearch.org/topic/aricie-announcing-a-new-trading-bots-platform-32484
Its really hard to understand... but i dont belive in visual programming anyway.
What we really need is a well documented platform, like input->processing-> output shown in great details.
Is a trading bot profitable enough to give the provider a share of the profits ?
hero member
Activity: 1778
Merit: 504
WorkAsPro
March 31, 2012, 05:12:54 PM
#11
I'd be very much interested in this visually coded custom trading bot. I'll pay a 1% fee on transactions for the first £10 of you'r earnings from me. I'd like it to be avaliable from a website like MTGox and Bitcoinica are.
sr. member
Activity: 364
Merit: 250
[#][#][#]
March 28, 2012, 03:59:15 PM
#10
me and a friend are currently bitting out our teeth trying to implement a relatively advanced trading system with alot of indicators..

hard work, i tell you. don't know if we can ever finish it in a way that it makes sense.
sr. member
Activity: 327
Merit: 250
we are legion
March 27, 2012, 08:26:51 PM
#9
...
Thank you. This is very useful Information.
Some of the old MtGox Bots wont work anymore, because they use the old
username/password Authentication instead of the Key/Secret.
REF
hero member
Activity: 529
Merit: 500
March 27, 2012, 08:02:22 PM
#8
hero member
Activity: 532
Merit: 500
sr. member
Activity: 327
Merit: 250
we are legion
March 27, 2012, 07:32:47 PM
#6
Thing is, I have almost zero experience with coding.
You get Experience from actually doing it.  Tongue
I don't just want to use someone else's code though, I want to build this from scratch, using custom and unique indicators.
There are a few Libraries around to make use of the Trading APIs.
If they work, there is no reason to not use them.
Reading and understanding someone else's code is good for learning.
Is there any resource that I could use that would teach me how to go about creating and implementing this bot?
What you need to read:
Trading API Documentation of your favorite Exchange.
"C# for Dummies" (or whatever Language you like)
Bits and pieces of Information about Programming and Trading. (Google and Wikipedia are your Friends)  Grin

I wrote a (really bad) MtGox Bot in AutoIt (dont use that Language!),
...and rewrite everything in C# now, using someones SocketIO Library.  Cool
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
March 27, 2012, 07:01:31 PM
#5
my implementation would be a windows application
I would retro fit the software I'm currently working on http://youtu.be/f3qWB3zYzU8
instead of programing an IO devices you'd be programing a trading bot

i dont know if this would be a worth while project tho...

 
Pages:
Jump to: