金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2431|回复: 8

请问 :这份策略的代码, 做历史数据回撤的时候, 为什么一个交易信号都没有呢 ?

[复制链接]

6

主题

43

帖子

43

积分

Rank: 1

等级: 新手上路

注册:
2022-8-30
曾用名:
发表于 2023-5-17 10:36 | 显示全部楼层 |阅读模式


//中间变量
MID:  MA(CLOSE,26);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨
手数:=1;



DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;


JC:=CROSS(DIFF,DEA);//金叉
SC:=CROSS(DEA,DIFF);//si叉


N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;

HH:=VALUEWHEN(SC,HHV(H,N1));//上次MACD红柱期间合约最大值
HH2:=VALUEWHEN(SC,REF(HH,1));//上上次MACD红柱期间合约最大值
MHD:=VALUEWHEN(SC,HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MHD2:=VALUEWHEN(SC,REF(MHD,1));//上上次MACD红柱期间MACD最大值
LL:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD绿柱期间合约最小值
LL2:=VALUEWHEN(CROSS(DIFF,DEA),REF(LL,1));//上上次MACD绿柱期间合约最小值
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD绿柱期间MACD最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLD,1));//上上次MACD绿柱期间MACD最小值
顶背离:= SC &&HH>HH2&&MHD<MHD2;//顶背离
底背离:= JC &&LL<LL2&&MLD>MLD2;//底背离
价格K线击穿下轨:= CLOSE < LOWER;


底背离1小时:= STKINDI('','TEST_MACD.底背离',0,5);
底背离15分钟:= STKINDI('','TEST_MACD.底背离',0,3);


击穿下轨1小时:= CLOSE < STKINDI('','BOLL.LOWE',0,5);
击穿下轨15分钟:= CLOSE < STKINDI('','BOLL.LOWER',0,3);



//交易条件
开多条件:= 顶背离 and 底背离1小时 and 底背离15分钟 AND 价格K线击穿下轨 AND 击穿下轨1小时 AND 击穿下轨15分钟 ;
//开空条件:= 1 ;

平多条件:= CLOSE > STKINDI('','BOLL.UPPER',0,3);

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


当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

//注意交易系统先开后平的原则


回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-17 10:40 | 显示全部楼层
你直接加载在K线图上看下。如果这样也没有历史信号,那就是你代码逻辑有问题。
你的条件里有必定无法成立的条件。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

43

帖子

43

积分

Rank: 1

等级: 新手上路

注册:
2022-8-30
曾用名:
 楼主| 发表于 2023-5-17 10:43 | 显示全部楼层
加载在K线上, 是有出现背离信号的,但是需要跨周期引用。那有两个细节问题 帮忙看看
1) 跨周期引用是否正确
2) 如何在看盘界面同时查看多个周期的K线图(十字光标联动同步的那种)
回复

使用道具 举报

6

主题

43

帖子

43

积分

Rank: 1

等级: 新手上路

注册:
2022-8-30
曾用名:
 楼主| 发表于 2023-5-17 10:45 | 显示全部楼层
TEST_MACD 的代码如下:

//中间变量
MID:  MA(CLOSE,26);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨
手数:=1;



DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;


JC:=CROSS(DIFF,DEA);//金叉
SC:=CROSS(DEA,DIFF);//si叉


N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;

HH:=VALUEWHEN(SC,HHV(H,N1));//上次MACD红柱期间合约最大值
HH2:=VALUEWHEN(SC,REF(HH,1));//上上次MACD红柱期间合约最大值
MHD:=VALUEWHEN(SC,HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MHD2:=VALUEWHEN(SC,REF(MHD,1));//上上次MACD红柱期间MACD最大值
LL:=VALUEWHEN(CROSS(DIFF,DEA),LLV(L,N2));//上次MACD绿柱期间合约最小值
LL2:=VALUEWHEN(CROSS(DIFF,DEA),REF(LL,1));//上上次MACD绿柱期间合约最小值
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD绿柱期间MACD最小值
MLD2:=VALUEWHEN(CROSS(DIFF,DEA),REF(MLD,1));//上上次MACD绿柱期间MACD最小值
顶背离:= SC &&HH>HH2&&MHD<MHD2;//顶背离
底背离:= JC &&LL<LL2&&MLD>MLD2;//底背离


DRAWTEXT(顶背离,HIGH+20,'顶背离'),COLORFF00FF;
DRAWTEXT(底背离,LOW-30,'底背离'),COLOR80FFFF;
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-5-17 11:28 | 显示全部楼层
跨周期用的没错
底背离1小时:STKINDI('','TEST_MACD.底背离',0,5);
类似这样把引用值输出出来看下
多个周期同列的话需要看下多框架教程如下链接,这里的联动分组把主图分到一起
https://www.weistock.com/docs/HE ... 8%E5%88%86%E7%BB%84
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-17 11:32 | 显示全部楼层
本帖最后由 技术009 于 2023-5-17 12:09 编辑

被调用指标变量 用“:”去定义,这个先改下。

其次就是 测试了下发现:
顶背离 and 底背离1小时 and 底背离15分钟

这三条件  和后面条件同时满足的情况 几乎没有,这三个条件同时满足情况也没看到。。也就是你这个条件可能本身太苛刻 或者前面计算逻辑里有矛盾。反正就是无法满足了。单独输出是能看到有满足的K的,叠加在一起  就几乎无法满足了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

43

帖子

43

积分

Rank: 1

等级: 新手上路

注册:
2022-8-30
曾用名:
 楼主| 发表于 2023-5-17 13:29 | 显示全部楼层
顶背离 and 底背离1小时 and 底背离15分钟—— 您说这个太苛刻 了, 我人工看盘的时候是有这类机会的啊 , 是不是上面实现的代码需要改进的呢 ??????
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-5-17 13:34 | 显示全部楼层
本帖最后由 技术009 于 2023-5-17 13:37 编辑

首先我检查了 单个条件的输出 是有满足的,说明调用没问题(前提是改了被调用指标里被调用变量的定义方式)
其次我输出了几个条件 同时满足的情况,情况就是的确非常难满足。

你可以这样直观感受下:
以不同条件作为输出的控制条件,大体能看到他们满足的分布情况。
DRAWICON(底背离1小时,h,1);


所以不是代码改进的问题,就是这个条件本身不好满足。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

43

帖子

43

积分

Rank: 1

等级: 新手上路

注册:
2022-8-30
曾用名:
 楼主| 发表于 2023-5-17 14:15 | 显示全部楼层
我再试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-20 16:40 , Processed in 0.085541 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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