コード例 #1
0
from monlan.datamanagement.SymbolDataManager import SymbolDataManager
from monlan.mods.VSASpread import VSASpread
from datetime import datetime
import matplotlib.pyplot as plt
import os
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'

symbol = "EURUSD_i"
timeframe = "H1"
priceFeatList = ["open", "close", "low", "high"]
#energyFeatList = ["vsa_spread"]
volumeFeatList = ["tick_volume"]

#terminal = MT5Terminal()
#dataUpdater = SymbolDataUpdater("../data/raw/")
dataManager = SymbolDataManager("../data/raw/")

#dataUpdater.fullUpdate(terminal, symbol, timeframe, startDate="2015-01-01 00:00:00")
df = SymbolDataManager("../data/raw/").getData(symbol, timeframe)
modDf = df


priceDiffGenerator = W2VDiffGenerator(featureList=priceFeatList, nDiffs=1, nPoints = 32, flatStack = False, fitOnStep = False,
                 nIntervals = 1000, w2vSize=32, window=10, iter=100, min_count=0, sample=0.0, sg=0)
volumeDiffGenerator = W2VDiffGenerator(featureList=volumeFeatList, nDiffs=1, nPoints = 32, flatStack = False, fitOnStep = False,
                 nIntervals = 1000, w2vSize=32, window=10, iter=100, min_count=0, sample=0.0, sg=0)


priceDiffGenerator.setFitMode(True)
priceDiffGenerator = priceDiffGenerator.globalFit(df)
#priceDiffGenerator.checkReconstructionQuality(df)
コード例 #2
0

startTime = datetime.now()
print("start time: {}".format(startTime))

#symbols = ["EURUSD_i"]
symbols = [
    "AUDUSD_i",
    "EURAUD_i",
    "USDCAD_i",
    "EURCAD_i",
    "GBPUSD_i",
]
timeframe = "M10"

dataManager = SymbolDataManager("../data/raw/")

df = dataManager.getData(symbols[0], timeframe)
df = df.tail(400000)
x = df["open"] - df["open"].shift(1)
#x = x.values[1:].reshape(-1,1)
x = x.values[1:]
#x = df["open"].values
#scaler = StandardScaler().fit(x.reshape((-1, 1)))
scaler = MinMaxScaler().fit(x.reshape((-1, 1)))
x = scaler.transform(x.reshape(-1, 1))

window = 64
x_train, y_train = [], []
for i in tqdm(range(len(x) - window), colour="green"):
    x_train.append(x[i:i + window])
コード例 #3
0
    agent = agent.load_agent(saveDir, agentName, dropSupportModel=True)
    # agent  = agent.load_agent("./", "checkpoint_composite")
    print("start using agent")

    startTime = datetime.now()
    agent.use_agent(testEnv, timeConstraint=timeConstraint)
    endTime = datetime.now()
    print("Use time: {}".format(endTime - startTime))
    reset_keras()

####################################################################################

symbol = "EURUSD_i"
timeframe = "M5"
hkFeatList = ["open", "close", "low", "high", "vsa_spread", "tick_volume",
              "hkopen", "hkclose", "enopen", "enclose", "enlow", "enhigh"]
saveDir = "../models/"
genName = "MSDiffGen"
genPath = saveDir + genName + ".pkl"
agentName = "best_composite"
timeConstraint = timedelta(days=5, hours=12, minutes=0)

terminal = MT5Terminal(login=99999999, server="Broker-MT5-Demo", password="******")
dataUpdater = SymbolDataUpdater()
dataManager = SymbolDataManager()

dataUpdater.fullUpdate(terminal, symbol, timeframe, startDate="2008-01-01 00:00:00")
while True:
    useAgent(symbol, timeframe, terminal, dataUpdater, dataManager,
             hkFeatList, saveDir, genPath, agentName, timeConstraint)