method and restructuring enabled

This commit is contained in:
Bemhreth
2022-01-26 15:51:55 +03:00
parent 47018eb03e
commit d7f257282c
4 changed files with 27 additions and 17 deletions

View File

@@ -15,7 +15,7 @@ from datetime import datetime
import subprocess
import threading
from user_data.strategies.util import IS_BACKTEST, launcher, back_tester
from user_data.strategies.util import IS_BACKTEST, launcher, _perform_launcher
@@ -168,10 +168,8 @@ class Strategy002(IStrategy):
mode = "test"
coin = pair.split("/")[0]
brain = "Freq_" + self.__class__.__name__
if IS_BACKTEST:
threading.Thread(target=back_tester, args=(current_time, coin, brain)).start()
else:
threading.Thread(target=launcher, args=(mode, coin, brain)).start()
launcher(mode, current_time, coin, brain)
return True

View File

@@ -0,0 +1,8 @@
class Config:
BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH = ""
BACKTEST_YEAR = 2020
BACKTEST_MONTH_INDEX = 9
IS_BACKTEST = False
WORKSPACE_PATH = "workspace2" if IS_BACKTEST else "workspace"
EXECUTION_PATH = "/root/" + WORKSPACE_PATH + "/execution/"
IS_PARRALER_EXECUTION = True

View File

@@ -0,0 +1,40 @@
import json
import datetime
import time
import os
import sys
from user_data.strategies.util import BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH, BACKTEST_YEAR, BACKTEST_MONTH_INDEX
def clean_json():
print("clean_json: json_path = " + BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH)
file = open(BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH)
list = []
data = json.load(file)
for datas in data:
unix = datas[0]/1000
unix = int(unix)
date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(unix)))
date = datetime.datetime.strptime(str(date), "%Y-%m-%d %H:%M:%S")
year = date.year
month = date.month
if year == int(BACKTEST_YEAR) and month == int(BACKTEST_MONTH_INDEX):
list.append(datas)
json_object = json.dumps(list)
file.close()
write_to_json(json_object)
def write_to_json(json_object):
print("write_to_json: json_path = " + BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH)
with open("temp.json", "w") as outfile:
outfile.write(json_object)
os.rename("temp.json", BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH)
if len(sys.argv) < 4:
exit("""Incorrect number of arguments.
python3 freq_data_cleaner.py [json_file] [month index] [year]
""")
else:
BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH = sys.argv[1]
BACKTEST_MONTH_INDEX = sys.argv[2]
BACKTEST_YEAR = sys.argv[3]
clean_json()

View File

@@ -1,21 +1,25 @@
import subprocess
import threading
from config import Config
BACKTEST_DOWNLOADED_JSON_DATA_FILE_PATH = ""
BACKTEST_YEAR = 2020
BACKTEST_MONTH_INDEX = 9
IS_BACKTEST = False
WORKSPACE_PATH = "workspace2" if IS_BACKTEST else "workspace"
EXECUTION_PATH = "/root/" + WORKSPACE_PATH + "/execution/"
def launcher(mode, coin, brain):
threading.Thread(target=_perform_launcher, args=(mode, coin, brain)).start()
def launcher(mode, coin, brain,date_time):
if Config.IS_BACKTEST:
if Config.IS_PARRALER_EXECUTION:
threading.Thread(target=_perform_launcher, args=(mode, coin, brain)).start()
else:
date = str(date_time)
date = date.replace(" ", "#")
subprocess.call("python3 "+ Config.EXECUTION_PATH + "back_tester.py " + date + " " + coin + " " + brain + " 0.45 3", shell=True)
else:
if Config.IS_PARRALER_EXECUTION:
threading.Thread(target=_perform_launcher, args=(mode, coin, brain)).start()
else:
subprocess.call("python3 "+Config.EXECUTION_PATH+"launcher.py " + mode + " " + coin + " " + brain, shell=True)
def _perform_launcher(mode, coin, brain):
subprocess.call("python3 "+EXECUTION_PATH+"launcher.py " + mode + " " + coin + " " + brain, shell=True)
subprocess.call("python3 "+Config.EXECUTION_PATH+"launcher.py " + mode + " " + coin + " " + brain, shell=True)
def back_tester(date_time, coin, brain):
date = str(date_time)
date = date.replace(" ", "#")
subprocess.call("python3 "+ EXECUTION_PATH + "back_tester.py " + date + " " + coin + " " + brain + " 0.45 3", shell=True)
subprocess.call("python3 "+ Config.EXECUTION_PATH + "back_tester.py " + date + " " + coin + " " + brain + " 0.45 3", shell=True)