金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4436|回复: 12

请老师帮忙编写一个简单的策略

[复制链接]

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2021-10-27
曾用名:
发表于 2021-10-27 12:40 来自手机 | 显示全部楼层 |阅读模式
可以请老师帮忙编写一个股票交易策略程序吗?

量比指标:T日成交量/过去80天的平均成交量
买入规则:如果同时满足下面五个条件  
(1)T 日的   量比指标  在1.5-4之间,
(2)T日的涨幅大于等于8%,
(3)T+1日 量比指标  在2.5-6之间,
(4)T+1日的涨幅大于等于6%,
(5)T+2至T+6的某一天价位回调到T日的收盘价时买入

卖出规则:在买入之后,如果亏损5%就止损,如果盈利了就在盈利回撤3%后止盈。
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-10-27 13:29 | 显示全部楼层
这个策略代码至少需要专业版以及以上才能实现。请先核实下是否具有后台程序化的使用权限,否则写了你也没办法运行使用的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2021-10-27
曾用名:
 楼主| 发表于 2021-10-27 14:23 | 显示全部楼层
那写出来后免费版的可以做回测吗,如果回测收益率还可以的话,可以购买专业版
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-10-27 14:27 | 显示全部楼层
本帖最后由 技术009 于 2021-10-27 14:29 编辑

后台回测需要在后台程序化功能中使用。免费版也无法回测,不过你可以自行申请一段时间的试用。另外就是你这个策略应该是一个先选股再交易的模式吧?金字塔的回测大体上是 一个策略应用于一个品种,回测在这个品种上从历史到现在的交易过程。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2021-10-27
曾用名:
 楼主| 发表于 2021-10-27 15:29 | 显示全部楼层
是的,需要先挑选一些股票放到股票池里面,然后再运行这个程序,有交易信号就交易,没有信号就空仓。
我已经申请到专业版软件的试用了。您可以帮忙编写一下吗
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-10-27 15:32 | 显示全部楼层
本帖最后由 技术009 于 2021-10-27 15:33 编辑

“先挑选一些股票放到股票池里面”这个过程是无法在回测里体现出来的。
只能你自己先使用一些选股功能,选定好品种。然后对这些固定品种进行回测。但是选股这个流程在回测里是无法体现的。

后台的教程吧:https://www.weistock.com/docs/HE ... BA%8F%E5%8C%96.html
可以先熟悉下软件基本操作。

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

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2021-10-27
曾用名:
 楼主| 发表于 2021-10-27 15:59 | 显示全部楼层
自己选定好品种,这个可以是手动的,不需要程序自动选股。 程序要做的就是监控股票池里面的股票,达到条件了,就提示开仓。
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-10-27 16:49 | 显示全部楼层
[PEL] 复制代码
LB:VOL/(REF(MA(VOL,80),1));
ZDF:100*(C/REF(C,1)-1);

CD1:RANGE(REF(LB,1),1.5,4) AND RANGE(LB,2.5,6) AND REF(ZDF>=8,1) AND ZDF>=6;//这个是判断是否存在一个符合条件的T+1日

DRAWTEXT(CD1,H,'T+1',COLORYELLOW,0);
P1:=VALUEWHEN(CD1,C);
LEN:=BARSLAST(CD1);

KD:LEN>=1 AND LEN<=5 AND C<=P1;
DRAWICON(KD,H,1);

这不是交易代码,只是处理了下指标的逻辑。用来校验逻辑的。
先加载K线图上核对下。笑脸是下单,T+1位置也输出了。笑脸可能是连续的。这个不用管。下单时候只会按照第一个触发。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-10-28 11:08 | 显示全部楼层
[PEL] 复制代码
INPUT:SS(1000,100,100000,1);
LB:VOL/(REF(MA(VOL,80),1));
ZDF:100*(C/REF(C,1)-1);
 
CD1:RANGE(REF(LB,1),1.5,4) AND RANGE(LB,2.5,6) AND REF(ZDF>=8,1) AND ZDF>=6;//这个是判断是否存在一个符合条件的T+1日
 
DRAWTEXT(CD1,H,'T+1',COLORYELLOW,0);
P1:=VALUEWHEN(CD1,C);
LEN:=BARSLAST(CD1);
 
KD:LEN>=1 AND LEN<=5 AND C<=P1;
DRAWICON(KD,H,1);

TBUY(KD AND TBUYHOLDINGEX('','',1)=0,SS,MKT);
//固定止损止盈模块部分*******************************
//固定止损条件判断
ZSCOND:TAVGENTERPRICEEX2('' ,'' ,0)/DYNAINFO(  7)>1.05;
TSELL(ZSCOND,TBUYHOLDINGEX( '','' ,0 ),MKT,0);


//移动止损模块部分*******************************
strH:=STRCAT(STRCAT(STKLABEL,'_'),'H');

IF TBUYHOLDINGEX('','',2)=0 THEN BEGIN //没有持仓的时候,最高价的记录自动重置为0
EXTGBDATASET(strH,0);
END

if TBUYHOLDINGEX('','',1)<>0 and  c>EXTGBDATA(strH)  then 
begin
EXTGBDATASET(strH,c);	//重新记录最高价
end

//最新价已经从最高价回撤3% 则平仓
IF  EXTGBDATA(strH)>TAVGENTERPRICEEX2('' ,'' ,0) AND (EXTGBDATA(strH)-c)/EXTGBDATA(strH)>=3/100 and TBUYHOLDINGEX('','',1)>0   THEN BEGIN 
tsell(1,0,mkt);	
END


这样试下。ss是下跌股数,默认是1000股 10手。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

6

帖子

6

积分

Rank: 1

等级: 新手上路

注册:
2021-10-27
曾用名:
 楼主| 发表于 2021-10-28 14:52 | 显示全部楼层
谢谢老师,我刚刚测试了一下,完全没有交易记录,但是我选择的品种都是有交易信号的。

编译公式的时候系统提示:
第 25 行,使用 EXTGBDATASET 函数应该注意可能会带来冲突的问题。
第 28 行,使用 EXTGBDATA 函数应该注意可能会带来冲突的问题。
第 30 行,使用 EXTGBDATASET 函数应该注意可能会带来冲突的问题。
第 34 行,使用 EXTGBDATA 函数应该注意可能会带来冲突的问题。
第 34 行,使用 EXTGBDATA 函数应该注意可能会带来冲突的问题。
第 34 行,使用 EXTGBDATA 函数应该注意可能会带来冲突的问题。

请参阅帮助公式部分的解决方案。
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=48570

补充内容 (2021-10-28 14:54):
CD1:RANGE(REF(LB,1),1.5,4) AND RANGE(LB,2.5,6)
我把第五行的代码 改为了 CD1:RANGE(REF(LB,1),1,4) AND RANGE(LB,2,6),范围扩大,还是没有交易记录
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 11:32 , Processed in 0.322918 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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