金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7897|回复: 26

buy ......at c stop

[复制链接]

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
发表于 2022-2-24 14:34 | 显示全部楼层 |阅读模式
金字塔 开仓 buy( or buyshort) 语句 是否支撑  像MC系统等的 开仓语句  buy ... at price stop, 即:当价格站上 price 时开多单,这种方式就解决了 30分钟、60分钟 等周期  的开仓等待问题,一旦这样方式 发出开仓语句,则会在下一个30分钟 周期 中 任何一个 满足条件 c > price 是即刻开仓,而不是等本周起30分钟结束后才去开仓?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-2-24 14:39 | 显示全部楼层
金字塔中没有开仓等待这种报单方式,只有满足开仓条件立即报单和走完K线报单这两种。你的这种需求只能自己在条件中进行定义来实现什么时候报单了,例如:
if   ref(开仓条件,1)=1 and  c>price  then
     buy();                  //上根K线满足开仓条件,并且当前价格大于price,则立即报单。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-2-25 14:11 | 显示全部楼层
问:当前一个通用策略交易:10个商品品种的指数,由于指数交易的效果回测与实际有衰减,因此我通过再指数上产生信号,然后再主力合约开仓,这是 如何定义跨品种的指数合约名称?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-2-25 14:16 | 显示全部楼层
图表程序化交易,需要设置下单品种另指定,跨品种之间也是可以设置的,如下图:
截图202202251414509754.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-2-25 14:17 | 显示全部楼层
直接运行在指数合约上就行了,然后下单时候勾选映射下单到主力合约上
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-2-25 14:53 | 显示全部楼层
我是想用商品品种的指数合约测试发出买卖信号,然后成交到其对应的主力合约上,10个指数品种对于到其10主力合约,要回测这种情况的投资、回测和资金曲线,以判断策略是否合格,如何进行回测(不是图表交易)。其他软件把要成交的合约(主力合约)定为data1, 指数合约生成信号,作为data2数据。金字塔没有data1 和data2 这种分法,如何才能实现 这种回测?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-2-25 14:57 | 显示全部楼层
那只能在回测时对象选择下单的品种,需要修改测试代码,在回测的代码中使用callstock函数跨品种获取指定的指数合约的数据进行计算。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-2-25 15:11 | 显示全部楼层
TB 和 MC 的策略是 把 代码 和数据组合形成策略,金子塔 数据类型必须写入代码,及代码中写死,如果是40指数合约,成交到其主力合约,就得把同一个策略逻辑 分成40给策略,每个策略都得写死去指数品种,这样策略开发组合性就差了
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-2-25 17:27 | 显示全部楼层
问题:40个品种回测,分配等值的资金,比如1000000元(每个品种),fund:=1000000, fund_double:=0.1(表示放大10倍保证金),当fund<5时,表示5手以内按实际手数算,5-100之间按 百分比lots%算,100以上计算放大的资金量的所能开的手数,问题时如果后复权后,以前价格完全变量,导致资金手数计算开仓数据会很大,测试会不准,如何解决?  见如下代码:
if holding =0 and (kd and direction>=0 or kk and direction<=0) then
begin
        if fund <= 100 then     //only 1 part or lots% case, don't need to be divided into NDAY_hold part
                lots:= intpart(fund);      
        else // fund > 100  => calc the amount of stock
                lots:= max(1,intpart(fund / (open*MULTIPLIER*fund_double)  ) );
               
        if fund < 5 or fund > 100 then
            begin
                    buy(kd,lots,market);
                    buyshort(kk,lots,market);
                end;
        else
            begin
                    buy(kd,lots%,market);
                    buyshort(kk,lots%,market);
                end;       
end;
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-2-25 17:31 | 显示全部楼层
你是回测想使用复权数据,但是计算手数的时候又想要原始数据?你可以使用OOPEN原始开盘价来计算手数啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 13:57 , Processed in 0.132575 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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