from read import parse_csv from model import Trader, Log, LogManager, Bar, Result import math # bars = parse_csv("data\AUDUSD_D1_HistoricalSSI.csv") # bars = parse_csv("data\AUDUSD_H4_HistoricalSSI.csv") bars = parse_csv("data\AUDUSD_H1_HistoricalSSI.csv") # bars = parse_csv("data\GBPUSD_D1_HistoricalSSI.csv") # bars = parse_csv("data\GBPUSD_H4_HistoricalSSI.csv") # bars = parse_csv("data\GBPUSD_H1_HistoricalSSI.csv") # bars = parse_csv("data\EURUSD_D1_HistoricalSSI.csv") # bars = parse_csv("data\EURUSD_H4_HistoricalSSI.csv") # bars = parse_csv("data\EURUSD_H1_HistoricalSSI.csv") base_unit = 100000 THRESHOLD = 4 trader = Trader() logs = LogManager() for bar in bars.bars: ssi = bar.ssi if trader.stock > 0: if ssi >= -THRESHOLD: trader.close(bar) logs.add( Log( timestamp=bar.timestamp, equity=trader.equity, stock=trader.stock, )) elif trader.stock < 0: if ssi <= -THRESHOLD: trader.close(bar)
from read import parse_csv from model import Trader, Log, LogManager, Bar, Result import math bars = parse_csv("data\AUDUSD_D1_HistoricalSSI.csv") # bars = parse_csv("data\GBPUSD_D1_HistoricalSSI.csv") # bars = parse_csv("data\EURUSD_D1_HistoricalSSI.csv") base_unit = 5000 capital = 1000 margin = 0.02 trade_count = 0 MAX_LIMIT = 8 IGNORE = 0 trader = Trader(capital=capital, margin=margin) logs = LogManager() for bar in bars.bars: ssi = bar.ssi # if abs(ssi) < IGNORE: # continue # if ssi > 0: # adjusted_ssi = ssi - IGNORE # else: # adjusted_ssi = ssi + IGNORE optimal_hold = -int(ssi / 0.2) # if optimal_hold > MAX_LIMIT: # optimal_hold = MAX_LIMIT # elif optimal_hold < -MAX_LIMIT: # optimal_hold = -MAX_LIMIT optimal_hold *= base_unit diff = optimal_hold - trader.stock # last_ssi = row["SSI_log"]