priceQueue = strategy.doQueue( priceQueue, strategySettings["queuePeriod"], row) # add current price to queue, along with stats longQueue = strategy.doQueue( longQueue, strategySettings["longQueuePeriod"], row) # add current price to queue, along with stats # 1.A: CHECK IF TRADE IS OPEN tradeOpen = strategy.checkOpen() # 1.B: CHECK CLOSE CONDITIONS # 2.A: STRATEGY: signal = strategy.maCross(row, priceQueue, longQueue, backtestSettings, backtest.checkOpen(), display, backtest) # check for buy/sell signals if signal["signal"] and i >= strategySettings["queuePeriod"]: backtest.executeTrade(signal["signal"], row, signal["stopLoss"], signal["takeProfit"], backtestSettings["leverage"]) print backtest.account else: pass i = i + 1 # increment loop for scaterplot try: lastCash = info["cash"][i - 1] except: lastCash = 0
# SKIP ERRORS IN PICKLE if np.isnan(row['Buy']) or np.isnan(row['Sell']): continue # 0.A: ADD CURRENT PRICE TO QUEUE priceQueue = strategy.doQueue(priceQueue,strategySettings["queuePeriod"],row) # add current price to queue, along with stats longQueue = strategy.doQueue(longQueue,strategySettings["longQueuePeriod"],row) # add current price to queue, along with stats # 1.A: CHECK IF TRADE IS OPEN tradeOpen = strategy.checkOpen() # 1.B: CHECK CLOSE CONDITIONS # 2.A: STRATEGY: signal = strategy.maCross(row, priceQueue, longQueue, backtestSettings, backtest.checkOpen(), display, backtest) # check for buy/sell signals if signal["signal"] and i >= strategySettings["queuePeriod"]: backtest.executeTrade(signal["signal"], row, signal["stopLoss"], signal["takeProfit"], backtestSettings["leverage"]) print backtest.account else: pass i = i + 1 # increment loop for scaterplot try: lastCash = info["cash"][i-1] except: lastCash = 0 infoRow = { "price":(row["Buy"] + row["Sell"]) / 2,