コード例 #1
0
    def __init__(self, bitmex, symbol=None, start_time=None, end_time=None):
        self.bitmex = bitmex
        db_exisiting = False

        db = DBClient("mysql")
        self.db_client = db.client
        self.db_cursor = db.cursor

        self.symbol = symbol
        self.continuity_valuation_min = [20]

        self.initialize_duration(start_time, end_time)
        if db_exisiting:
            self.ohlcv = self.df_all_records()
        else:
            self.fetch_data()
            self.setting_db()
コード例 #2
0
from datetime import datetime, timedelta
from pathlib import Path

from lib.dataset import Dataset

from client.db_client import DBClient
from client.exchange_client import ExchangeClient

bitmex_exchange_client = ExchangeClient("bitmex", "config.ini")
mysql_client = DBClient("mysql", "config.ini")

dataset_manager = Dataset(mysql_client, bitmex_exchange_client, True)

start_time = datetime.now() - timedelta(days=200)
end_time = datetime.now()

dataset_manager.update_ohlcv("bitmex", start_time)
コード例 #3
0
from technical_analysis.obv import TechnicalAnalysisOBV
from technical_analysis.roc import TechnicalAnalysisROC
from technical_analysis.rsi import TechnicalAnalysisRSI
from technical_analysis.so import TechnicalAnalysisSTOCH
from technical_analysis.williamsr import TechnicalAnalysisWilliamsR
from technical_analysis.wma import TechnicalAnalysisWMA

# option settings
pd.set_option("display.max_columns", 250)
pd.set_option("display.max_rows", 250)
import warnings
warnings.filterwarnings('ignore')
plt.rcParams['figure.figsize'] = (10.0, 20.0)

bitmex_exchange_client = ExchangeClient("bitmex", Path(config_ini))
mysql_client = DBClient("mysql", Path(config_ini))
dataset_manager = Dataset(mysql_client, bitmex_exchange_client, True)
dataset_manager.update_ohlcv("bitmex",
                             start_time=datetime.now() - timedelta(days=365),
                             with_ta=True)


# manually added
def get_joined_params_and_summary():
    bot = BottomTrendFollow(db_client=mysql_client,
                            exchange_client=bitmex_exchange_client,
                            is_backtest=True)
    backtest_management = bot.trading_bot_backtest.trading_bot_backtest_db.backtest_management_table(
    )
    backtest_summary = BacktestSummary()
コード例 #4
0
from client.exchange_client import ExchangeClient
from client.db_client import DBClient
from client.exchange_ws_client import WSClient
from lib.pandamex import PandaMex
from lib.time_ms import TimeMS
from lib.dataset import Dataset

from hypothesis_test.fetch_high_frequency_data_test import FetchHighFrequencyData
from hypothesis_test.h_price_move_probability import HPriceMovePlobability
from hypothesis_test.volatility_dependent_offset_test import VolatilityDependentOffsetTest

from bot.bottom_trend_follower import BottomTrendFollow

bitmex_exchange_client = ExchangeClient("bitmex",
                                        Path("tradingbot/config.ini"))

# influx_client = DBClient("influxdb")
# print(influx_client.connector.get_list_database())

mysql_client = DBClient("mysql", Path("tradingbot/config.ini"))

# update database
dataset_manager = Dataset(mysql_client, bitmex_exchange_client)
download_start_time = datetime.now() - timedelta(days=1000)
dataset_manager.update_ohlcv("bitmex", download_start_time)

bot_bot = BottomTrendFollow(db_client=mysql_client,
                            exchange_client=bitmex_exchange_client,
                            is_backtest=True)
bot_bot.run()
コード例 #5
0
from datetime import datetime, timedelta

from bot.bottom_trend_follower import BottomTrendFollow

from client.db_client import DBClient
from client.exchange_client import ExchangeClient

bitmex_client = ExchangeClient("bitmex", "config.ini")
influx_client = DBClient("influxdb", "config.ini")

bot_name = "bottom_trend_follow"
version = "v1.0.0"
timeframe = 1
bottom_trend_tick = 5
middle_trend_tick = 3
top_trend_tick = 1
close_position_on_do_nothing = True
inverse_trading = True
random_leverage = False
random_forest_leverage_adjust = False

default_params = {
    "bot_name": bot_name,
    "version": version,
    "timeframe": timeframe,
    "close_position_on_do_nothing": close_position_on_do_nothing,
    "inverse_trading": inverse_trading,
    "random_leverage": random_leverage,
    "random_forest_leverage_adjust": random_forest_leverage_adjust
}