def register(): if request.method == 'POST': data=request.form try: query= Trader.get(name=data['name']) print("User exists") except: Trader.create(name=data['name'], account=data['account'], password=data['password']) print("Record created") return render_template('register.html')
def login(): # pdb.set_trace() if request.method == 'POST': data = request.form username = data['name'] userpassword = data['password'] dbname = None try: # Peewee returns an error if record not exist instead of returning none(!) dbname = Trader.get(name=username) except: pass if dbname: if dbname.password == userpassword: print("Authenticated") user = get_user( dbname.id) # creates a User instance with id=id login_user(user) result = "authenticated" else: print("Wrong password") result = "fail" # Should always return fail regardless if its password or username else: print("Wrong Username") result = "fail" # Should always return fail regardless if its password or username return render_template("login.html")
def login(): # pdb.set_trace() result='' print(request) data=request.get_json() print(data) username= data['name'] print(username) userpassword = data['password'] print(userpassword) dbname=None try: # Peewee returns an error if record not exist instead of returning none(!) dbname=Trader.get(name=username) except: pass if dbname: if dbname.password==userpassword: print("authenticated") user = get_user(dbname.id) # creates a User instance with id=id login_user(user) result="authenticated" else: print("wrong password") result="fail" else: print("Wrong Username") result="fail" print(result) return jsonify({"status":result})
def identity(payload): try: user_id = payload['identity'] except: user_id = payload['user_id'] user = Trader.select().where(Trader.id == user_id).get() return user_id
def authenticate(username, password): try: user = Trader.select().where(Trader.name == username).get() except: user = None return user
def get_user(id): try: dbuser = Trader.get(id=int(id)) return User(dbuser.id) except: return None
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"]
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
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) logs.add(Log(