Esempio n. 1
0
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')      
Esempio n. 2
0
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)