def assemble_bars(sym,barlist,mergemode,loopingflag):
    startmode = 'initialize'
    indlist = ['pivot', 'R', 'S', 'S2', 'R2','kupper', 'klower', 'kmid','ema','mcross', 'mcd']
    indlist = ['mcross', 'mcd']
    TicksUtile.prepare_tickfilesto5secBars(today,sym,startmode) ## merge the 5secddload with 5sec recents > 5sec boths
    
    for dur in barlist :            
    durinseconds = secdict[dur]
    basisdur = '5secs'
    basisfile = DataDown +today+'.'+sym+'.'+basisdur+'.both.csv'
    TicksUtile.assemble_dur_bars(today,sym,dur,durinseconds,startmode,basisfile)
    threshold = 0.0
    
    rpInd.create_states_files(sym,dur.replace(' ',''),today,threshold,indlist)

    add different modes including first run mode to this then wrap into tickutiles and run with diff flags here

    if loop == 0 , run in firstpass mode
    if initialize mode, the basis file is chosen in the module
    
print 'got to loop'
while loop < loopmax:
    if loop == 0:
        for sym in symbol_list:
            startmode = 'initialize'
            TicksUtile.prepare_tickfilesto5secBars(today,sym,startmode) ## merge the 5secddload with 5sec recents > 5sec boths
            barlist = ['1min','3mins', '15mins', '1hour', '1day']
            for dur in barlist :            
                durinseconds = secdict[dur]
                basisdur = '5secs'
                basisfile = DataDown +today+'.'+sym+'.'+basisdur+'.both.csv'
                TicksUtile.assemble_dur_bars(today,sym,dur,durinseconds,startmode,basisfile)
                threshold = 0.0
                indlist = ['pivot', 'R', 'S', 'S2', 'R2','kupper', 'klower', 'kmid','ema','mcross', 'mcd']
                rpInd.create_states_files(sym,dur.replace(' ',''),today,threshold,indlist)
    ####################################
    if float(float(loop)/10) == round((loop/10),1):
        print 'cycle ', loop   
    now = datetime.strftime(datetime.now(),spaceYtime_format)
    now_epoch = int(time.mktime(time.strptime(now, spaceYtime_format)))      
    now_dt = dt.datetime.strptime(now, spaceYtime_format)   
    ###############
    recentsigs =[]
    startmode = 'bothfile'
    startmode = 'initialize'
    for sym in symbol_list:
        TicksUtile.prepare_tickfilesto5secBars(today,sym,startmode) ## merge the 5secddload with 5sec recents > 5sec boths
        ####################################
        barlist = ['1min', '3mins', '5mins', '15mins']
        for dur in barlist :
            if dur == '1min':
                basisdur = '5secs'
                pass
            else:
                basisdur  = '1min'           
            durinseconds = secdict[dur]
            basisfile = DataDown +today+'.'+sym+'.'+basisdur+'.both.csv'
            TicksUtile.assemble_dur_bars(today,sym,dur,durinseconds,startmode,basisfile)
##            DurBoth = rpu_rp.CsvToLines( DataDown+ today + '.'+sym+'.' + dur.replace(' ','') + '.both.csv')
            threshold = 0.0
##            indlist = ['pivot', 'R', 'S', 'S2', 'R2','kupper', 'klower', 'kmid','ema','mcross', 'mcd']
##            indlist = ['pivot', 'R', 'S', 'S2', 'R2','mcross']
##            indlist = ['pivot', 'mcross','mcd']
            indlist = ['mcross','mcd']
            rpInd.create_states_files(sym,dur,today,threshold,indlist)        
####################
        state15 = rpInd.ShowRecentState(sym,'15mins','mcross','noboost')
        stateAge15 = rpInd.ShowRecentAge(sym,'15mins','mcross','noboost')
##        state5 = rpInd.ShowRecentState(sym,'5mins','mcross')
##        stateAge5 = rpInd.ShowRecentAge(sym,'5mins','mcross')        
        barlist = ['1min', '3mins', '5mins', '15mins']

        for dur in barlist :
            threshold = 0.0
            ALLTriggers=[]
            lasttwo = []

            if dur != '1min':
                Triggers = rpInd.Trigger_from_states(sym,dur,'mcross')
                lasttwo = rpu_rp.tail_array_to_array(Triggers,1)
            for a in lasttwo:
                ALLTriggers.append(a)
            Triggers = rpInd.Trigger_from_states(sym,'15mins','mcd')
            lasttwo = rpu_rp.tail_array_to_array(Triggers,1)
            for a in lasttwo:
                ALLTriggers.append(a)
                ## ADJUST THE TRIGGER TO USE JUT 5MIN IN SLOWER MKTS....
                ## 1 MIN CAN BE USED FOR THE FAST MKTS....OR TO EXIT A POSITION
                
##            threshold = float(-0.20)
##            maCrossNEARTriggers = rpInd.Trigger_MACross(DurBoth,sym,dur,threshold,'manearcross')
##            rpu_rp.WriteArrayToCsvfileAppend(sigarea +sym+'.sigs.csv', ALLTriggers)
############################         
            prevt = 0
            numsigs = len(ALLTriggers)
            signum =0                      
            prevbart_dt = now_dt
            prevbart_epoch = now_epoch
##            2015-08-24 17:35:05,0.0245,pos,0.0646,slopeup,kupper,USD.JPY,poscrxx,1min,118.43,118.36,118.36,5            
            for onesig in ALLTriggers:
                bart =  onesig[0]
                action =onesig[7]
                bart_dt = dt.datetime.strptime(bart, spaceYtime_format)
                bart_epoch = int(time.mktime(time.strptime(bart, spaceYtime_format)))         
                barToNow = now_epoch - bart_epoch
##                barToPrev =  bart_epoch - prevbart_epoch
##                prevbart_epoch = bart_epoch
##                print bart_epoch, barToNow, barToPrev, bart
                if barToNow < recentlimit :
                    tflag = 'nopass'
##                    print 'recent15 min state and age:', state15, stateAge15,sym
                    posstate = rpInd.ShowRecentPositionState(sym)
                    if action == 'negcrxx' and state15 == 'neg' and dur != '1min':
##                        print 'is a sell'
                        tflag = 'passedtest'
                    elif action == 'poscrxx' and state15 == 'pos' and dur != '1min':
##                        print 'is a buy'
                        tflag = 'passedtest'
                        pass
                    elif action == 'poscrxx' and posstate == 'SELL':
                        tflag = 'passedtest'
                        pass
                    elif action == 'negcrxx' and posstate == 'BUY':
                        tflag = 'passedtest'
                        pass
                    else:
##                        print action, ' signal failed on ... ',dur,sym
                        pass
                    if tflag == 'passedtest':
                        lasttick = recenttick(sym)
                        onesig.append(barToNow)
                        onesig.append('xx')
                        onesig.append(lasttick)
                        recentsigs.append(onesig)
    dur = ''
    if len(recentsigs) > 0:
        sigcount =0
        for sig in sorted(recentsigs):
            sigtime = sig[0]
            sym = sig[6]
            sigtype = sig[5]
##            barToPrev=sig[len(sig)-2]
##            barToNow = sig[len(sig)-3]
            priceinsignal = float(sig[len(sig)-1])
            action =sig[7]
            dur = sig[8]
            livesigid = sym+action+dur.replace(' ','')  + sigtype          
            showflag =  look_for_REECNTdupe_sig(livesigid,sigtime)    #'notsupress'                              
            sigcount+=1
            if showflag != 'supress':
                indlist = ['mcross']#, 'R', 'S'] #'1hour',
                stateinfo = ''
                durstatelist = ['15mins', '1hour', '1day']
                tside = 'BUY'
                if 'negcrxx' in action:
                    tside = 'SELL'
                if tside == 'SELL':
                    beep(soundarea+'sellStocks')
                else:
                    beep(soundarea+'buyStocks')
                beep(soundarea+sym)

                print '==============='
                RP_Snapshot.snapshot_sym(sym)               
                print '==============='
                print sym, tside, sigtype, dur, sigtime, now, priceinsignal
########                rpInd.create_lines(sym,bid)
##                print symNEWSdict[sym]
                frsigline=[]                                          
                frsigline.append(sym)
                frsigline.append(tside)
                frsigline.append(priceinsignal)
                frsigline.append(livesigid)
                frsigline.append(sigtime)
                frsigline.append(now)
                rpu_rp.WriteArrayToCsvfileAppend(sigarea + today +'.recentsigs.csv', [frsigline]) 
                rpu_rp.WriteArrayToCsvfileAppend(sigarea + today +'.recentsigsexec.csv', [frsigline]) 
    loop +=1
####################
    sleep(cycledelay)
print 'finished ',loopmax,' loops  by Signal Creator...dead since..',now
#############
def create_report(Sigfile,sym,barsize):
    print barsize,sym,'number bars studied=',numberBars,numsigs,'=numsigs'
    print 'if i am 20 bars old in signal, start with trail stop depends on dur...shotrt dur = short age'
Esempio n. 2
0
            threshold = 0.0
            indlist = [
                'pivot', 'R', 'S', 'S2', 'R2', 'kupper', 'klower', 'kmid',
                'ema', 'mcross', 'mcd'
            ]
            indlist = ['pivot', 'R', 'S', 'S2', 'R2', 'mcross']
            indlist = ['pivot', 'mcross', 'mcd']
            indlist = ['mcross', 'mcd']
            rpInd.create_states_files(sym, dur, today, threshold, indlist)
            ####################
            threshold = 0.0
            ALLTriggers = []
            lasttwo = []

            if dur != '1min':
                Triggers = rpInd.Trigger_from_states(sym, dur, 'mcross')
                lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
            for a in lasttwo:
                ALLTriggers.append(a)
            Triggers = rpInd.Trigger_from_states(sym, '15mins', 'mcd')
            lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
            for a in lasttwo:
                ALLTriggers.append(a)
##            threshold = float(-0.20)
##            maCrossNEARTriggers = rpInd.Trigger_MACross(DurBoth,sym,dur,threshold,'manearcross')
##            rpu_rp.WriteArrayToCsvfileAppend(sigarea +sym+'.sigs.csv', ALLTriggers)
############################
            prevt = 0
            numsigs = len(ALLTriggers)
            signum = 0
            prevbart_dt = now_dt
Esempio n. 3
0
def runsigloop():

    ###############
    recentsigs = []
    startmode = 'bothfile'
    startmode = 'initialize'
    blist = ['5mins', '15mins']  #, '1hour']
    for sym in symbol_list:
        ######        for dur in blist:
        ######            new_signaler(sym,dur)
        check_for_lines(sym)
        if sym == 'ES' and 'bla' == 'bla':
            ##            show_bar8_range('04:00:00','7:00:00',sym,date) #asia
            ##            show_bar8_range('09:35:00','12:25:00',sym,date) #europe
            show_bar8_range('16:00:10', '18:25:00', sym, date)  #usa
##        print ' roundies and 10pt intervals' ## then the other lines
        TicksUtile.prepare_tickfilesto5secBars(
            today, sym,
            startmode)  ## merge the 5secddload with 5sec recents > 5sec boths
        ####################################
        ######        TicksUtile.prepare_fake_ddlfile(today,sym,'78mins',startmode)
        barlist = ['1min', '3mins', '5mins', '15mins']  ##,'78mins']
        for dur in barlist:
            if dur == '1min':
                basisdur = '5secs'
            else:
                basisdur = '1min'
            durinseconds = secdict[dur]
            basisfile = DataDown + today + '.' + sym + '.' + basisdur + '.both.csv'
            TicksUtile.assemble_dur_bars(today, sym, dur, startmode, basisfile)
            ##            indlist = ['pivot', 'R', 'S', 'S2', 'R2','kupper', 'klower', 'kmid','ema','mcross', 'mcd']
            ##            indlist = ['mcross','mcd','diffESTXvES','RSI','STOCH','stochastic_CROSS']
            indlist = [
                'mcross', 'mcd', 'RSI', 'StochK', 'Stoch_CROSS', 'StochD'
            ]
            rpInd.create_states_files(sym, dur, today, threshold, indlist)
####################
        state15 = rpInd.ShowRecentState(sym, '15mins', 'mcross', 'noboost')
        stateAge15 = rpInd.ShowRecentAge(sym, '15mins', 'mcross', 'noboost')
        ##        state5 = rpInd.ShowRecentState(sym,'5mins','mcross')
        ##        stateAge5 = rpInd.ShowRecentAge(sym,'5mins','mcross')
        barlist = ['1min', '3mins', '5mins', '15mins']
        for dur in barlist:
            ALLTriggers = []
            lasttwo = []
            if dur != '1111min':
                Triggers = rpInd.Trigger_from_states(sym, dur, 'mcross')
                lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
                for a in lasttwo:
                    ALLTriggers.append(a)
            Triggers = rpInd.Trigger_from_states(sym, '15mins', 'mcd')
            lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
            for a in lasttwo:
                ALLTriggers.append(a)
            Triggers = rpInd.Trigger_from_statesValues(
                sym, dur, 'StochD', 25,
                85)  #def Trigger_from_statesValues(sym,dur,label,30,70):
            lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
            for a in lasttwo:
                ALLTriggers.append(a)
            if dur != '1min':
                ##                Triggers = rpInd.Trigger_from_statesValues(sym,dur,'RSI',20,80)
                Triggers = rpInd.Trigger_from_states(sym, dur, 'RSI')
                lasttwo = rpu_rp.tail_array_to_array(Triggers, 1)
                for a in lasttwo:
                    ALLTriggers.append(
                        a
                    )  ## ADJUST THE TRIGGER TO USE JUT 5MIN IN SLOWER MKTS....
                ## 1 MIN CAN BE USED FOR THE FAST MKTS....OR TO EXIT A POSITION
##            threshold = float(-0.20)
##            maCrossNEARTriggers = rpInd.Trigger_MACross(DurBoth,sym,dur,threshold,'manearcross')
##            rpu_rp.WriteArrayToCsvfileAppend(sigarea +sym+'.sigs.csv', ALLTriggers)
############################
##            print ALLTriggers
            prevt = 0
            numsigs = len(ALLTriggers)
            ##            print numsigs
            signum = 0
            prevbart_dt = now_dt
            prevbart_epoch = now_epoch
            ##            2015-08-24 17:35:05,0.0245,pos,0.0646,slopeup,kupper,USD.JPY,poscrxx,1min,118.43,118.36,118.36,5
            for onesig in ALLTriggers:
                bart = onesig[0]
                action = onesig[7]
                indvalue = onesig[1]
                ind = onesig[5]
                bart_dt = dt.datetime.strptime(bart, spaceYtime_format)
                bart_epoch = int(
                    time.mktime(time.strptime(bart, spaceYtime_format)))
                barToNow = now_epoch - bart_epoch
                lasttick = recenttick(sym)
                onesig.append(barToNow)
                onesig.append(indvalue)
                onesig.append(lasttick)
                if barToNow < recentlimit:
                    ##                    print onesig
                    tflag = 'nopass'
                    ##                    print 'recent15 min state and age:', state15, stateAge15,sym
                    posstate = rpInd.ShowRecentPositionState(sym)
                    if action == 'negcrxx' and state15 == 'neg' and dur != '1min':
                        ##                        print 'is a sell'
                        tflag = 'passedtest'
                    elif action == 'poscrxx' and state15 == 'pos' and dur != '1min':
                        ##                        print 'is a buy'
                        tflag = 'passedtest'
                        pass
                    elif action == 'poscrxx' and posstate == 'SELL':
                        tflag = 'passedtest'
                        pass
                    elif action == 'negcrxx' and posstate == 'BUY':
                        tflag = 'passedtest'
                        pass
                    elif ind == 'RSI':
                        ##                        print onesig
                        tflag = 'passedtest'
                        pass
                    else:
                        ##                        print action, ' signal failed on ... ',dur,sym
                        pass
                    if tflag == 'passedtest':
                        recentsigs.append(onesig)
    return recentsigs