Example #1
0
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)
Example #2
0
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"]