金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2472|回复: 9

如何把涨停模块加入下面的程序里

[复制链接]

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
发表于 2023-7-31 12:57 | 显示全部楼层 |阅读模式
今天发现下面的涨停模块写的不一定对,涨停的股票如600779又出现了开仓闪烁现象,请老师帮我看看,修改一下,看涨停模块如何加载?


D1:=CALLSTOCK('',vtCLOSE,6,-1);//昨日收盘价
ZT:=(rounds(D1*1.10,2)<=rounds(close,2));//涨停返回1 ,否则返回0
DT:=(rounds(D1*0.9,2)>=rounds(close,2));//跌停返回1 ,否则返回0
cd:=not(zt or dt);


MA20:MA(C,n),LINETHICK2,;//定义20周期均线
//MA120:MA(C,320),LINETHICK2,;//定义20周期均线

X周期高点:=REF(HHV(H,x),1 and cd ),LINETHICK1,;
y周期低点:=REF(LLV(L,y),1 and cd),LINETHICK1,;

//交易条件:

开多条件:=High>=X周期高点 and holding<=0,;
平多条件:=Low<=y周期低点  and holding>=0,;

//交易系统

平多:sell(平多条件 and 可平>0,手数,LIMITR,y周期低点),;
开多:buy(开多条件  and holding=0,手数,LIMITR,X周期高点),;

//止盈
IF ref(((C-AVGENTERPRICE)/AVGENTERPRICE),1 )>0.01*zy THEN BEGIN
止盈:SELL(可平>0 and cd ,手数,limitr,open );
END





补充内容 (2023-7-31 13:02):
我用的是固定间隔的限价交易
回复

使用道具 举报

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
 楼主| 发表于 2023-7-31 12:58 | 显示全部楼层


补充内容 (2023-7-31 12:59):
上面是我修改后的策略,请老师看看对不对?

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 13:06 | 显示全部楼层
那个涨跌停写法是没问题的。

它判断的就是当前有没有涨停,它是用当前收盘价判断的,如果现在收盘价不满足涨停了,cd的结果自然是会发生变化 进而影响到你模型信号的。

你可以把涨跌停的判断改成判断当前K是否满足过涨停。即以H,L代替收盘价判断是否涨停,跌停。和你的开平判断条件 保持一致。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
 楼主| 发表于 2023-7-31 13:13 | 显示全部楼层
技术009 发表于 2023-7-31 13:06
那个涨跌停写法是没问题的。

它判断的就是当前有没有涨停,它是用当前收盘价判断的,如果现在收盘价不满 ...

请老师给我改一下吧
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-31 13:14 | 显示全部楼层
ZT:=(rounds(D1*1.10,2)<=rounds(H,2));//涨停返回1 ,否则返回0
DT:=(rounds(D1*0.9,2)>=rounds(L,2));//跌停返回1 ,否则返回0
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
 楼主| 发表于 2023-7-31 13:15 | 显示全部楼层
D1:=CALLSTOCK('',vtCLOSE,6,-1);//昨日收盘价
ZT:=(rounds(D1*1.10,2)<=rounds(H,2));//涨停返回1 ,否则返回0
DT:=(rounds(D1*0.9,2)>=rounds(L,2));//跌停返回1 ,否则返回0
cd:=not(zt or dt);

补充内容 (2023-7-31 13:16):
是这样改吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

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

使用道具 举报

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
 楼主| 发表于 2023-7-31 14:17 | 显示全部楼层
X周期高点:=REF(HHV(H,x),1 and cd ),LINETHICK1,;
y周期低点:=REF(LLV(L,y),1 and cd),LINETHICK1,;

//止盈
IF ref(((C-AVGENTERPRICE)/AVGENTERPRICE),1 )>0.01*zy THEN BEGIN
止盈:SELL(可平>0 and cd ,手数,limitr,open );
END
开多条件:=High>=X周期高点 and cd and holding<=0,;
平多条件:=Low<=y周期低点  and cd and holding>=0,;


补充内容 (2023-7-31 14:19):
老师再看看,这几条语句加载的正确吗?不对帮我改一下,谢谢老师。

补充内容 (2023-7-31 14:42):
我对我修改的程序没信心,请老师帮忙
回复

使用道具 举报

105

主题

431

帖子

431

积分

Rank: 2

等级: 标准版

注册:
2021-9-8
曾用名:
 楼主| 发表于 2023-8-1 13:41 | 显示全部楼层
请老师看看我把在8楼写的关于涨停模块加入唐奇安通道的语法对不对?

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-1 14:03 | 显示全部楼层
x周期高点:=ref(hhv(h,x),1 and cd ),linethick1;

你这个cd加进去毫无意义的。只是恰好 1 and cd 返回值恒为1.否则这里都会出错的。
正常这样写就行了。
x周期高点:=ref(hhv(h,x),1 ),linethick1;


这个括号都不对齐:
if ref((c-avgenterprice)/avgenterprice,1)>0.01*zy

你这个编译时候报错,你应该能看到的吧。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 12:58 , Processed in 0.138305 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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