remove dryrun log
This commit is contained in:
parent
8d071d1ef6
commit
114a0b584d
@ -3,9 +3,13 @@ from pandas import DataFrame
|
||||
import numpy as np
|
||||
import os
|
||||
import datetime
|
||||
import time
|
||||
import pandas as pd
|
||||
import talib.abstract as ta
|
||||
import freqtrade.vendor.qtpylib.indicators as qtpylib
|
||||
from freqtrade.persistence import Trade # 必须导入 Trade 类
|
||||
from tempfile import NamedTemporaryFile
|
||||
import shutil
|
||||
|
||||
|
||||
class TheForceV7(IStrategy):
|
||||
@ -145,6 +149,7 @@ class TheForceV7(IStrategy):
|
||||
|
||||
return dataframe
|
||||
|
||||
|
||||
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
|
||||
dataframe.loc[
|
||||
(
|
||||
@ -192,35 +197,5 @@ class TheForceV7(IStrategy):
|
||||
),
|
||||
'exit_long'] = 1
|
||||
return dataframe
|
||||
def confirm_trade_entry(self, pair: str, order_type: str, amount: float, rate: float,
|
||||
time_in_force: str, current_time: datetime, **kwargs) -> bool:
|
||||
log_path = './user_data/dryrun_results/dry_run_trades.csv'
|
||||
# 自动创建目录
|
||||
os.makedirs(os.path.dirname(log_path), exist_ok=True)
|
||||
# 写入日志
|
||||
with open(log_path, 'a') as f:
|
||||
f.write(f"{pair},{current_time},,,{rate},,{amount},,,,,,,,\n")
|
||||
return True
|
||||
|
||||
def confirm_trade_exit(self, pair: str, trade: 'Trade', order_type: str, amount: float,
|
||||
rate: float, time_in_force: str, exit_reason: str, current_time: 'datetime', **kwargs) -> bool:
|
||||
log_path = './user_data/dryrun_results/dry_run_trades.csv'
|
||||
# 自动创建目录
|
||||
os.makedirs(os.path.dirname(log_path), exist_ok=True)
|
||||
# 计算盈亏
|
||||
profit_ratio = trade.calc_profit_ratio(rate)
|
||||
profit_abs = trade.calc_profit(rate)
|
||||
trade_duration = (current_time - trade.open_date).total_seconds() / 60
|
||||
# 获取 min_rate 和 max_rate
|
||||
df = self.trade_data.get(pair)
|
||||
min_rate = max_rate = rate
|
||||
if df is not None:
|
||||
trade_period = df[(df['date'] >= trade.open_date) & (df['date'] <= current_time)]
|
||||
min_rate = trade_period['low'].min() if not trade_period.empty else rate
|
||||
max_rate = trade_period['high'].max() if not trade_period.empty else rate
|
||||
# 写入日志
|
||||
with open(log_path, 'a') as f:
|
||||
f.write(f"{pair},{trade.open_date},{current_time},{trade.open_rate},{rate},"
|
||||
f"{amount},{profit_ratio},{profit_abs},{exit_reason},"
|
||||
f"{trade.fee_open},{trade.fee_close},{trade_duration},{min_rate},{max_rate}\n")
|
||||
return True
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ cd ../
|
||||
source .venv/bin/activate
|
||||
rm -rf user_data/models/*
|
||||
rm -rf ./freqtrade/user_data/data/backtest_results/*
|
||||
rm -fr ./user_data/dryrun_results/*
|
||||
|
||||
#docker-compose -f docker-compose_backtest.yml run --rm freqtrade >output.log 2>&1
|
||||
freqtrade backtesting \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user