from Services.Datafactory import DataFactory
from Services.MyLogger import MyLogger
from Services.SimTracker import SimTracker
from Services.SimViewer import StrategyView
from Services.TradingClock import TradingClock
from Strategies.Crystal import CrystalV3
from Strategies.RocketCatcher import RocketCatcher
from _config import TICKERS_LEDGER
from _devconfig import *

import random
import pandas as pd

if __name__ == "__main__":

    MyLogger.configure(20)
    logger = MyLogger.getLogger("MAIN")

    # services
    DataFactory.repaired = True
    DataFactory.live_data = True
    clock, datafactory = TradingClock.getInstance(), DataFactory.getInstance()

    # absolute times to check for an update
    times = [
        datetime.time(9, 30),
        datetime.time(10, 30),
        datetime.time(11, 30),
        datetime.time(12, 30),
        datetime.time(13, 30),
        datetime.time(14, 30),
from Services.SimViewer import SimViewer

import pandas as pd

from Strategies.Breakouts import Breakouts
from Strategies.Crossover import Crossover
from Strategies.Crystal import CrystalV3
from Strategies.MACD import MACD
from Strategies.RocketCatcher import RocketCatcher
from Strategies.Testing import TestStrategy
from _config import TICKERS_LEDGER, ASX_GAME
import datetime

from enum import Enum

MyLogger.configure(level=20)

import matplotlib.pyplot as plt

plt.ioff()

if __name__ == "__main__":

    strategies = Enum('Strategy',
                      'Test Crystal RocketCatcher Breakouts MACD Crossover')
    strategy = strategies.Test

    DataFactory.repaired = True

    a = Account(5000)
    st = SimTracker()
Exemple #3
0
from DataScrape.ScrapeReddit import ASX_LISTING
from Services.MyLogger import MyLogger
from Strategies.Crystal import CrystalV3
from Strategies.RocketCatcher import RocketCatcher
from _config import TICKERS_LEDGER

MyLogger.configure(level=MyLogger.TRADE)
from Components.Account import Account
from Services.Datafactory import DataFactory
from Components.Process import ThreadedTask

import pandas as pd
import random

if __name__ == "__main__":
    # TODO: proper portfolio
    # TODO: data cleaning
    # TODO: parmas

    DataFactory.repaired = True

    logger = MyLogger.getLogger("Optimiser",
                                file="optimiser.log",
                                level=MyLogger.OPTY)

    def get_random_symbols(k=25):
        tickers_ledger = pd.read_csv(TICKERS_LEDGER)
        asx_listings = pd.read_csv(ASX_LISTING)
        return random.choices([
            s for t, s, mc, l in
            zip(asx_listings.title.values, asx_listings.code.values,