金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100021030

python逻辑相关问题

[复制链接]

7

主题

90

帖子

90

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-3-13 10:58 | 显示全部楼层
另外问下,商品分时均价怎么算出来的,我用get_dynainf只能取到当前均价,我想用之前的均价就取不到了,想自己算。我看了下并不是简单的1分钟收盘价算平均。
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-3-13 11:30 | 显示全部楼层
本帖最后由 技术009 于 2025-3-13 11:33 编辑

1. 再加个日期不就行了.
from datetime import datetime , timedelta
datetime.now()+timedelta(hours=4)+timedelta(days=2)

2.
[Python] 复制代码


from PythonApi import *
import time
import math
import os 

import datetime
import pandas as pd
import numpy as np
from PythonApi import *
import pandas as pd


def init(context):
    pass


def handle_bar(context):   
    code = context.run_info.base_book_id
    #Point是最小变动价位的小数位
    point = round(get_dynainf(code,208),7)
    
    if int(point)>0:
        point = 0
    else:
        point = len(str(point).split(".")[1])
    start_date = '2025-03-13 01:00:00'
    end_date = '2025-03-13 19:00:00' 
    dt = history_bars_date(code,start_date,end_date,'1m',['close','datetime','volume'])


    ndr = []
    sum1 = 0
    sum2 = 0
    for it in dt:
        c = np.around(it[0],decimals=point+1)
        vol =it[2]
        strx = str(int(it[1]))
        date = strx[0:8]
        time = strx[8:]
        sum1 =sum1 + c*vol
        sum2 = sum2+vol
        result =round(sum1/sum2,point+1)
        ndr.append([date,time,result])
        if time == '190000':             
            sum1 = 0
            sum2 = 0
    df = pd.DataFrame(ndr,columns=['Date','time','settle'])
    print(df.iloc[-5:, 1:])





金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

90

帖子

90

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-3-26 09:58 | 显示全部楼层
有什么办法可以实现逐笔回测嘛,目前我看金字塔只能支持按照取值周期回测,基本没意义。多个取值周期,就会取到未来值。如果自建数据库,也就是取数不用history_bar函数,但是复用金字塔下单系统
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-3-26 11:05 | 显示全部楼层
可以先在小周期上重新统计一组数据,然后拿来修改大周期最后位置的K的数值来模拟当时的情况。
例如在小周期重新统计出一个5分钟K的不完整的K结果,来覆盖到大周期数组的最后位置的值,再用来算指标。   这个思路没有实践过,理论上可行,只是不确定效率如何。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-4-10 11:16 , Processed in 0.138564 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表