金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2278|回复: 11

请教老师实现代码

[复制链接]

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
发表于 2024-7-10 17:53 | 显示全部楼层 |阅读模式
老师:
后台程序化,我想实现每天三个时段(9:00~11:30,13:30~15:00,21:00~23:00),每个时段平仓盈利+浮动盈利 >=500元就停止交易,触发条件时清仓持有品种及未成交委托单并在本时段不再开仓。
请老师帮忙实现一下,谢谢!
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-11 09:01 | 显示全部楼层
ti1:currenttime>090000 and currenttime<113000;

就这样每个时间段都自己罗列好
每个时段平仓盈利+浮动盈利 >=500元就停止交易
这种没办法处理的,除非自己记录每个时刻所有交易细节,这个非常复杂不好编写
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2024-7-11 09:15 | 显示全部楼层
技术008 发表于 2024-7-11 09:01
ti1:currenttime>090000 and currenttime=500元就停止交易
这种没办法处理的,除非自己记录每个时刻所有交 ...

那采用当日总计呢,例如每日15:00前盘前,盘中平仓盈利+浮动盈利 >=1500元就停止交易,并且平掉所有持仓及撤销未成交委托单,谢谢!
麻烦老师了帮忙明确下代码。
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-11 09:18 | 显示全部楼层
if TACCOUNT(30)+TACCOUNT( 4)<=1500 then
begin
        开仓代码
END

if TACCOUNT(30)+TACCOUNT( 4)>1500 then
begin
        tsell(1,tbuyholding(1),mkt);
        tsellshort(1,tsellholding(1),mkt);
        TCANCEL(1,0);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2024-7-19 09:02 | 显示全部楼层
技术008 发表于 2024-7-11 09:18
if TACCOUNT(30)+TACCOUNT( 4)1500 then
begin
        tsell(1,tbuyholding(1),mkt);

QS1:=IF(TACCOUNT(30)+TACCOUNT( 4)<=300,1,0);

IF QS1=0 THEN
BEGIN
        TSELL(1,BC_AG,LMT,DYNAINFO2(20,_AG)-HD,0,AC,_AG); ;
        TSELLSHORT(1,SC_AG,LMT,DYNAINFO2(21,_AG)+HD,0,AC,_AG);
        TCANCEL(1,0);
END

IF 开仓条件 AND QS1=1 THEN BEGIN
TBUY,,,,,,,,,
END

改成上述代码了,但是发现QS1条件达到在限制开仓后,还会有新的开仓进来,请问是什么原因,是否还要EXIT,DO之类的控制函数?
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-19 09:07 | 显示全部楼层
你qs1是怎么定义的
建议配合debugfile自己输出下qs1的值看下,看下这个变量情况是如何赋值的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2024-7-19 09:51 | 显示全部楼层
技术008 发表于 2024-7-19 09:07
你qs1是怎么定义的
建议配合debugfile自己输出下qs1的值看下,看下这个变量情况是如何赋值的

QS1:=IF(TACCOUNT(30)+TACCOUNT( 4)<=300,1,0);
昨天晚上出现这个情况,而且是开仓后一两秒就平仓了,今天上午又没问题了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-19 09:53 | 显示全部楼层
建议代码里加上debugfile跟踪下这个值
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

193

帖子

193

积分

等级: 免费版

注册:
2023-4-11
曾用名:
 楼主| 发表于 2024-7-19 10:55 | 显示全部楼层
技术008 发表于 2024-7-19 09:53
建议代码里加上debugfile跟踪下这个值

老师你就看下我上述代码写的正确吗?DEBUGFILE跟踪就算有异常也是代码造成的,总不会是软件问题吧,这种情况非连续发生,一两个小时不会开仓,后来又有新开了。
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-19 11:03 | 显示全部楼层
一根k线同一个语句只会开仓一次,你看下你监控的是什么周期的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-23 20:11 , Processed in 0.108331 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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