金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 42|回复: 6

老师帮忙看看问题出在哪儿了?--有偷价吗

[复制链接]

3976

主题

4045

帖子

4070

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-11 09:08 | 显示全部楼层 |阅读模式
请教:同一个通道突破类策略,理论上来说用开盘价确认信号对比直接用高低点突破确认信号得到的信号次数要少,按照经验测试数据结果也应该会更好。但在金字塔中得到了完全相反的数据,一直无法找到原因,请金字塔技术老师帮忙看看问题出在哪儿了?

开盘价确认版代码如下:
//==========================================================
MID : MA(O,50);//中轨

X周期高点: MID + 2*STD(O,50);//上轨
X周期低点: MID - 2*STD(O,50);//下轨

手数:=10000/(MULTIPLIER*(2*STD(O,50)));

//交易条件:
开多条件:=O>=X周期高点 and holding<=0 ;
开空条件:=O<=X周期低点 and holding>=0 ;


平空条件:=O>MID and holding<0 && MID<=ENTERPRICE;
平多条件:=O<MID and holding>0 && MID>=ENTERPRICE;


空单止损条件:=O>=MID and holding<0 && MID>ENTERPRICE && ENTERBARS()>0;
多单止损条件:=O<=MID and holding>0 && MID<ENTERPRICE && ENTERBARS()>0;
//交易系统

平空:sellshort(平空条件 and holding<0,0,limitr,O);
平多:sell(平多条件 and holding>0,0,limitr,O);

止损平空:sellshort(空单止损条件 and holding<0,0,limitr,O);
止损平多:sell(多单止损条件 and holding>0,0,limitr,O);

开空:buyshort(开空条件 and holding=0,手数,limitr,O);
开多:buy(开多条件 and holding=0, 手数,limitr,O);
//==========================================================

高低点突破版代码如下:
//==========================================================

MID : MA(O,50);//中轨

X周期高点: ROUND((MID + 2*STD(O,50))/MINDIFF())*MINDIFF();//上轨
X周期低点: ROUND((MID - 2*STD(O,50))/MINDIFF())*MINDIFF();//下轨

手数:=10000/(MULTIPLIER*(2*STD(O,50)));

//交易条件:
开多条件:=H>=X周期高点 and holding<=0 ;
开空条件:=L<=X周期低点 and holding>=0 ;

平空条件:=O>MID and holding<0 && MID<=ENTERPRICE;
平多条件:=O<MID and holding>0 && MID>=ENTERPRICE;


空单止损条件:=H>=MID and holding<0 && MID>ENTERPRICE && ENTERBARS()>0;
多单止损条件:=L<=MID and holding>0 && MID<ENTERPRICE && ENTERBARS()>0;
//交易系统

平空:sellshort(平空条件 and holding<0,0,limitr,O);
平多:sell(平多条件 and holding>0,0,limitr,O);

止损平空:sellshort(空单止损条件 and holding<0,0,limitr,max(MID,O));
止损平多:sell(多单止损条件 and holding>0,0,limitr,min(MID,O));

开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点,O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点,O));
//==========================================================

难道说突破版代码有偷价?
如果交易条件修改为:
开多条件:=H>X周期高点 and holding<=0 ;
开空条件:=L<X周期低点 and holding>=0 ;
开仓条件修改为:
开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点-mindiff(),O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点+mindiff(),O));
止损条件也相应修改,同样的数据和测试设置会得到相同的交易次数,但效果要差得多。这不应该啊?理论上来说交易次数会减少,测试刚好等于通道的交易有10%左右,却得到了相同的交易次数。到底要如何写才是准确的呢?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-11-11 09:09 | 显示全部楼层
您具体是什么问题呢,修改后理论应该更好
这个没有事实依据的
这就好比两个策略你说第二个应该更好,我们也不知道问i什么第二个更不好的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-12-17
曾用名:
发表于 2024-11-11 22:14 | 显示全部楼层
那好,我换个问题,对比一下下面的两个写法,效果应该有什么不同吗?
第一种:
开多条件:=H>=X周期高点 and holding<=0 ;
开空条件:=L<=X周期低点 and holding>=0 ;

开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点,O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点,O));


第二种:
开多条件:=H>X周期高点 and holding<=0 ;
开空条件:=L<X周期低点 and holding>=0 ;
开仓条件修改为:
开空:buyshort(开空条件 and holding=0,手数,limitr,min(X周期低点-mindiff(),O));
开多:buy(开多条件 and holding=0, 手数,limitr,max(X周期高点+mindiff(),O));

就算有不同,也不应该会差这么大吧?
回复

使用道具 举报

14

主题

214

帖子

299

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2024-11-12 09:33 | 显示全部楼层
buy(开多条件 and holding=0, 手数,limitr,O);
buy(开多条件 and holding=0, 手数,limitr,max(X周期高点,O));
buy(开多条件 and holding=0, 手数,limitr,max(X周期高点+mindiff,O));

这三种写法,都有偷价行为,在测评时,这样写都是OK的,但实盘大部分单子都不能成交。

建议改成下面这种(这种写法也是使用限价单的通用写法)
buy(开多条件 and holding=0, 手数,limitr,C+3*mindiff);//超3个最小变动价位下单。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-12-17
曾用名:
发表于 2024-11-13 22:30 | 显示全部楼层
您的意思是说,测评时这么写是准确的不算偷价,但实盘不一定能成交,所以不符合实际情况,因为实盘必然是有滑点成本的,所以实盘发单就必须超价才合理吗?
我是否能理解为这么写测评时的结果是可信的,只是跟实盘效果相比要打个折扣。要不怎么测评呢?实际上,写成buy(开多条件 and holding=0, 手数,limitr,O);或buy(开多条件 and holding=0, 手数,market);在开仓条件做出相应改变的情况下只要没有未来函数和信号闪烁,结果是一致的,因为判断信号成立的时间都是在K线结束时,发单都是用的开盘价吧?
回复

使用道具 举报

14

主题

214

帖子

299

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2024-11-14 09:05 | 显示全部楼层
测评时这么写也算偷价,因为您测评这么写,是一定会成交的。
实盘时,这么写,一半的概率是不成交的。

滑点一般是2-3跳,多的5跳。所以,示例中,如果限价下单,以3跳价格下单,不管是测评,还是实盘,都是较为合理的。
本根K线的收盘价,和下一根K线的开盘价,大多数时候是一样的,个别时候会差一跳。所以一般图表下单价格就用CLOSE+-几跳了。因为盘中K线没有走完时,CLOSE也是最新价。
条件判断,有时候会用Open或者High、Low
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-12-17
曾用名:
发表于 2024-11-14 23:07 | 显示全部楼层
技术007 发表于 2024-11-14 09:05
测评时这么写也算偷价,因为您测评这么写,是一定会成交的。
实盘时,这么写,一半的概率是不成交的。

哦,这样的话策略实盘想要赚钱就很难了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 00:49 , Processed in 0.272552 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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