金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 代人发帖

判断资产升水和回撤,有什么用处

[复制链接]

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-15 16:48 | 显示全部楼层
本帖最后由 技术010 于 2023-5-15 16:49 编辑

1、你自己定义的推损价是根据引用的日线高低指标来的,这个指标值可能等于0,代码中就处理成当日线前低等于0,就取最近一次的日线前低的值。调整如下:
     推损价:IF(HOLDING>0 and 日线前低=ref(日线前低,1),VALUEWHEN(日线前低<>0,日线前低),DRAWNULL),COLORCYAN;
2、调了下,不太行,如果从第二根开始话,那这个线可能和前面的水平线连起来了,所以才空开一个位置。
3、那就要看这两个开仓的信号离的太近了呢,不好画线啊。





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

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 08:59 | 显示全部楼层
1、回测时,模拟不了收盘提前5分钟下单的,只能在实际交易中,使用固定间隔模式,这样在收盘前5分钟才会触发这个条件。在实际交易中,信号在A处,那会再A结束前5分钟报单。在回测中,使用limitr,那回测交易明细中,就在A出报单,使用limit,就在B处报单。
2、这个不是表示A处或B处,只是一个逻辑统计,判断在一个开仓周期内,没有别的开仓信号,是为了画水平线的需要来这样设定的一个条件。
3、是的,就是当日线前低不为0,那就取日线前低的值,如果为0,就取前一个日线前低不为0的值。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 11:32 | 显示全部楼层
这个就和开仓时,使用本周期指令还是次周期指令有关系了,如果使用limitr本周期指令,那开仓信号位置上,enterbars=0,如果使用limit次周期指令,那信号位置上,enterbars=-1,两者的返回值有点差异,在代码编写时就要考虑这个因素了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 12:57 | 显示全部楼层
你的多止盈的平多手数,是根据你的半手数指标计算出来的啊,并不是平当前持仓的一半仓位啊。触发3次,是因为这3根K线上都满足了多止盈的平仓条件。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 14:13 | 显示全部楼层
那平仓手数可以这样写,如下:
多止盈:SELL(ENTERPRICE+止损空间<HIGH  AND ENTERBARS>0,INTPART(holding/200)*100,LIMITR,ENTERPRICE+止损空间),IGNORECHECKPRICE;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 14:45 | 显示全部楼层
1、0只是代表了触发多止损、多平保时,清仓啊,和你的多止盈只平一半仓没有关系啊。
2、你如果要多止盈只触发一次,那你是要在你的多止盈条件中控制的啊。你上面连续触发了3次多止盈,就是这3次都满足了你的多止盈的条件啊。例如,代码的定义方式有很多种,你要通过条件定义来进行过滤。
多止盈:SELL(ENTERPRICE+止损空间<HIGH  AND ENTERBARS>0 AND COUNT(ENTERPRICE+止损空间<HIGH,ENTERBARS+1)=1,INTPART(HOLDING/200)*100,LIMITR,ENTERPRICE+止损空间),IGNORECHECKPRICE;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 15:18 | 显示全部楼层
参考如下:
多止损:SELL(ENTERPRICE-止损空间>LOW  AND ENTERBARS>0,0,LIMITR,ENTERPRICE-止损空间),IGNORECHECKPRICE;
多止盈:SELL(ENTERPRICE+止损空间<HIGH  AND ENTERBARS>0 AND COUNT(ENTERPRICE+止损空间<HIGH,ENTERBARS+1)=1,INTPART(HOLDING/200)*100,LIMITR,ENTERPRICE+止损空间),IGNORECHECKPRICE;
多平保:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<ENTERPRICE AND COUNT(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<ENTERPRICE,ENTERBARS+1)=1,INTPART(HOLDING/200)*100,LIMITR,ENTERPRICE),IGNORECHECKPRICE;
多推损:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<日线前低 AND COUNT(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<日线前低,ENTERBARS+1)=1,INTPART(HOLDING/200)*100,LIMITR, 日线前低),IGNORECHECKPRICE;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-16 16:14 | 显示全部楼层
代码优化如下,是开仓后立即满足了多止盈,给排查掉了这种情况:
多止损:SELL(ENTERPRICE-止损空间>LOW  AND ENTERBARS>0,0,LIMITR,ENTERPRICE-止损空间),IGNORECHECKPRICE;
多止盈:SELL(ENTERPRICE+止损空间<HIGH  AND ENTERBARS>0 AND COUNT(ENTERPRICE+止损空间<HIGH and ENTERBARS>0,ENTERBARS)=1,INTPART(HOLDING/200)*100,LIMITR,ENTERPRICE+止损空间),IGNORECHECKPRICE;
多平保:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<ENTERPRICE AND COUNT(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<ENTERPRICE,ENTERBARS)=1,INTPART(HOLDING/200)*100,LIMITR,ENTERPRICE),IGNORECHECKPRICE;
多推损:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<日线前低 AND COUNT(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1)  AND ENTERBARS>0 AND L<日线前低,ENTERBARS)=1,INTPART(HOLDING/200)*100,LIMITR, 日线前低),IGNORECHECKPRICE;

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

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-17 12:13 | 显示全部楼层
这个不太好去掉,除非你空掉一根K线,这样才不会有竖线将两个线连接起来,参考如下:
波浪顶:IF(a=ref(a,1),A,DRAWNULL),COLORMAGENTA,POINTDOT,LINETHICK3;
波浪底:IF(b=ref(b,1),B,drawnull),COLORCYAN,POINTDOT,LINETHICK3;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-5-18 09:07 | 显示全部楼层
1、之前解释过这个问题,你用了limitr指令,那开仓位置,enterbars是等于0的,所以你这两者写法都不严谨,需要单独判断enterbars等于0的情况,不能都简单的enterbars+1啊,这些你再代码编写过程中,输出下值就可以知道了,例如:
     A:if(enterbars=0,股数,REF(股数,ENTERBARS));
     持单量:IF(HOLDING>0,A,NULL),NODRAW;

2、这个不行哦,因为回测都是根据K线的开高低收4个价格来计算的,没法判断你这K线中间的情况啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-24 17:39 , Processed in 0.126874 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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