金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7179|回复: 11

编程问题

[复制链接]

47

主题

83

帖子

83

积分

等级: 免费版

注册:
2021-8-6
曾用名:
发表于 2022-9-3 10:12 | 显示全部楼层 |阅读模式
您好
下面的策略,要求收盘前5分钟,清仓。做不到,请老师帮忙修改

DIFF :=EMA(CLOSE,3) - EMA(CLOSE,2);
DEA  :=EMA(DIFF,2);
MACD :=2*(DIFF-DEA);

手数:=1;
//交易条件

开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);


if time=185500 then
begin
sell(1,holding,market);
sellshort(1,holding,market);        
END



回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-9-5 09:12 | 显示全部楼层
这个没问题,你看下图上1855这个k上没有平仓吗

if time=185500 then
begin
sell(1,holding,market);
sellshort(1,holding,market);        
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

47

主题

83

帖子

83

积分

等级: 免费版

注册:
2021-8-6
曾用名:
 楼主| 发表于 2022-9-5 15:07 | 显示全部楼层
您好

下图用的就是上面的程序,今天收盘前没有全部平仓,请帮看看问题
截图202209051507051372.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-5 15:22 | 显示全部楼层
你策略加载到品种上了吗?你看下你加载的K线图上 有信号吗?
首先图上有信号,才能执行到。另外 图表模型你应该知道是加载了什么品种 才会执行什么品种吧。你账户栏这么多品种,你需要每一个都设置一个窗口 且加载上面的策略 然后运行程序化才行。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

47

主题

83

帖子

83

积分

等级: 免费版

注册:
2021-8-6
曾用名:
 楼主| 发表于 2022-9-5 17:34 | 显示全部楼层
您好

请看截图,我用的都是2301合约
截图202209051733291122.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-5 17:48 | 显示全部楼层
你这个周期是15分钟,上面那个是按照5分钟执行的。

mark:=0;
N:=60;
abb:timetot0(CLOSETIME(0))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:timetot0(CLOSETIME(0))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间,在最新K上会一直变动。因为这个返回的是具体秒数
IF  (abb<N and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N) THEN MARK:=1;



if MARK  then //兼顾实际交易时候的信号和历史回测信号
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);        
DRAWICON(1,h,1);
end


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

使用道具 举报

47

主题

83

帖子

83

积分

等级: 免费版

注册:
2021-8-6
曾用名:
 楼主| 发表于 2022-9-5 20:41 | 显示全部楼层
您好

不管周期,只要到14:55就清空所有仓位,请问如何写?谢谢
回复

使用道具 举报

37

主题

9972

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-9-6 08:22 | 显示全部楼层
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-6 08:41 | 显示全部楼层
你就用6楼代码,然后把N 调整到收盘前5分钟 即 5*60 就行了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

47

主题

83

帖子

83

积分

等级: 免费版

注册:
2021-8-6
曾用名:
 楼主| 发表于 2022-9-6 19:50 | 显示全部楼层
您好,

下午的测试,还是没有收盘前全部清仓,请老师帮忙


补充内容 (2022-9-6 21:58):
DIFF :=EMA(CLOSE,3) - EMA(CLOSE,2);
DEA  :=EMA(DIFF,2);
MACD :=2*(DIFF-DEA);

手数:=1;
//交易条件

开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件

老师,全部如上
截图202209061950116721.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 19:05 , Processed in 0.146099 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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