金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 551|回复: 9

求写一个策略

[复制链接]

85

主题

206

帖子

216

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2024-11-29 09:31 | 显示全部楼层 |阅读模式
交易信号由日线级别K线产生,交易K线是1分钟周期线.沪深主板1.跨日线周期引用,信号为A.A
2.产生信号A.A后,开盘后,数出现的1分钟阴线数量,假设有N根.知道出现第一根阳线
3.记录N跟K线的最高点和最低点
4.从阳线K线开始,20分钟的周期,HHV和LLV区间
5.突破HHV之后,买入

卖出信号
出现信号A.A后的第二个工作日
卖出条件1:当开盘低开,以开盘价卖出
当开盘价高开,则以20根1分钟K线的HHV,LLV为区间,向下突破LLV,平仓
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-11-29 09:48 | 显示全部楼层
1、1分钟上引用直接日线周期的信号,信号会严重闪烁的,导致后续的开平仓信号错乱,除非你引用昨天的日线信号。
2、第3条,N根K线的最高价和最低价,是只算前面N根阴线的最高和最低价?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

85

主题

206

帖子

216

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-11-29 09:51 | 显示全部楼层
技术010 发表于 2024-11-29 09:48
1、1分钟上引用直接日线周期的信号,信号会严重闪烁的,导致后续的开平仓信号错乱,除非你引用昨天的日线信 ...

1.用前一天的信号Ref(A,1);
2.只算前面20根1分钟K线的高点和低点
回复

使用道具 举报

85

主题

206

帖子

216

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-11-29 10:02 | 显示全部楼层
逻辑是,基于前一天的日线出现了信号,我今天日内1分钟线操作日上操作
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-11-29 10:35 | 显示全部楼层
稍等下,范例编写需要点时间。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-11-29 11:12 | 显示全部楼层
参考如下范例:
INPUT:N(10,1,100,1);

XH:STKINDIEX('','A.A',0,6,-1,1000);

Z_HK:=ROUNDS(C,2)>ROUNDS(O,2) OR (ROUNDS(C,2)=ROUNDS(O,2) AND ROUNDS(C,2)>ROUNDS(REF(C,1),2));      //阳线
Z_LK:=ROUNDS(C,2)<ROUNDS(O,2) OR (ROUNDS(C,2)=ROUNDS(O,2) AND ROUNDS(C,2)<=ROUNDS(REF(C,1),2));     //阴线


HH:REF(HHV(H,20),1);
LL:REF(LLV(L,20),1);
X:REF(COUNT(Z_LK,TODAYBAR)>=N,1) AND Z_HK AND TODAYBAR>=10;
LL_BAR:BARSSINCE2(REF(COUNT(Z_LK,TODAYBAR)>=N,1) AND Z_HK AND TODAYBAR>=10,TODAYBAR);  //首次满足第一根阳线到当前周期
CON3:LL_BAR>20;
CON4:H>HH;     //突破前20日最高价
CON5:L<LL;     //跌破前20日最低价

IF XH AND CON3 AND CON4 THEN
   BUY(HOLDING=0,1,MARKET);
   
IF HOLDING-DAYHOLDING>0 AND TODAYBAR=1 AND O<REF(C,1) THEN
   SELL(HOLDING>0,HOLDING,LIMIT,OPEN);
   
IF HOLDING-DAYHOLDING>0 AND REF(O,TODAYBAR-1)>REF(C,TODAYBAR) AND TODAYBAR>20 AND CON5 THEN
   SELL(HOLDING>0,HOLDING,MARKET);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

85

主题

206

帖子

216

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-11-29 11:50 | 显示全部楼层
技术010 发表于 2024-11-29 11:12
参考如下范例:
INPUT:N(10,1,100,1);

谢谢老师,这里的卖出是第二个工作日
能否把第二个工作日,第三个工作日设置成参数形式呢?
我想优化哪一天卖出最好
回复

使用道具 举报

2

主题

617

帖子

658

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-11-29 12:15 | 显示全部楼层
[PEL] 复制代码
INPUT:N(10,1,100,1);
INPUT:M(2,1,100,1);


XH:STKINDIEX('','A.A',0,6,-1,1000);

Z_HK:=ROUNDS(C,2)>ROUNDS(O,2) OR (ROUNDS(C,2)=ROUNDS(O,2) AND ROUNDS(C,2)>ROUNDS(REF(C,1),2));      //阳线
Z_LK:=ROUNDS(C,2)<ROUNDS(O,2) OR (ROUNDS(C,2)=ROUNDS(O,2) AND ROUNDS(C,2)<=ROUNDS(REF(C,1),2));     //阴线


HH:REF(HHV(H,20),1);
LL:REF(LLV(L,20),1);
X:REF(COUNT(Z_LK,TODAYBAR)>=N,1) AND Z_HK AND TODAYBAR>=10;
LL_BAR:BARSSINCE2(REF(COUNT(Z_LK,TODAYBAR)>=N,1) AND Z_HK AND TODAYBAR>=10,TODAYBAR);  //首次满足第一根阳线到当前周期
CON3:LL_BAR>20;
CON4:H>HH;     //突破前20日最高价
CON5:L<LL;     //跌破前20日最低价

IF XH AND CON3 AND CON4 THEN
   BUY(HOLDING=0,1,MARKET);


BUY_DAY:=ref(DATE,ENTERBARS);


IF TRADINGDATEDIFF( BUY_DAY,DATE)>=M AND TODAYBAR=1 AND O<REF(C,1) THEN
   SELL(HOLDING>0,HOLDING,LIMIT,OPEN);
   
IF TRADINGDATEDIFF( BUY_DAY,DATE)>M AND REF(O,TODAYBAR-1)>REF(C,TODAYBAR) AND TODAYBAR>20 AND CON5 THEN
   SELL(HOLDING>0,HOLDING,MARKET);
回复

使用道具 举报

85

主题

206

帖子

216

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-11-29 15:18 | 显示全部楼层
谢谢老师,里面有两段代码,想和您确认一下我的理解是否到位:
1. Z_HK:=ROUNDS(C,2)>ROUNDS(O,2) OR (ROUNDS(C,2)=ROUNDS(O,2) AND ROUNDS(C,2)>ROUNDS(REF(C,1),2));      //阳线
-为什么要用round,是解决浮点数问题么?
-这里判断阳线的条件,似乎是当前K线收盘大于开盘;或者收盘开盘价格一样,且本期收盘大于上期收盘.

2.X:REF(COUNT(Z_LK,TODAYBAR)>=N,1) AND Z_HK AND TODAYBAR>=10;
这里COUNT(Z_LK,TODAYBAR)>=N,确保了连续阴线,AND Z_HK是当前这一根也是阴线;所以这里算出来的是10根K线以后,连续阴线的序列,标记为1
回复

使用道具 举报

2

主题

617

帖子

658

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-11-29 15:28 | 显示全部楼层
100020197 发表于 2024-11-29 15:18
谢谢老师,里面有两段代码,想和您确认一下我的理解是否到位:
1. Z_HK:=ROUNDS(C,2)>ROUNDS(O,2) OR (ROUNDS ...

1、浮点型存在很多个小数位,用它做整理罢了,它能控制小数位
2、AND Z_HK是当前这一根也是阴线==》时阳线。

是的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 13:47 , Processed in 0.224650 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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