def main(argv=None): testFlag, btFlag, quiet = argParser(argv) # Use data from exchange if btFlag == 0: API = apiKraken.API(keyKraken, secKraken) t = bbClasses.trader(bbCfg.logFileName) # Backtest: Use data from logfile else: API = apiBacktest.API() with open(bbCfg.logFileNameBT, 'w') as logBT: logBT.write('Time,Bid,Ask,EUR,BTC,Trade,minPrice,maxPrice\n') t = bbClasses.trader(bbCfg.logFileNameBT) p = bbClasses.portfolio(100,0) m = bbClasses.marketData('Null', 500, 500) if btFlag == 1 and testFlag == 0 and not quiet: # Progress bar for i in range(bbFunctions.progressBarLength()): sys.stdout.write('|') sys.stdout.write('\n') sys.stdout.flush while True: mainLoop(m, p, t, API, testFlag, btFlag, quiet) if testFlag: break elif btFlag == 1 and API.line == bbFunctions.file_len(bbCfg.logFileName): break if not btFlag: timeNow = datetime.datetime.now() delay = (10 - (timeNow.minute)%10) * 60 - timeNow.second time.sleep(delay) if not quiet: print('\n')
import sys sys.path.append('./source') sys.path.append('./api') import bbCfg import bbFunctions import bbClasses import bitbot import apiKraken import apiBacktest from bbKeys import * t = bbClasses.trader(bbCfg.logFileName) p = bbClasses.portfolio(100,0) m = bbClasses.marketData('Null', 500, 500) apiK = apiKraken.API(keyKraken, secKraken) apiB = apiBacktest.API() print('\nTesting normal trading') bitbot.mainLoop(m, p, t, apiK, 0, 0) print('\nTesting test mode') bitbot.mainLoop(m, p, t, apiK, 1, 0) print('\nTesting backtesting') bitbot.main('-b') print('\nTesting backtest + test mode') bitbot.mainLoop(m, p, t, apiB, 1, 1)