gfrdegdergr

This commit is contained in:
27942
2025-10-09 17:36:15 +08:00
parent 26bc1ed715
commit 2be61335b3
4 changed files with 685 additions and 417 deletions

81
bieget/test.py Normal file
View File

@@ -0,0 +1,81 @@
import requests
cookies = {
'bitget_lang': 'zh-CN',
'_dx_kvani5r': '24e0dceb12f85d9a1279183ca29c09f772f8c61124e4eca228d8dd909c9b24b0019c2b9a',
'OptanonAlertBoxClosed': 'Wed%20Sep%2024%202025%2017:12:32%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)',
'OptanonConsent': 'isMarketing=1&isStatistic=1',
'g_state': '{"i_l":0}',
'theme': 'white',
'BITGET_LOCAL_COOKIE': '{%22bitget_lang%22:%22zh-CN%22%2C%22bitget_unit%22:%22CNY%22%2C%22bitget_showasset%22:true%2C%22bitget_theme%22:%22white%22%2C%22bitget_layout%22:%22right%22%2C%22bitget_valuationunit%22:0%2C%22bitget_valuationunit_new%22:1%2C%22bitget_valuationunitandfiat%22:1%2C%22bitgt_login%22:false%2C%22theme%22:%22black%22%2C%22brand_simulation_trade%22:false%2C%22bitget_currency%22:%22%22}',
'USD': 'CNY',
'_gcl_au': '1.1.737358653.1759055313',
'_ga': 'GA1.1.942322417.1759055313',
'afUserId': '58c62981-8c6f-4601-adee-77489e65d72b-p',
'AF_SYNC': '1759974778836',
'bt_rtoken': 'upex:session:id:d250cc2b001c88f9e9c60a3686fd7dcf5773a666402d41b35c7a6fa3f853392d',
'bt_uid': '619BB9EC4D4A3F9FC1AC092D38818A00',
'bt_sessonid': '6ad2dd3f-35f3-4ef8-accb-3292ceb8b5d7',
'bt_newsessionid': 'eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1NTk2ZjA1MC0zOGFhLTQxMjktOTcyZS0wMWUyZDI1MWI0N2M1NzQxNTgyOTIiLCJ1aWQiOiIxV00rVjRqcTJYSVRQemdJVWhUMnNRPT0iLCJzdWIiOiJsenoqKipvbSIsImlwIjoiWGRhSGJmdHZQVGVpeFlnMmxlVmdUZz09IiwiZGlkIjoiSjBZZjQ1NkV5RUxaSGhaa2tWYnNQZTVlSFVYYUNKZS9CM21wTHJ5SHJWMTEyUklzWlFLTTVIQmtTNHlUUmhuVyIsInN0cyI6MCwiaWF0IjoxNzU5OTc0NzkwLCJleHAiOjE3NjA0MDY3OTAsInB1c2hpZCI6ImRka1NMR1VDak9Sd1pFdU1rMFlaMWc9PSIsImlzcyI6InVwZXgifQ.0SygmCSR3f5tfA0xQpdzS241nFDbsVultPm0LmleYgY',
'_ga_Z8Q93KHR0F': 'GS2.1.s1759974680$o4$g1$t1759974795$j19$l0$h0',
'dy_token': '68e74d44zBITZniRPCwXG8rs7bnFrrlGIHyxtKx1',
'_cfuvid': '7C9e7Tl9zudw90jhhHGEM4H7SJnpWoi39xepaHJpJuM-1759995357475-0.0.1.1-604800000',
'__cf_bm': 'y7VR5vFWhYBo1IWnsrX2txdXsSeztAnTxMOQjyhyuf0-1760001832-1.0.1.1-kj32unDiaucuNb8pjHeq89WUlOf.zwJW6gyN53JjOsQ8FhB1R23kpDJtzc4878CdMKYfk7xFyYUnUBEiESvziCBFUbhm3F.R0qaPyZ.dw8g',
}
headers = {
'accept': 'application/json, text/plain, */*',
'accept-language': 'zh-CN,zh;q=0.9,zh-HK;q=0.8,en;q=0.7',
'baggage': 'sentry-environment=online,sentry-release=776c8c2125078b22570121601aabb051a52c0936,sentry-public_key=8aeef93d782e4ef5ae75634bfee9b590,sentry-trace_id=cb93656935cd47f289b30e55dd96f6c0',
'cache-control': 'no-cache',
'content-type': 'application/json;charset=UTF-8',
'custom-token': '2facaf72193a42ab84dd879b94b57c7e',
'deviceid': '7c88d47fdc39e5c422eff197b10d3485',
'dy-token': '68e74d44zBITZniRPCwXG8rs7bnFrrlGIHyxtKx1',
'language': 'zh_CN',
'locale': 'zh_CN',
'origin': 'https://www.bitget.com',
'pragma': 'no-cache',
'priority': 'u=1, i',
'referer': 'https://www.bitget.com/zh-CN/futures/usdt/ETHUSDT',
'sec-ch-ua': '"Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'sentry-trace': 'cb93656935cd47f289b30e55dd96f6c0-b7272e524943c558-0',
'terminalcode': 'cc98a9dd01af7e2d50d9b9858723b25e',
'terminaltype': '1',
'tm': '1760002404225',
'uhti': 'w1760002409197066bf83bff8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36',
'website': 'mix',
# 'cookie': 'bitget_lang=zh-CN; _dx_kvani5r=24e0dceb12f85d9a1279183ca29c09f772f8c61124e4eca228d8dd909c9b24b0019c2b9a; OptanonAlertBoxClosed=Wed%20Sep%2024%202025%2017:12:32%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4); OptanonConsent=isMarketing=1&isStatistic=1; g_state={"i_l":0}; theme=white; BITGET_LOCAL_COOKIE={%22bitget_lang%22:%22zh-CN%22%2C%22bitget_unit%22:%22CNY%22%2C%22bitget_showasset%22:true%2C%22bitget_theme%22:%22white%22%2C%22bitget_layout%22:%22right%22%2C%22bitget_valuationunit%22:0%2C%22bitget_valuationunit_new%22:1%2C%22bitget_valuationunitandfiat%22:1%2C%22bitgt_login%22:false%2C%22theme%22:%22black%22%2C%22brand_simulation_trade%22:false%2C%22bitget_currency%22:%22%22}; USD=CNY; _gcl_au=1.1.737358653.1759055313; _ga=GA1.1.942322417.1759055313; afUserId=58c62981-8c6f-4601-adee-77489e65d72b-p; AF_SYNC=1759974778836; bt_rtoken=upex:session:id:d250cc2b001c88f9e9c60a3686fd7dcf5773a666402d41b35c7a6fa3f853392d; bt_uid=619BB9EC4D4A3F9FC1AC092D38818A00; bt_sessonid=6ad2dd3f-35f3-4ef8-accb-3292ceb8b5d7; bt_newsessionid=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1NTk2ZjA1MC0zOGFhLTQxMjktOTcyZS0wMWUyZDI1MWI0N2M1NzQxNTgyOTIiLCJ1aWQiOiIxV00rVjRqcTJYSVRQemdJVWhUMnNRPT0iLCJzdWIiOiJsenoqKipvbSIsImlwIjoiWGRhSGJmdHZQVGVpeFlnMmxlVmdUZz09IiwiZGlkIjoiSjBZZjQ1NkV5RUxaSGhaa2tWYnNQZTVlSFVYYUNKZS9CM21wTHJ5SHJWMTEyUklzWlFLTTVIQmtTNHlUUmhuVyIsInN0cyI6MCwiaWF0IjoxNzU5OTc0NzkwLCJleHAiOjE3NjA0MDY3OTAsInB1c2hpZCI6ImRka1NMR1VDak9Sd1pFdU1rMFlaMWc9PSIsImlzcyI6InVwZXgifQ.0SygmCSR3f5tfA0xQpdzS241nFDbsVultPm0LmleYgY; _ga_Z8Q93KHR0F=GS2.1.s1759974680$o4$g1$t1759974795$j19$l0$h0; dy_token=68e74d44zBITZniRPCwXG8rs7bnFrrlGIHyxtKx1; _cfuvid=7C9e7Tl9zudw90jhhHGEM4H7SJnpWoi39xepaHJpJuM-1759995357475-0.0.1.1-604800000; __cf_bm=y7VR5vFWhYBo1IWnsrX2txdXsSeztAnTxMOQjyhyuf0-1760001832-1.0.1.1-kj32unDiaucuNb8pjHeq89WUlOf.zwJW6gyN53JjOsQ8FhB1R23kpDJtzc4878CdMKYfk7xFyYUnUBEiESvziCBFUbhm3F.R0qaPyZ.dw8g',
}
json_data = {
'startTime': 1759912500000,
'endTime': 1760002409196,
'symbolCode': 'ETHUSDT',
'languageType': 1,
}
response = requests.post(
'https://www.bitget.com/v1/trigger/strategy/tradingview/queryHistorySignals',
cookies=cookies,
headers=headers,
json=json_data,
)
print(response.json())
# Note: json_data will not be serialized by requests
# exactly as it was in the original request.
# data = '{"startTime":1759912500000,"endTime":1760002409196,"symbolCode":"ETHUSDT","languageType":1}'
# response = requests.post(
# 'https://www.bitget.com/v1/trigger/strategy/tradingview/queryHistorySignals',
# cookies=cookies,
# headers=headers,
# data=data,
# )

View File

@@ -1,177 +1,414 @@
import datetime
import requests
from loguru import logger
# 请求头,用于伪装成浏览器访问接口
headers = {
'accept': 'application/json, text/plain, */*',
'accept-language': 'zh,zh-CN;q=0.9,zh-HK;q=0.8,en;q=0.7',
'cache-control': 'no-cache',
'origin': 'https://www.websea.com',
'pragma': 'no-cache',
'priority': 'u=1, i',
'referer': 'https://www.websea.com/',
'sec-ch-ua': '"Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
}
import re
from datetime import datetime
def fetch_kline(day: int):
"""获取某一天的分钟级 K线数据"""
# 构造该日的起止时间戳
time_ser = datetime.datetime(2025, 6, day)
start_of_day = time_ser.replace(hour=0, minute=0, second=0, microsecond=0)
end_of_day = time_ser.replace(hour=23, minute=59, second=59, microsecond=0)
params = {
'symbol': 'ETH-USDT', # 交易对
'period': '1min', # 分钟级K线
'start': int(start_of_day.timestamp()), # 开始时间
'end': int(end_of_day.timestamp()), # 结束时间
def calculate_max_drawdown(log_data):
"""
计算交易日志的最大回撤
"""
# 解析日志数据,提取每笔交易的盈利
profits = []
for line in log_data.split('\n'):
if not line.strip():
continue
# 使用正则表达式提取盈利数值
match = re.search(r'盈利=([-\d.]+)', line)
if match:
profit = float(match.group(1))
profits.append(profit)
if not profits:
return 0, 0, 0, 0, []
# 计算累计收益
cumulative_returns = []
cumulative = 0
for profit in profits:
cumulative += profit
cumulative_returns.append(cumulative)
# 计算最大回撤
max_drawdown = 0
max_drawdown_start = 0
max_drawdown_end = 0
peak = cumulative_returns[0]
for i in range(1, len(cumulative_returns)):
if cumulative_returns[i] > peak:
peak = cumulative_returns[i]
else:
drawdown = peak - cumulative_returns[i]
if drawdown > max_drawdown:
max_drawdown = drawdown
max_drawdown_start = cumulative_returns.index(peak)
max_drawdown_end = i
# 计算其他统计指标
total_trades = len(profits)
winning_trades = len([p for p in profits if p > 0])
losing_trades = len([p for p in profits if p < 0])
win_rate = winning_trades / total_trades if total_trades > 0 else 0
total_profit = sum(profits)
return {
'max_drawdown': max_drawdown,
'max_drawdown_percentage': (max_drawdown / peak * 100) if peak != 0 else 0,
'max_drawdown_period': (max_drawdown_start, max_drawdown_end),
'total_trades': total_trades,
'winning_trades': winning_trades,
'losing_trades': losing_trades,
'win_rate': win_rate,
'total_profit': total_profit,
'average_profit': total_profit / total_trades if total_trades > 0 else 0,
'cumulative_returns': cumulative_returns,
'individual_profits': profits
}
# 请求 API 获取数据
response = requests.get('https://capi.websea.com/webApi/market/getKline', params=params, headers=headers)
data = response.json()['result']['data']
# 按 id 排序(保证时间顺序)
return sorted(data, key=lambda x: x['id'])
# ================= 辅助函数 =================
def print_analysis_results(results):
"""打印分析结果"""
print("=" * 60)
print("交易策略分析报告")
print("=" * 60)
def is_bullish(candle):
"""判断是否是阳线(收盘价 > 开盘价)"""
return float(candle['close']) > float(candle['open'])
print(f"总交易次数: {results['total_trades']}")
print(f"盈利交易: {results['winning_trades']}")
print(f"亏损交易: {results['losing_trades']}")
print(f"胜率: {results['win_rate']:.2%}")
print(f"总盈利: {results['total_profit']:.2f} u")
print(f"平均每笔盈利: {results['average_profit']:.2f} u")
print("-" * 60)
print(f"最大回撤: {results['max_drawdown']:.2f} u")
print(f"最大回撤百分比: {results['max_drawdown_percentage']:.2f}%")
print(f"最大回撤期间: 第{results['max_drawdown_period'][0] + 1}笔到第{results['max_drawdown_period'][1] + 1}笔交易")
print("=" * 60)
def is_bearish(candle):
"""判断是否是阴线(收盘价 < 开盘价)"""
return float(candle['close']) < float(candle['open'])
# 使用示例
if __name__ == "__main__":
# 你的日志数据
log_data = """2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做多(涨包跌) 入场=4473.89 出场=4471.89 出场时间=1756677600 差价=-2.00 盈利=-4.47 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做多(涨包跌) 入场=4393.76 出场=4391.76 出场时间=1756688400 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做空(跌包涨) 入场=4391.39 出场=4393.39 出场时间=1756690200 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做多(涨包跌) 入场=4406.72 出场=4404.72 出场时间=1756692000 差价=-2.00 盈利=-4.54 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做空(跌包涨) 入场=4386.45 出场=4388.45 出场时间=1756702800 差价=-2.00 盈利=-4.56 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做空(跌包涨) 入场=4372.44 出场=4374.44 出场时间=1756704600 差价=-2.00 盈利=-4.57 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-01号 做空(跌包涨) 入场=4395.14 出场=4397.14 出场时间=1756731600 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4353.46 出场=4323.46 出场时间=1756746900 差价=30.00 盈利=68.91 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做多(涨包跌) 入场=4337.84 出场=4335.84 出场时间=1756751400 差价=-2.00 盈利=-4.61 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4358.37 出场=4328.37 出场时间=1756758600 差价=30.00 盈利=68.83 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做多(涨包跌) 入场=4282.50 出场=4312.50 出场时间=1756770300 差价=30.00 盈利=70.05 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做多(涨包跌) 入场=4308.02 出场=4338.02 出场时间=1756777500 差价=30.00 盈利=69.64 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4365.27 出场=4367.27 出场时间=1756786500 差价=-2.00 盈利=-4.58 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4377.65 出场=4379.65 出场时间=1756791000 差价=-2.00 盈利=-4.57 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.537 | INFO | __main__:<module>:203 - 2025-09-02号 做多(涨包跌) 入场=4406.23 出场=4404.23 出场时间=1756796400 差价=-2.00 盈利=-4.54 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4391.82 出场=4393.82 出场时间=1756798200 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-02号 做多(涨包跌) 入场=4394.03 出场=4392.03 出场时间=1756802700 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-02号 做空(跌包涨) 入场=4375.77 出场=4345.77 出场时间=1756813500 差价=30.00 盈利=68.56 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做空(跌包涨) 入场=4289.53 出场=4291.53 出场时间=1756834200 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4307.73 出场=4305.73 出场时间=1756835100 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4294.79 出场=4292.79 出场时间=1756840500 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做空(跌包涨) 入场=4270.34 出场=4272.34 出场时间=1756841400 差价=-2.00 盈利=-4.68 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4294.49 出场=4324.49 出场时间=1756845000 差价=30.00 盈利=69.86 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4321.17 出场=4319.17 出场时间=1756848600 差价=-2.00 盈利=-4.63 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4326.20 出场=4324.20 出场时间=1756854000 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4324.54 出场=4322.54 出场时间=1756858500 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4325.25 出场=4323.25 出场时间=1756860300 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4351.59 出场=4349.59 出场时间=1756867500 差价=-2.00 盈利=-4.60 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4332.70 出场=4330.70 出场时间=1756872900 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做空(跌包涨) 入场=4369.68 出场=4371.68 出场时间=1756902600 差价=-2.00 盈利=-4.58 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做空(跌包涨) 入场=4350.48 出场=4352.48 出场时间=1756904400 差价=-2.00 盈利=-4.60 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-03号 做多(涨包跌) 入场=4468.99 出场=4466.99 出场时间=1756915200 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.540 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4464.26 出场=4462.26 出场时间=1756923300 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4463.76 出场=4461.76 出场时间=1756931400 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做空(跌包涨) 入场=4446.52 出场=4448.52 出场时间=1756944000 差价=-2.00 盈利=-4.50 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做空(跌包涨) 入场=4458.54 出场=4428.54 出场时间=1756953000 差价=30.00 盈利=67.29 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4403.16 出场=4401.16 出场时间=1756962000 差价=-2.00 盈利=-4.54 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做空(跌包涨) 入场=4366.90 出场=4368.90 出场时间=1756969200 差价=-2.00 盈利=-4.58 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4368.87 出场=4366.87 出场时间=1756975500 差价=-2.00 盈利=-4.58 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做空(跌包涨) 入场=4373.44 出场=4375.44 出场时间=1756976400 差价=-2.00 盈利=-4.57 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4379.92 出场=4377.92 出场时间=1756978200 差价=-2.00 盈利=-4.57 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4420.13 出场=4418.13 出场时间=1756983600 差价=-2.00 盈利=-4.52 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做空(跌包涨) 入场=4405.24 出场=4407.24 出场时间=1756984500 差价=-2.00 盈利=-4.54 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-04号 做多(涨包跌) 入场=4423.63 出场=4421.63 出场时间=1756985400 差价=-2.00 盈利=-4.52 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-05号 做空(跌包涨) 入场=4277.44 出场=4279.44 出场时间=1757011500 差价=-2.00 盈利=-4.68 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-05号 做多(涨包跌) 入场=4294.38 出场=4324.38 出场时间=1757024100 差价=30.00 盈利=69.86 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-05号 做多(涨包跌) 入场=4339.47 出场=4337.47 出场时间=1757027700 差价=-2.00 盈利=-4.61 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-05号 做多(涨包跌) 入场=4312.49 出场=4342.49 出场时间=1757055600 差价=30.00 盈利=69.57 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.541 | INFO | __main__:<module>:203 - 2025-09-05号 做空(跌包涨) 入场=4415.58 出场=4417.58 出场时间=1757074500 差价=-2.00 盈利=-4.53 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做多(涨包跌) 入场=4329.37 出场=4327.37 出场时间=1757103300 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做多(涨包跌) 入场=4314.71 出场=4312.71 出场时间=1757113200 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做多(涨包跌) 入场=4310.52 出场=4308.52 出场时间=1757132100 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做空(跌包涨) 入场=4305.11 出场=4307.11 出场时间=1757147400 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做多(涨包跌) 入场=4296.53 出场=4294.53 出场时间=1757152800 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做空(跌包涨) 入场=4291.14 出场=4293.14 出场时间=1757153700 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做多(涨包跌) 入场=4297.53 出场=4295.53 出场时间=1757165400 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-06号 做空(跌包涨) 入场=4294.23 出场=4264.23 出场时间=1757173500 差价=30.00 盈利=69.86 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做多(涨包跌) 入场=4276.84 出场=4274.84 出场时间=1757186100 差价=-2.00 盈利=-4.68 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做多(涨包跌) 入场=4300.96 出场=4298.96 出场时间=1757216700 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做空(跌包涨) 入场=4288.89 出场=4290.89 出场时间=1757226600 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做多(涨包跌) 入场=4299.99 出场=4297.99 出场时间=1757236500 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做空(跌包涨) 入场=4299.17 出场=4301.17 出场时间=1757239200 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做空(跌包涨) 入场=4301.95 出场=4303.95 出场时间=1757245500 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做空(跌包涨) 入场=4298.13 出场=4300.13 出场时间=1757248200 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做多(涨包跌) 入场=4309.18 出场=4307.18 出场时间=1757257200 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.542 | INFO | __main__:<module>:203 - 2025-09-07号 做多(涨包跌) 入场=4298.15 出场=4296.15 出场时间=1757259900 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做多(涨包跌) 入场=4281.15 出场=4279.15 出场时间=1757268000 差价=-2.00 盈利=-4.67 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做多(涨包跌) 入场=4295.00 出场=4293.00 出场时间=1757284200 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做多(涨包跌) 入场=4308.00 出场=4306.00 出场时间=1757288700 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做多(涨包跌) 入场=4314.79 出场=4312.79 出场时间=1757292300 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做空(跌包涨) 入场=4287.74 出场=4289.74 出场时间=1757311200 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做多(涨包跌) 入场=4299.91 出场=4297.91 出场时间=1757313900 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-08号 做空(跌包涨) 入场=4327.20 出场=4329.20 出场时间=1757336400 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做多(涨包跌) 入场=4327.65 出场=4325.65 出场时间=1757358900 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做空(跌包涨) 入场=4312.94 出场=4282.94 出场时间=1757359800 差价=30.00 盈利=69.56 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做空(跌包涨) 入场=4298.59 出场=4300.59 出场时间=1757378700 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做多(涨包跌) 入场=4299.78 出场=4297.78 出场时间=1757380500 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做空(跌包涨) 入场=4296.12 出场=4298.12 出场时间=1757387700 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做多(涨包跌) 入场=4311.54 出场=4309.54 出场时间=1757394900 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做多(涨包跌) 入场=4355.07 出场=4353.07 出场时间=1757421000 差价=-2.00 盈利=-4.59 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-09号 做空(跌包涨) 入场=4347.42 出场=4349.42 出场时间=1757424600 差价=-2.00 盈利=-4.60 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4288.33 出场=4286.33 出场时间=1757443500 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做空(跌包涨) 入场=4297.72 出场=4299.72 出场时间=1757454300 差价=-2.00 盈利=-4.65 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4313.29 出场=4311.29 出场时间=1757458800 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4311.67 出场=4309.67 出场时间=1757473200 差价=-2.00 盈利=-4.64 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做空(跌包涨) 入场=4315.93 出场=4317.93 出场时间=1757474100 差价=-2.00 盈利=-4.63 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4308.22 出场=4338.22 出场时间=1757506500 差价=30.00 盈利=69.63 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4317.36 出场=4315.36 出场时间=1757494800 差价=-2.00 盈利=-4.63 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做空(跌包涨) 入场=4316.57 出场=4318.57 出场时间=1757496600 差价=-2.00 盈利=-4.63 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4327.65 出场=4325.65 出场时间=1757501100 差价=-2.00 盈利=-4.62 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4329.55 出场=4359.55 出场时间=1757507400 差价=30.00 盈利=69.29 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4382.96 出场=4380.96 出场时间=1757511000 差价=-2.00 盈利=-4.56 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-10号 做多(涨包跌) 入场=4421.52 出场=4419.52 出场时间=1757518200 差价=-2.00 盈利=-4.52 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-11号 做多(涨包跌) 入场=4346.92 出场=4344.92 出场时间=1757542500 差价=-2.00 盈利=-4.60 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-11号 做空(跌包涨) 入场=4336.99 出场=4338.99 出场时间=1757550600 差价=-2.00 盈利=-4.61 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-11号 做多(涨包跌) 入场=4357.63 出场=4387.63 出场时间=1757560500 差价=30.00 盈利=68.84 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-11号 做多(涨包跌) 入场=4402.02 出场=4400.02 出场时间=1757567700 差价=-2.00 盈利=-4.54 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-11号 做空(跌包涨) 入场=4391.29 出场=4393.29 出场时间=1757597400 差价=-2.00 盈利=-4.55 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-12号 做空(跌包涨) 入场=4422.34 出场=4424.34 出场时间=1757622600 差价=-2.00 盈利=-4.52 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4461.86 出场=4491.86 出场时间=1757637900 差价=30.00 盈利=67.24 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4503.75 出场=4533.75 出场时间=1757655900 差价=30.00 盈利=66.61 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.544 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4544.59 出场=4542.59 出场时间=1757662200 差价=-2.00 盈利=-4.40 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做空(跌包涨) 入场=4516.28 出场=4518.28 出场时间=1757670300 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做空(跌包涨) 入场=4509.88 出场=4511.88 出场时间=1757673900 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4524.93 出场=4522.93 出场时间=1757682900 差价=-2.00 盈利=-4.42 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4538.25 出场=4568.25 出场时间=1757686500 差价=30.00 盈利=66.10 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做空(跌包涨) 入场=4523.53 出场=4525.53 出场时间=1757689200 差价=-2.00 盈利=-4.42 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-12号 做多(涨包跌) 入场=4539.47 出场=4537.47 出场时间=1757692800 差价=-2.00 盈利=-4.41 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4573.66 出场=4571.66 出场时间=1757697300 差价=-2.00 盈利=-4.37 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4612.89 出场=4610.89 出场时间=1757702700 差价=-2.00 盈利=-4.34 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4705.43 出场=4703.43 出场时间=1757720700 差价=-2.00 盈利=-4.25 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4710.88 出场=4708.88 出场时间=1757722500 差价=-2.00 盈利=-4.25 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4711.68 出场=4741.68 出场时间=1757734200 差价=30.00 盈利=63.67 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做空(跌包涨) 入场=4736.99 出场=4738.99 出场时间=1757737800 差价=-2.00 盈利=-4.22 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4745.30 出场=4743.30 出场时间=1757739600 差价=-2.00 盈利=-4.21 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4727.14 出场=4725.14 出场时间=1757745000 差价=-2.00 盈利=-4.23 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做空(跌包涨) 入场=4713.59 出场=4715.59 出场时间=1757747700 差价=-2.00 盈利=-4.24 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.545 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4716.72 出场=4714.72 出场时间=1757759400 差价=-2.00 盈利=-4.24 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-13号 做多(涨包跌) 入场=4722.36 出场=4720.36 出场时间=1757754900 差价=-2.00 盈利=-4.24 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-13号 做空(跌包涨) 入场=4679.55 出场=4649.55 出场时间=1757778300 差价=30.00 盈利=64.11 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4636.38 出场=4638.38 出场时间=1757794500 差价=-2.00 盈利=-4.31 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做多(涨包跌) 入场=4655.91 出场=4653.91 出场时间=1757801700 差价=-2.00 盈利=-4.30 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做多(涨包跌) 入场=4656.59 出场=4654.59 出场时间=1757806200 差价=-2.00 盈利=-4.29 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做多(涨包跌) 入场=4665.35 出场=4663.35 出场时间=1757810700 差价=-2.00 盈利=-4.29 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4653.94 出场=4655.94 出场时间=1757813400 差价=-2.00 盈利=-4.30 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4660.68 出场=4662.68 出场时间=1757833200 差价=-2.00 盈利=-4.29 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4659.87 出场=4661.87 出场时间=1757835000 差价=-2.00 盈利=-4.29 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4658.33 出场=4660.33 出场时间=1757838600 差价=-2.00 盈利=-4.29 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4654.18 出场=4656.18 出场时间=1757841300 差价=-2.00 盈利=-4.30 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4638.94 出场=4640.94 出场时间=1757852100 差价=-2.00 盈利=-4.31 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-14号 做空(跌包涨) 入场=4611.10 出场=4613.10 出场时间=1757859300 差价=-2.00 盈利=-4.34 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-15号 做空(跌包涨) 入场=4614.31 出场=4616.31 出场时间=1757880900 差价=-2.00 盈利=-4.33 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-15号 做多(涨包跌) 入场=4625.02 出场=4623.02 出场时间=1757881800 差价=-2.00 盈利=-4.32 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-15号 做多(涨包跌) 入场=4633.11 出场=4631.11 出场时间=1757887200 差价=-2.00 盈利=-4.32 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.547 | INFO | __main__:<module>:203 - 2025-09-15号 做多(涨包跌) 入场=4613.11 出场=4611.11 出场时间=1757897100 差价=-2.00 盈利=-4.34 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-15号 做多(涨包跌) 入场=4648.63 出场=4646.63 出场时间=1757917800 差价=-2.00 盈利=-4.30 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-15号 做空(跌包涨) 入场=4649.44 出场=4619.44 出场时间=1757918700 差价=30.00 盈利=64.52 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-15号 做空(跌包涨) 入场=4512.58 出场=4514.58 出场时间=1757942100 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-15号 做空(跌包涨) 入场=4495.43 出场=4497.43 出场时间=1757944800 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-15号 做多(涨包跌) 入场=4525.94 出场=4523.94 出场时间=1757947500 差价=-2.00 盈利=-4.42 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4490.79 出场=4492.79 出场时间=1757954700 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做多(涨包跌) 入场=4509.17 出场=4507.17 出场时间=1757955600 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4492.05 出场=4494.05 出场时间=1757961000 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4504.03 出场=4506.03 出场时间=1758007800 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做多(涨包跌) 入场=4509.40 出场=4507.40 出场时间=1758017700 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做多(涨包跌) 入场=4499.52 出场=4497.52 出场时间=1758027600 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4452.65 出场=4422.65 出场时间=1758031200 差价=30.00 盈利=67.38 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4432.67 出场=4434.67 出场时间=1758033000 差价=-2.00 盈利=-4.51 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-16号 做空(跌包涨) 入场=4431.47 出场=4433.47 出场时间=1758036600 差价=-2.00 盈利=-4.51 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-17号 做空(跌包涨) 入场=4456.89 出场=4458.89 出场时间=1758042000 差价=-2.00 盈利=-4.49 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-17号 做空(跌包涨) 入场=4505.66 出场=4507.66 出场时间=1758062700 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.548 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4509.71 出场=4507.71 出场时间=1758069900 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4514.77 出场=4512.77 出场时间=1758073500 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做空(跌包涨) 入场=4504.68 出场=4506.68 出场时间=1758074400 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4514.08 出场=4544.08 出场时间=1758077100 差价=30.00 盈利=66.46 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4484.33 出场=4482.33 出场时间=1758087000 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4488.62 出场=4518.62 出场时间=1758089700 差价=30.00 盈利=66.84 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4542.19 出场=4540.19 出场时间=1758096900 差价=-2.00 盈利=-4.40 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4509.28 出场=4507.28 出场时间=1758100500 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做空(跌包涨) 入场=4501.62 出场=4503.62 出场时间=1758111300 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4487.46 出场=4485.46 出场时间=1758110400 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做空(跌包涨) 入场=4488.34 出场=4490.34 出场时间=1758112200 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-17号 做多(涨包跌) 入场=4504.61 出场=4502.61 出场时间=1758113100 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4479.74 出场=4481.74 出场时间=1758130200 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4515.40 出场=4545.40 出场时间=1758146400 差价=30.00 盈利=66.44 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4588.30 出场=4586.30 出场时间=1758156300 差价=-2.00 盈利=-4.36 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4582.77 出场=4584.77 出场时间=1758158100 差价=-2.00 盈利=-4.36 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4605.80 出场=4607.80 出场时间=1758170700 差价=-2.00 盈利=-4.34 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.550 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4566.39 出场=4596.39 出场时间=1758184200 差价=30.00 盈利=65.70 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4573.06 出场=4575.06 出场时间=1758183300 差价=-2.00 盈利=-4.37 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4590.38 出场=4592.38 出场时间=1758189600 差价=-2.00 盈利=-4.36 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4579.52 出场=4577.52 出场时间=1758195000 差价=-2.00 盈利=-4.37 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4579.26 出场=4577.26 出场时间=1758202200 差价=-2.00 盈利=-4.37 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做多(涨包跌) 入场=4586.05 出场=4616.05 出场时间=1758204900 差价=30.00 盈利=65.42 开仓手续费=5u 平仓手续费=5.03
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-18号 做空(跌包涨) 入场=4597.81 出场=4599.81 出场时间=1758207600 差价=-2.00 盈利=-4.35 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4604.49 出场=4574.49 出场时间=1758236400 差价=30.00 盈利=65.15 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4586.19 出场=4588.19 出场时间=1758226500 差价=-2.00 盈利=-4.36 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做多(涨包跌) 入场=4600.81 出场=4598.81 出场时间=1758229200 差价=-2.00 盈利=-4.35 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做多(涨包跌) 入场=4593.23 出场=4591.23 出场时间=1758235500 差价=-2.00 盈利=-4.35 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4589.06 出场=4591.06 出场时间=1758240000 差价=-2.00 盈利=-4.36 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4575.91 出场=4545.91 出场时间=1758253500 差价=30.00 盈利=65.56 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4531.36 出场=4533.36 出场时间=1758263400 差价=-2.00 盈利=-4.41 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做多(涨包跌) 入场=4540.41 出场=4538.41 出场时间=1758270600 差价=-2.00 盈利=-4.40 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做多(涨包跌) 入场=4529.15 出场=4527.15 出场时间=1758279600 差价=-2.00 盈利=-4.42 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.552 | INFO | __main__:<module>:203 - 2025-09-19号 做空(跌包涨) 入场=4511.11 出场=4513.11 出场时间=1758285900 差价=-2.00 盈利=-4.43 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-19号 做多(涨包跌) 入场=4525.80 出场=4523.80 出场时间=1758292200 差价=-2.00 盈利=-4.42 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4478.92 出场=4448.92 出场时间=1758304800 差价=30.00 盈利=66.98 开仓手续费=5u 平仓手续费=4.97
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4446.67 出场=4448.67 出场时间=1758309300 差价=-2.00 盈利=-4.50 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做多(涨包跌) 入场=4457.41 出场=4455.41 出场时间=1758310200 差价=-2.00 盈利=-4.49 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4450.16 出场=4452.16 出场时间=1758312000 差价=-2.00 盈利=-4.49 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4464.25 出场=4466.25 出场时间=1758331800 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4462.98 出场=4464.98 出场时间=1758343500 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做多(涨包跌) 入场=4473.81 出场=4471.81 出场时间=1758357900 差价=-2.00 盈利=-4.47 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做多(涨包跌) 入场=4475.08 出场=4473.08 出场时间=1758358800 差价=-2.00 盈利=-4.47 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做空(跌包涨) 入场=4463.10 出场=4465.10 出场时间=1758359700 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-20号 做多(涨包跌) 入场=4467.10 出场=4465.10 出场时间=1758376800 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4497.46 出场=4495.46 出场时间=1758385800 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4501.98 出场=4499.98 出场时间=1758387600 差价=-2.00 盈利=-4.44 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.553 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4481.03 出场=4479.03 出场时间=1758418200 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4476.19 出场=4474.19 出场时间=1758428100 差价=-2.00 盈利=-4.47 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4489.61 出场=4487.61 出场时间=1758438000 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做空(跌包涨) 入场=4458.35 出场=4460.35 出场时间=1758456900 差价=-2.00 盈利=-4.49 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4463.11 出场=4461.11 出场时间=1758458700 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做空(跌包涨) 入场=4463.11 出场=4465.11 出场时间=1758459600 差价=-2.00 盈利=-4.48 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做空(跌包涨) 入场=4473.53 出场=4475.53 出场时间=1758465900 差价=-2.00 盈利=-4.47 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-21号 做多(涨包跌) 入场=4480.92 出场=4478.92 出场时间=1758468600 差价=-2.00 盈利=-4.46 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做多(涨包跌) 入场=4490.50 出场=4488.50 出场时间=1758481200 差价=-2.00 盈利=-4.45 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做空(跌包涨) 入场=4292.37 出场=4294.37 出场时间=1758513600 差价=-2.00 盈利=-4.66 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做空(跌包涨) 入场=4191.34 出场=4193.34 出场时间=1758528900 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做多(涨包跌) 入场=4198.11 出场=4196.11 出场时间=1758531600 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做多(涨包跌) 入场=4180.00 出场=4178.00 出场时间=1758539700 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做多(涨包跌) 入场=4180.81 出场=4178.81 出场时间=1758542400 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做多(涨包跌) 入场=4205.64 出场=4203.64 出场时间=1758550500 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.554 | INFO | __main__:<module>:203 - 2025-09-22号 做空(跌包涨) 入场=4169.20 出场=4171.20 出场时间=1758556800 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4171.17 出场=4169.17 出场时间=1758565800 差价=-2.00 盈利=-4.79 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做空(跌包涨) 入场=4194.16 出场=4196.16 出场时间=1758590100 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4195.72 出场=4193.72 出场时间=1758591900 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4175.20 出场=4173.20 出场时间=1758600900 差价=-2.00 盈利=-4.79 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4192.98 出场=4222.98 出场时间=1758618000 差价=30.00 盈利=71.55 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4205.95 出场=4203.95 出场时间=1758614400 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做空(跌包涨) 入场=4202.18 出场=4204.18 出场时间=1758634200 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.555 | INFO | __main__:<module>:203 - 2025-09-23号 做空(跌包涨) 入场=4188.97 出场=4190.97 出场时间=1758624300 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-23号 做空(跌包涨) 入场=4182.03 出场=4184.03 出场时间=1758627000 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4193.37 出场=4191.37 出场时间=1758630600 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4196.04 出场=4194.04 出场时间=1758632400 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-23号 做多(涨包跌) 入场=4193.46 出场=4191.46 出场时间=1758635100 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-23号 做空(跌包涨) 入场=4172.60 出场=4174.60 出场时间=1758640500 差价=-2.00 盈利=-4.79 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做空(跌包涨) 入场=4155.55 出场=4157.55 出场时间=1758657600 差价=-2.00 盈利=-4.81 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做多(涨包跌) 入场=4157.98 出场=4155.98 出场时间=1758659400 差价=-2.00 盈利=-4.81 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做空(跌包涨) 入场=4149.58 出场=4151.58 出场时间=1758660300 差价=-2.00 盈利=-4.82 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做多(涨包跌) 入场=4163.67 出场=4161.67 出场时间=1758669300 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做多(涨包跌) 入场=4182.29 出场=4180.29 出场时间=1758668400 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.556 | INFO | __main__:<module>:203 - 2025-09-24号 做多(涨包跌) 入场=4182.22 出场=4180.22 出场时间=1758679200 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-24号 做空(跌包涨) 入场=4168.33 出场=4170.33 出场时间=1758703500 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-25号 做多(涨包跌) 入场=4167.78 出场=4165.78 出场时间=1758733200 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-25号 做空(跌包涨) 入场=4136.98 出场=4138.98 出场时间=1758761100 差价=-2.00 盈利=-4.83 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-25号 做空(跌包涨) 入场=4126.64 出场=4096.64 出场时间=1758763800 差价=30.00 盈利=72.70 开仓手续费=5u 平仓手续费=4.96
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-25号 做多(涨包跌) 入场=4099.29 出场=4097.29 出场时间=1758769200 差价=-2.00 盈利=-4.88 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-25号 做空(跌包涨) 入场=4006.85 出场=4008.85 出场时间=1758788100 差价=-2.00 盈利=-4.99 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.557 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3996.44 出场=3966.44 出场时间=1758817800 差价=30.00 盈利=75.07 开仓手续费=5u 平仓手续费=4.96
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做多(涨包跌) 入场=3941.93 出场=3971.93 出场时间=1758860100 差价=30.00 盈利=76.10 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做多(涨包跌) 入场=3957.78 出场=3955.78 出场时间=1758855600 差价=-2.00 盈利=-5.05 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3954.18 出场=3956.18 出场时间=1758858300 差价=-2.00 盈利=-5.06 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3942.70 出场=3912.70 出场时间=1758866400 差价=30.00 盈利=76.09 开仓手续费=5u 平仓手续费=4.96
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做多(涨包跌) 入场=3936.72 出场=3934.72 出场时间=1758874500 差价=-2.00 盈利=-5.08 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做多(涨包跌) 入场=3938.30 出场=3936.30 出场时间=1758877200 差价=-2.00 盈利=-5.08 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3932.34 出场=3934.34 出场时间=1758878100 差价=-2.00 盈利=-5.09 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3925.27 出场=3895.27 出场时间=1758880800 差价=30.00 盈利=76.43 开仓手续费=5u 平仓手续费=4.96
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3885.37 出场=3887.37 出场时间=1758882600 差价=-2.00 盈利=-5.15 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做多(涨包跌) 入场=3889.10 出场=3887.10 出场时间=1758888000 差价=-2.00 盈利=-5.14 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-26号 做空(跌包涨) 入场=3929.40 出场=3931.40 出场时间=1758899700 差价=-2.00 盈利=-5.09 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=3962.44 出场=3992.44 出场时间=1758906000 差价=30.00 盈利=75.71 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做空(跌包涨) 入场=4040.19 出场=4042.19 出场时间=1758913200 差价=-2.00 盈利=-4.95 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=4014.73 出场=4012.73 出场时间=1758922200 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做空(跌包涨) 入场=4024.47 出场=4026.47 出场时间=1758929400 差价=-2.00 盈利=-4.97 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做空(跌包涨) 入场=4020.16 出场=4022.16 出场时间=1758934800 差价=-2.00 盈利=-4.97 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.558 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=4021.02 出场=4019.02 出场时间=1758944700 差价=-2.00 盈利=-4.97 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=4017.62 出场=4015.62 出场时间=1758952800 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-27号 做空(跌包涨) 入场=4013.06 出场=4015.06 出场时间=1758955500 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=4014.17 出场=4012.17 出场时间=1758957300 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-27号 做多(涨包跌) 入场=4011.06 出场=4009.06 出场时间=1758973500 差价=-2.00 盈利=-4.99 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-27号 做空(跌包涨) 入场=4003.02 出场=4005.02 出场时间=1758976200 差价=-2.00 盈利=-5.00 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-28号 做空(跌包涨) 入场=4010.05 出场=4012.05 出场时间=1758990600 差价=-2.00 盈利=-4.99 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-28号 做多(涨包跌) 入场=3994.31 出场=3992.31 出场时间=1758996000 差价=-2.00 盈利=-5.01 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.559 | INFO | __main__:<module>:203 - 2025-09-28号 做多(涨包跌) 入场=3997.65 出场=3995.65 出场时间=1759002300 差价=-2.00 盈利=-5.00 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-28号 做空(跌包涨) 入场=4017.87 出场=4019.87 出场时间=1759014000 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-28号 做多(涨包跌) 入场=4019.97 出场=4017.97 出场时间=1759070700 差价=-2.00 盈利=-4.98 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4031.50 出场=4029.50 出场时间=1759079700 差价=-2.00 盈利=-4.96 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4043.59 出场=4041.59 出场时间=1759082400 差价=-2.00 盈利=-4.95 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4046.53 出场=4044.53 出场时间=1759095000 差价=-2.00 盈利=-4.94 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4126.21 出场=4128.21 出场时间=1759107600 差价=-2.00 盈利=-4.85 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4131.65 出场=4129.65 出场时间=1759109400 差价=-2.00 盈利=-4.84 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4107.23 出场=4109.23 出场时间=1759114800 差价=-2.00 盈利=-4.87 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4102.61 出场=4104.61 出场时间=1759116600 差价=-2.00 盈利=-4.87 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4119.60 出场=4117.60 出场时间=1759119300 差价=-2.00 盈利=-4.85 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4109.84 出场=4107.84 出场时间=1759125600 差价=-2.00 盈利=-4.87 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4097.93 出场=4099.93 出场时间=1759127400 差价=-2.00 盈利=-4.88 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4095.66 出场=4097.66 出场时间=1759131000 差价=-2.00 盈利=-4.88 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4100.79 出场=4102.79 出场时间=1759148100 差价=-2.00 盈利=-4.88 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做空(跌包涨) 入场=4102.21 出场=4104.21 出场时间=1759150800 差价=-2.00 盈利=-4.88 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.560 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4102.88 出场=4132.88 出场时间=1759152600 差价=30.00 盈利=73.12 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-29号 做多(涨包跌) 入场=4190.00 出场=4188.00 出场时间=1759158000 差价=-2.00 盈利=-4.77 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4153.21 出场=4151.21 出场时间=1759169700 差价=-2.00 盈利=-4.82 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4180.24 出场=4210.24 出场时间=1759177800 差价=30.00 盈利=71.77 开仓手续费=5u 平仓手续费=5.04
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4224.17 出场=4222.17 出场时间=1759187700 差价=-2.00 盈利=-4.73 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做空(跌包涨) 入场=4198.99 出场=4200.99 出场时间=1759199400 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4202.00 出场=4200.00 出场时间=1759201200 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4199.63 出场=4197.63 出场时间=1759203900 差价=-2.00 盈利=-4.76 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做空(跌包涨) 入场=4188.06 出场=4190.06 出场时间=1759216500 差价=-2.00 盈利=-4.78 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4168.93 出场=4166.93 出场时间=1759225500 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做空(跌包涨) 入场=4153.01 出场=4155.01 出场时间=1759231800 差价=-2.00 盈利=-4.82 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做多(涨包跌) 入场=4165.46 出场=4163.46 出场时间=1759236300 差价=-2.00 盈利=-4.80 开仓手续费=5u 平仓手续费=5.00
2025-10-09 17:07:20.561 | INFO | __main__:<module>:203 - 2025-09-30号 做空(跌包涨) 入场=4116.00 出场=4118.00 出场时间=1759247100 差价=-2.00 盈利=-4.86 开仓手续费=5u 平仓手续费=5.00
""" # 这里放入你提供的完整日志数据
# 计算最大回撤
results = calculate_max_drawdown(log_data)
def check_signal(prev, curr):
"""
判断是否出现反包形态:
1. 前一根阴线,后一根阳线,并且阳线包住前一根阴线 -> 做多信号
2. 前一根阳线,后一根阴线,并且阴线包住前一根阳线 -> 做空信号
"""
p_open, p_close = float(prev['open']), float(prev['close'])
c_open, c_close = float(curr['open']), float(curr['close'])
# 打印结果
print_analysis_results(results)
# 情况1前阴后阳且阳线包住前阴
if is_bullish(curr) and is_bearish(prev):
if c_open < p_close and c_close > p_open:
return "long"
# 可选绘制累计收益曲线需要matplotlib
try:
import matplotlib.pyplot as plt
# 情况2前阳后阴且阴线包住前阳
if is_bearish(curr) and is_bullish(prev):
if c_open > p_close and c_close < p_open:
return "short"
plt.figure(figsize=(12, 6))
plt.plot(results['cumulative_returns'], label='累计收益', linewidth=2)
plt.axhline(y=0, color='r', linestyle='--', alpha=0.7, label='盈亏平衡线')
return None
# 标记最大回撤区间
start_idx, end_idx = results['max_drawdown_period']
plt.axvspan(start_idx, end_idx, alpha=0.3, color='red', label='最大回撤区间')
plt.title('交易策略表现 - 累计收益曲线')
plt.xlabel('交易次数')
plt.ylabel('累计收益 (u)')
plt.legend()
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
def simulate_trade(direction, entry_price, future_candles, capital=10000, take_profit_ratio=5,
stop_loss_ratio=-2):
"""
模拟交易逐根K线回测
使用资金金额来控制止盈止损:
- 盈利达到 capital * take_profit_ratio 就止盈
- 亏损达到 capital * stop_loss_ratio 就止损
"""
for candle in future_candles:
high, low, close = float(candle['high']), float(candle['low']), float(candle['close'])
if direction == "long":
if high - entry_price >= take_profit_ratio:
return high, take_profit_ratio, candle['id'] # 止盈
if low - entry_price <= stop_loss_ratio:
return low, stop_loss_ratio, candle['id'] # 止损
elif direction == "short":
if entry_price - low >= take_profit_ratio:
return high, take_profit_ratio, candle['id'] # 止盈
if entry_price - low <= stop_loss_ratio:
return low, stop_loss_ratio, candle['id'] # 止损
# 如果未来都没触发,最后一根收盘平仓
final_price = float(future_candles[-1]['close'])
if direction == "long":
diff_money = (final_price - entry_price) / entry_price * capital
else:
diff_money = (entry_price - final_price) / entry_price * capital
return final_price, diff_money, future_candles[-1]['id']
# ================= 主程序 =================
if __name__ == '__main__':
if __name__ == '__main__':
zh_project = 0 # 累计盈亏
all_trades = [] # 保存所有交易明细
# 遍历 9月1日 ~ 9月27日
for i in range(1, 30):
sorted_data = fetch_kline(i) # 获取数据
signals = wins = 0
lig_price = low_price = 0 # 分别记录多/空的净收益
# 遍历每根K线寻找信号
for idx in range(1, len(sorted_data) - 2): # 留出未来K线
prev, curr = sorted_data[idx - 1], sorted_data[idx] # 前一笔,当前一笔
entry_candle = sorted_data[idx + 1] # 下一根开盘价作为入场价
future_candles = sorted_data[idx + 2:] # 未来行情
entry_open = float(entry_candle['open']) # 开仓价格
direction = check_signal(prev, curr) # 判断开仓方向
if direction:
signals += 1 # 总共信号数
exit_price, diff, exit_time = simulate_trade(direction, entry_open, future_candles)
# 统计多单/空单盈亏情况
if direction == "long":
lig_price += diff
if diff > 0: wins += 1
else:
low_price += diff
if diff > 0: wins += 1
# 保存交易详情
all_trades.append((f"{i}", entry_candle["id"], "做多" if direction == "long" else "做空",
entry_open, exit_price, diff, exit_time))
# 输出每日统计结果
if signals > 0:
logger.info(
f"日期:{i}号,信号数={signals}, 胜率={wins / signals * 100:.2f}%"
f"上涨方向={lig_price:.2f},下跌方向={low_price:.2f},综合={lig_price + low_price:.2f}"
)
else:
logger.info(f"日期:{i}号,没有信号")
# 累计盈亏
zh_project += (lig_price + low_price)
logger.success(f"综合价格:{zh_project:.2f}")
# ===== 输出每笔交易详情 =====
logger.info("===== 每笔交易详情 =====")
n = n1 = 0 # n = 总盈利n1 = 总手续费
for date, time_str, direction, entry, exit, diff, end_time in all_trades:
logger.info(
f"{date} {time_str} {direction} 入场={entry:.2f} 出场={exit:.2f} 出场时间={end_time} "
f"差价={diff:.2f} 盈利={diff / entry * 10000:.2f} "
f"开仓手续费=5u 平仓手续费={10000 / entry * exit * 0.0005:.2f}"
)
n1 += 5 + (10000 / entry * exit * 0.0005)
n += (diff / entry) * 10000
print(f'一共笔数:{len(all_trades)}')
print(f"一共盈利:{n:.2f}")
print(f'一共手续费:{n1:.2f}')
except ImportError:
print("如需可视化图表请安装matplotlib: pip install matplotlib")

View File

@@ -21,15 +21,15 @@ headers = {
}
def fetch_kline(day: int):
def fetch_kline(day: int, year: int = 2025, month: int = 9, period=1):
"""获取某一天的分钟级 K线数据"""
# 构造该日的起止时间戳
time_ser = datetime.datetime(2025, 10, day) # 修正为2024年9月
time_ser = datetime.datetime(year, month, day) # 修正为2024年9月
start_of_day = time_ser.replace(hour=0, minute=0, second=0, microsecond=0)
end_of_day = time_ser.replace(hour=23, minute=59, second=59, microsecond=0)
params = {
'symbol': 'ETH-USDT', # 交易对
'period': '1min', # 分钟级K线
'period': f'{period}min', # 分钟级K线
'start': int(start_of_day.timestamp()), # 开始时间
'end': int(end_of_day.timestamp()), # 结束时间
}
@@ -60,8 +60,8 @@ def check_signal(prev, curr):
3. 前涨后涨包住 -> 做多信号 (bull_bull_engulf)
4. 前跌后跌包住 -> 做空信号 (bear_bear_engulf)
"""
p_open, p_close = float(prev['open']), float(prev['close'])
c_open, c_close = float(curr['open']), float(curr['close'])
p_open, p_close = float(prev['open']), float(prev['close']) # 前一笔
c_open, c_close = float(curr['open']), float(curr['close']) # 当前一笔
# 情况1前跌后涨且涨线包住前跌线 -> 做多信号
if is_bullish(curr) and is_bearish(prev):
@@ -73,25 +73,30 @@ def check_signal(prev, curr):
if c_open > p_close and c_close < p_open:
return "short", "bull_bear_engulf"
# 情况3前涨后涨且后涨线包住前涨线 -> 做多信号
if is_bullish(curr) and is_bullish(prev):
if c_open < p_open and c_close > p_close:
return "long", "bull_bull_engulf"
# # 情况3前涨后涨且后涨线包住前涨线 -> 做多信号
# if is_bullish(curr) and is_bullish(prev):
# if c_open < p_open and c_close > p_close:
# return "long", "bull_bull_engulf"
# 情况4前跌后跌且后跌线包住前跌线 -> 做空信号
if is_bearish(curr) and is_bearish(prev):
if c_open > p_open and c_close < p_close:
return "short", "bear_bear_engulf"
# # 情况4前跌后跌且后跌线包住前跌线 -> 做空信号
# if is_bearish(curr) and is_bearish(prev):
# if c_open > p_open and c_close < p_close:
# return "short", "bear_bear_engulf"
return None, None
def simulate_trade(direction, entry_price, future_candles, take_profit_diff=10, stop_loss_diff=-2):
def simulate_trade(direction, entry_price, future_candles, take_profit_diff=30, stop_loss_diff=-10):
"""
模拟交易逐根K线回测
使用价差来控制止盈止损:
- 盈利达到 take_profit_diff 就止盈
- 亏损达到 stop_loss_diff 就止损
direction信号类型
entry_price开盘价格
future_candles未来的行情数据
"""
for candle in future_candles:
@@ -128,82 +133,75 @@ if __name__ == '__main__':
# 四种信号类型的统计
signal_stats = {
"bear_bull_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "跌包"},
"bull_bear_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "涨包"},
"bull_bull_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "涨包涨"},
"bear_bear_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "跌包跌"}
"bear_bull_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "包跌"},
"bull_bear_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "包涨"},
# "bull_bull_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "涨包涨"},
# "bear_bear_engulf": {"count": 0, "wins": 0, "total_profit": 0, "name": "跌包跌"}
}
datas = []
# 遍历 9月1日 ~ 9月27日
for i in range(1, 9):
sorted_data = fetch_kline(i) # 获取数据
for i in range(1, 31):
logger.info(i)
sorted_data = fetch_kline(year=2025, month=9, day=i, period=15) # 获取数据
daily_signals = 0
daily_wins = 0
daily_profit = 0
datas.extend(sorted_data)
# 遍历每根K线寻找信号
for idx in range(1, len(sorted_data) - 2): # 留出未来K线
prev, curr = sorted_data[idx - 1], sorted_data[idx] # 前一笔,当前一笔
entry_candle = sorted_data[idx + 1] # 下一根开盘价作为入场价
future_candles = sorted_data[idx + 2:] # 未来行情
sorted(datas, key=lambda x: x["id"])
entry_open = float(entry_candle['open']) # 开仓价格
direction, signal_type = check_signal(prev, curr) # 判断开仓方向和信号类型
daily_signals = 0 # 信号总数
daily_wins = 0
daily_profit = 0 # 价差总和
if direction and signal_type:
daily_signals += 1
exit_price, diff, exit_time = simulate_trade(direction, entry_open, future_candles)
# 遍历每根K线寻找信号
for idx in range(1, len(datas) - 2): # 留出未来K线
prev, curr = datas[idx - 1], datas[idx] # 前一笔,当前一笔
entry_candle = datas[idx + 1] # 下一根开盘价作为入场价
future_candles = datas[idx + 2:] # 未来行情
# 统计该信号类型的表现
signal_stats[signal_type]["count"] += 1
signal_stats[signal_type]["total_profit"] += diff
if diff > 0:
signal_stats[signal_type]["wins"] += 1
daily_wins += 1
entry_open = float(entry_candle['open']) # 开仓价格
direction, signal_type = check_signal(prev, curr) # 判断开仓方向和信号类型
daily_profit += diff
if direction and signal_type:
daily_signals += 1
# 保存交易详情
all_trades.append((f"{i}", entry_candle["id"], "做多" if direction == "long" else "做空",
signal_stats[signal_type]["name"], entry_open, exit_price, diff, exit_time))
exit_price, diff, exit_time = simulate_trade(direction, entry_open, future_candles,take_profit_diff=30, stop_loss_diff=-2)
# 输出每日统计结果
if daily_signals > 0:
win_rate = daily_wins / daily_signals * 100
logger.info(
f"日期:{i}号,信号数={daily_signals}, 胜率={win_rate:.2f}%"
f"当日盈亏={daily_profit:.2f}"
# 统计该信号类型的表现
signal_stats[signal_type]["count"] += 1
signal_stats[signal_type]["total_profit"] += diff
if diff > 0:
signal_stats[signal_type]["wins"] += 1
daily_wins += 1
daily_profit += diff
# 将时间戳转换为本地时间
local_time = datetime.datetime.fromtimestamp(entry_candle['id'])
formatted_time = local_time.strftime("%Y-%m-%d")
# 保存交易详情
all_trades.append(
(
f"{formatted_time}",
"做多" if direction == "long" else "做空",
signal_stats[signal_type]["name"],
entry_open,
exit_price,
diff,
exit_time
)
)
else:
logger.info(f"日期:{i}号,没有信号")
# 累计盈亏
zh_project += daily_profit
logger.success(f"综合盈亏:{zh_project:.2f}")
# 输出四种信号类型的统计结果
logger.info("===== 四种信号类型统计 =====")
for signal_type, stats in signal_stats.items():
if stats["count"] > 0:
win_rate = stats["wins"] / stats["count"] * 100
logger.info(
f"{stats['name']}: 信号数={stats['count']}, 胜率={win_rate:.2f}%, "
f"总盈亏={stats['total_profit']:.2f}, 平均盈亏={stats['total_profit'] / stats['count']:.2f}"
)
else:
logger.info(f"{stats['name']}: 无信号")
# ===== 输出每笔交易详情 =====
logger.info("===== 每笔交易详情 =====")
n = n1 = 0 # n = 总盈利n1 = 总手续费
for date, time_str, direction, signal_name, entry, exit, diff, end_time in all_trades:
for date, direction, signal_name, entry, exit, diff, end_time in all_trades:
profit_amount = diff / entry * 10000 # 计算盈利金额
close_fee = 10000 / entry * exit * 0.0005 # 平仓手续费
logger.info(
f"{date} {time_str} {direction}({signal_name}) 入场={entry:.2f} 出场={exit:.2f} 出场时间={end_time} "
f"{date} {direction}({signal_name}) 入场={entry:.2f} 出场={exit:.2f} 出场时间={end_time} "
f"差价={diff:.2f} 盈利={profit_amount:.2f} "
f"开仓手续费=5u 平仓手续费={close_fee:.2f}"
)
@@ -213,4 +211,3 @@ if __name__ == '__main__':
print(f'一共笔数:{len(all_trades)}')
print(f"一共盈利:{n:.2f}")
print(f'一共手续费:{n1:.2f}')

View File

@@ -1,216 +1,169 @@
import datetime
import itertools
import random
import time
import requests
from loguru import logger
from typing import List, Dict, Tuple, Optional
# 请求头(模拟浏览器请求,避免被拒绝)
headers = {
# ================== 常量配置 ==================
BASE_URL = "https://capi.websea.com/webApi/market/getKline"
HEADERS = {
'accept': 'application/json, text/plain, */*',
'accept-language': 'zh,zh-CN;q=0.9,zh-HK;q=0.8,en;q=0.7',
'cache-control': 'no-cache',
'origin': 'https://www.websea.com',
'pragma': 'no-cache',
'priority': 'u=1, i',
'referer': 'https://www.websea.com/',
'sec-ch-ua': '"Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
}
SYMBOL = "ETH-USDT"
PERIOD = "15min"
TAKE_PROFIT_DIFF = 30
STOP_LOSS_DIFF = -2
def fetch_kline(yue, day: int, ):
"""
获取某一天的分钟K线数据
:param day: 日期中的“日”比如27表示2025-09-27
:return: 按时间顺序排序后的K线数据
"""
time_ser = datetime.datetime(2025, yue, day)
# ================== 数据获取 ==================
def fetch_kline(day: int, year: int = 2025, month: int = 9) -> List[Dict]:
"""获取指定日期的K线数据按时间升序返回"""
try:
date = datetime.datetime(year, month, day)
start = int(date.replace(hour=0, minute=0, second=0).timestamp())
end = int(date.replace(hour=23, minute=59, second=59).timestamp())
params = {"symbol": SYMBOL, "period": PERIOD, "start": start, "end": end}
resp = requests.get(BASE_URL, params=params, headers=HEADERS, timeout=10)
resp.raise_for_status()
data = resp.json().get("result", {}).get("data", [])
return sorted(data, key=lambda x: x["id"])
except Exception as e:
logger.error(f"获取 {day} 号数据失败: {e}")
return []
# 当天 0点
start_of_day = time_ser.replace(hour=0, minute=0, second=0, microsecond=0)
# 当天 23:59:59
end_of_day = time_ser.replace(hour=23, minute=59, second=59, microsecond=0)
# API 参数
params = {
'symbol': 'ETH-USDT', # 交易对
'period': '1min', # 1分钟K线
'start': int(start_of_day.timestamp()), # 开始时间戳
'end': int(end_of_day.timestamp()), # 结束时间戳
# ================== K线辅助函数 ==================
def is_bullish(candle: Dict) -> bool:
return float(candle["open"]) < float(candle["close"])
def is_bearish(candle: Dict) -> bool:
return float(candle["open"]) > float(candle["close"])
def check_signal(prev: Dict, curr: Dict) -> Tuple[Optional[str], Optional[str]]:
"""检测K线形态信号"""
p_open, p_close = float(prev["open"]), float(prev["close"])
c_open, c_close = float(curr["open"]), float(curr["close"])
if is_bullish(curr) and is_bearish(prev) and c_open < p_close and c_close > p_open:
return "long", "bear_bull_engulf" # 涨包跌
if is_bearish(curr) and is_bullish(prev) and c_open > p_close and c_close < p_open:
return "short", "bull_bear_engulf" # 跌包涨
return None, None
# ================== 回测函数 ==================
def simulate_trade(direction: str, entry_price: float, future: List[Dict],
take_profit_diff: float, stop_loss_diff: float) -> Tuple[float, float, int]:
"""基于未来K线模拟止盈止损"""
for candle in future:
high, low, close = map(float, (candle["high"], candle["low"], candle["close"]))
cid = candle["id"]
if direction == "long":
if high >= entry_price + take_profit_diff:
return entry_price + take_profit_diff, take_profit_diff, cid
if low <= entry_price + stop_loss_diff:
return entry_price + stop_loss_diff, stop_loss_diff, cid
elif direction == "short":
if low <= entry_price - take_profit_diff:
return entry_price - take_profit_diff, take_profit_diff, cid
if high >= entry_price - stop_loss_diff:
return entry_price - stop_loss_diff, stop_loss_diff, cid
final_close = float(future[-1]["close"])
diff = final_close - entry_price if direction == "long" else entry_price - final_close
return final_close, diff, future[-1]["id"]
# ================== 主程序 ==================
def main():
all_trades = []
total_profit = 0.0
signal_stats = {
"bear_bull_engulf": {"count": 0, "wins": 0, "profit": 0.0, "name": "涨包跌"},
"bull_bear_engulf": {"count": 0, "wins": 0, "profit": 0.0, "name": "跌包涨"},
}
# 请求接口
response = requests.get('https://capi.websea.com/webApi/market/getKline', params=params, headers=headers)
data = response.json()['result']['data']
for day in range(1, 31):
data = fetch_kline(year=2025, month=9, day=day)
if not data:
continue
# 返回按 id(时间) 排序的列表
return sorted(data, key=lambda x: x['id'])
daily_signals = daily_wins = 0
daily_profit = 0.0
for i in range(1, len(data) - 2):
prev, curr = data[i - 1], data[i]
entry_candle = data[i + 1]
future_candles = data[i + 2:]
def backtest_kline(sorted_data, day):
"""
回测策略逻辑
规则:
- 做多:连续两根阳线,第二根包住第一根
- 做空:连续两根阴线,第二根包住第一根
止盈止损:
- 多单:止盈+0.15%,止损-0.2%
- 空单:止盈-0.15%,止损+0.2%
"""
direction, signal_type = check_signal(prev, curr)
if not direction:
continue
signals = wins = 0 # 统计信号总数、胜率
lig_price = low_price = 0 # 多单收益、空单收益
all_trades = [] # 存储所有交易详情
# 遍历 K 线,至少需要 3 根(前一根+当前+下一根开仓)
for idx in range(1, len(sorted_data) - 2):
prev = sorted_data[idx - 1] # 前一根K线
curr = sorted_data[idx] # 当前K线
entry_candle = sorted_data[idx + 1] # 下一根K线用于入场
prev_open, prev_close = float(prev['open']), float(prev['close'])
curr_open, curr_close = float(curr['open']), float(curr['close'])
entry_open = float(entry_candle['open']) # 入场价
trade_signal = None # 信号类型long / short
# ======================== 做多条件 ========================
if (
curr_close > curr_open and prev_close > prev_open and # 连续两根阳线
curr_open < prev_open and curr_close > prev_close # 当前包住前一根
):
trade_signal = "long"
# ======================== 执行交易 ========================
if trade_signal:
signals += 1
# 设定止盈止损
if trade_signal == "long":
take_profit = entry_open + 4
stop_loss = entry_open - 2
exit_price = None # 出场价格
exit_time = None # 出场时间
# 遍历后续K线寻找止盈/止损
for future in sorted_data[idx + 2:]:
high, low, close = float(future['high']), float(future['low']), float(future['close'])
if trade_signal == "long":
if high >= take_profit: # 触发止盈
exit_price = take_profit
exit_time = future["id"]
break
if low <= stop_loss: # 触发止损
exit_price = stop_loss
exit_time = future["id"]
break
# 如果没触发止盈止损,用最后一根收盘价离场
if exit_price is None:
exit_price = float(sorted_data[-1]['close'])
exit_time = sorted_data[-1]["id"]
# ======================== 盈亏计算 ========================
if trade_signal == "long":
diff = exit_price - entry_open # 多单盈亏
lig_price += diff
else:
diff = entry_open - exit_price # 空单盈亏
low_price += diff
# 保存交易详情
all_trades.append(
(f"{day}", entry_candle["id"], "做多" if trade_signal == "long" else "做空",
entry_open, exit_price, diff, exit_time)
entry_price = float(entry_candle["open"])
exit_price, diff, exit_id = simulate_trade(
direction, entry_price, future_candles, TAKE_PROFIT_DIFF, STOP_LOSS_DIFF
)
# 统计胜率
daily_signals += 1
daily_profit += diff
signal_stats[signal_type]["count"] += 1
signal_stats[signal_type]["profit"] += diff
if diff > 0:
wins += 1
daily_wins += 1
signal_stats[signal_type]["wins"] += 1
return signals, wins, lig_price, low_price, all_trades
all_trades.append({
"date": f"{day}",
"entry_id": entry_candle["id"],
"direction": "做多" if direction == "long" else "做空",
"signal": signal_stats[signal_type]["name"],
"entry": entry_price,
"exit": exit_price,
"diff": diff,
"exit_id": exit_id,
})
if daily_signals:
win_rate = daily_wins / daily_signals * 100
logger.info(f"{day}号: 信号={daily_signals}, 胜率={win_rate:.2f}%, 盈亏={daily_profit:.2f}")
else:
logger.info(f"{day}号: 无信号")
if __name__ == '__main__':
zh_project = 0
all_trades = []
total_profit += daily_profit
total_profit = 0 # 总利润
total_handling_fee = 0 # 总手续费
# 回测 9月27日的数据
for i, j in itertools.product(range(9, 10), range(1, 30)):
sorted_data = fetch_kline(i, j)
signals, wins, lig_price, low_price, trades = backtest_kline(sorted_data, i)
# # 输出当天结果
# if signals > 0:
# logger.info(
# f"日期:{i}号,信号数={signals}, 胜率={wins / signals * 100:.2f}%"
# f"上涨方向:{lig_price:.2f},下跌方向:{low_price:.2f}"
# f"综合价格:{(lig_price + low_price):.2f}"
# )
# else:
# logger.info(f"日期:{i}号,没有信号")
zh_project += (lig_price + low_price)
all_trades.extend(trades)
n = n1 = 0 # n: 总盈利, n1: 总手续费
for trade in trades:
date, time_str, direction, entry, exit, diff, end_time = trade
fee_open = 5 # 固定开仓手续费
fee_close = 10000 / entry * exit * 0.0005 # 平仓手续费
logger.success(f"✅ 综合盈亏:{total_profit:.2f}")
# 信号统计
logger.info("===== 信号类型统计 =====")
for k, v in signal_stats.items():
if v["count"]:
wr = v["wins"] / v["count"] * 100
logger.info(
f"{date} {time_str} {direction} 入场={entry:.2f} 出场={exit:.2f} 出场时间:{end_time} "
f"差价={diff:.2f} 盈利:{diff / entry * 10000:.2f} "
f"开仓手续费:{fee_open:.2f} 平仓手续费:{fee_close:.2f}"
)
f"{v['name']} 信号={v['count']}, 胜率={wr:.2f}%, 总盈亏={v['profit']:.2f}, 均盈亏={v['profit'] / v['count']:.2f}")
else:
logger.info(f"{v['name']} 无信号")
n1 += fee_open + fee_close
n += (diff / entry) * 10000
# 交易明细
total_fee = total_gain = 0.0
logger.info("===== 每笔交易详情 =====")
for t in all_trades:
profit = t["diff"] / t["entry"] * 10000
close_fee = 10000 / t["entry"] * t["exit"] * 0.0005
total_gain += profit
total_fee += 5 + close_fee
logger.info(
f"{t['date']} {t['entry_id']} {t['direction']}({t['signal']}) 入={t['entry']:.2f} 出={t['exit']:.2f} 差={t['diff']:.2f} 盈={profit:.2f} 手续费={5 + close_fee:.2f}")
# 输出汇总结果
logger.warning(f'一共笔数:{len(trades)} 一共盈利:{n:.2f} 一共手续费:{n1:.2f}')
logger.info(f"总笔数:{len(all_trades)} 总盈利:{total_gain:.2f} 总手续费:{total_fee:.2f}")
total_profit += n
total_handling_fee += n1
# time.sleep(random.random() * 2)
print(f"总利润:{total_profit} 总手续费:{total_handling_fee}")
# # ======================== 汇总输出 ========================
# logger.success(f"综合价格:{zh_project:.2f}")
#
# logger.info("===== 每笔交易详情 =====")
# n = n1 = 0 # n: 总盈利, n1: 总手续费
# for trade in all_trades:
# date, time_str, direction, entry, exit, diff, end_time = trade
#
# fee_open = 5 # 固定开仓手续费
# fee_close = 10000 / entry * exit * 0.0005 # 平仓手续费
#
# logger.info(
# f"{date} {time_str} {direction} 入场={entry:.2f} 出场={exit:.2f} 出场时间:{end_time} "
# f"差价={diff:.2f} 盈利:{diff / entry * 10000:.2f} "
# f"开仓手续费:{fee_open:.2f} 平仓手续费:{fee_close:.2f}"
# )
#
# n1 += fee_open + fee_close
# n += (diff / entry) * 10000
#
# # 输出汇总结果
# print(f'一共笔数:{len(all_trades)}')
# print(f"一共盈利:{n:.2f}")
# print(f'一共手续费:{n1:.2f}')
if __name__ == "__main__":
main()