金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3595|回复: 8

开仓到平仓期间最大浮动盈亏如何计算?

[复制链接]

2

主题

16

帖子

16

积分

Rank: 1

等级: 新手上路

注册:
2021-8-31
曾用名:
发表于 2021-9-3 16:50 | 显示全部楼层 |阅读模式
请问一下老师,如何计算历史信号中,从开仓到平仓期间最大浮动盈亏?因为是历史信号,希望能在平仓后计算出来
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-3 16:56 | 显示全部楼层
有2个函数
OPENPROFIT
OPENPROFITPER

直接在平仓的位置对持仓这段期间的值进行统计。
开仓历时用ENTERBARS 函数就能处理。

或者直接统计持仓期间的最高价,最低价 和持仓成本进行一个计算就行了。持仓期间的数据统计利用ENTERBARS 就能处理。

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

使用道具 举报

2

主题

16

帖子

16

积分

Rank: 1

等级: 新手上路

注册:
2021-8-31
曾用名:
 楼主| 发表于 2021-9-3 17:02 | 显示全部楼层
COUNT(HHV(OPENPROFIT, ENTERBARS+1)>=1000
我用这个来统计,大于1000的次数,但是比如持仓20个周期,当第15个周期大于1000后后面5个周期都小于1000,但是后面的5个周期都会被统计成HHV大于1000,统计结果及变成5了,但是只有一次持仓,怎么让它统计成一次呢
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2021-9-3 17:22 | 显示全部楼层
你是要统计开仓以来,浮动盈亏大1000的次数?那没必要使用HHV函数啊,参考如下:
A:COUNT(OPENPROFIT>=1000,ENTERBARS+1);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

16

帖子

16

积分

Rank: 1

等级: 新手上路

注册:
2021-8-31
曾用名:
 楼主| 发表于 2021-9-3 17:33 | 显示全部楼层
还是不行啊,我只想一个持仓期间,统计一下最大浮盈或者浮亏就可以了,就这么简单啊,
回复

使用道具 举报

2

主题

585

帖子

626

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2021-9-5 09:17 | 显示全部楼层
那你把你要的,从新表达清楚些
回复

使用道具 举报

2

主题

16

帖子

16

积分

Rank: 1

等级: 新手上路

注册:
2021-8-31
曾用名:
 楼主| 发表于 2021-9-6 10:41 | 显示全部楼层
麻烦老师再帮忙指导一下,我重新表述一下:
比如我一个品种回测有100次成交单,我就想统计一下,这100个成交单在开仓到平仓的整个期间,每一个成交单的最大浮盈和最大浮亏分别是多少。(也就是每一个成交单两个数据)总共200个数据。
如果不能统计以上数据,那就用一个方法来对比大小也行,比如大于某个值的有多少,小于某个值的有多少,这样也可以侧面反映数据总体情况
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-6 11:01 | 显示全部楼层
[PEL] 复制代码
VARIABLE:ct1:=0,ct2:=0;
input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D,NODRAW;
kdjjc:cross(k,d),NODRAW;//kdj金叉
kdjsc:cross(d,k),NODRAW;

buy(kdjjc and holding=0,1,market);


A1:=hhv(OPENPROFIT,ENTERBARS+1);	//持仓期间的最大浮动盈亏
A2:=llv(OPENPROFIT,ENTERBARS+1);	//持仓期间最小的浮动盈亏
if kdjsc and holding>0 then //在完整的平条件下
begin
sell(kdjsc,holding,market);
if a1>=1000 then ct1:=ct1+1;//最大盈亏大于1000
if a2<=-500 then ct2:=ct2+1;//最小盈亏低于-500
end


showcCt1:ct1;
showcCt2:ct2;



这样试下,参考上面的思路。注意注释的部分。统计的操作是发生在平仓的位置。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

16

帖子

16

积分

Rank: 1

等级: 新手上路

注册:
2021-8-31
曾用名:
 楼主| 发表于 2021-9-6 14:01 来自手机 | 显示全部楼层
好的,收到,非常感谢老师的指导!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 08:12 , Processed in 0.262952 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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