金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3736|回复: 18

当日首次

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2023-4-11 22:14 | 显示全部楼层 |阅读模式
IF(BARSSINCE2(HOLDING<>0,TODAYBAR),P,DRAWNULL); 当日首次持仓以后输出P,测试是这样的,如果有老仓 也是输出P。平仓以后还是输出P。收盘P无效。
测试是这样的结果。老师看下这样的输出有没有什么不好的
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-12 09:10 | 显示全部楼层
你这个代码,今天有过持仓 p就是会输出。

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

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 09:21 | 显示全部楼层
技术009 发表于 2023-4-12 09:10
你这个代码,今天有过持仓 p就是会输出。

是的  有过持仓就持续输出,今日结束就结束输出。
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 09:25 | 显示全部楼层
技术009 发表于 2023-4-12 09:10
你这个代码,今天有过持仓 p就是会输出。

1:
P1:=IF(品种1,2,IF(品种2,1,if(品种3,2,1)));
P2:=IF(品种1,3,IF(品种2,3,if(品种3,2,4)));
P3:=IF(品种1,3,IF(品种2,3,if(品种3,2,4)));
2:
if 品种1 then begin
P1:=2;
p2:=3;
P3:3;
end
if 品种2 then begin
P1:=2;
p2:=3;
P3:3;
end
这种我怎么取舍好点?第二种感觉是判断当前品种再做选择,第一种看起来更简单,但不知道意思是什么样的
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-12 09:47 | 显示全部楼层
逻辑上没啥区别,第一种嵌套的if而已。只是如果在品种不是1,2,3情况下,第一种情况下有一个默认值。就是语句最后的那个值
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 09:53 | 显示全部楼层
技术009 发表于 2023-4-12 09:47
逻辑上没啥区别,第一种嵌套的if而已。只是如果在品种不是1,2,3情况下,第一种情况下有一个默认值。就是语 ...

对 相当于第一种有个备用值,没啥区别就选第一种,这个也不需要什么维护
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 10:45 | 显示全部楼层
技术009 发表于 2023-4-12 09:47
逻辑上没啥区别,第一种嵌套的if而已。只是如果在品种不是1,2,3情况下,第一种情况下有一个默认值。就是语 ...

这个可以帮我调试一下吗?
当日盈亏:{减仓盈亏}if(ABS(holding)=1,EXITVOL*(IF(HOLDING<0,ENTERPRICE-EXITPRICE,EXITPRICE-ENTERPRICE))*MULTIPLIER,0)+{平仓盈亏}if(HOLDING<0 and BARSLAST(holding>=0),REF(ASSET-ref(ASSET,TODAYBAR),BARSLAST(holding>=0)-1),if(HOLDING>0 and BARSLAST(holding<=0),REF(ASSET-ref(ASSET,TODAYBAR),BARSLAST(holding<=0)-1),if(HOLDING=0 ,REF(ASSET-ref(ASSET,TODAYBAR),BARSLAST(holding=0)-1),DRAWNULL)));
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-12 11:30 | 显示全部楼层
啥叫帮你调试下。这种调试效果,只能在你本地操作呀。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 12:46 | 显示全部楼层
技术009 发表于 2023-4-12 11:30
啥叫帮你调试下。这种调试效果,只能在你本地操作呀。

就是看下对不对,我试的结果是如果前一日的最后一个K平仓,今日开盘也会出现手续费的亏损。按我这个应该是开盘没有持仓盈亏应该是0,有持仓,平仓以后才有盈亏
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-12 12:49 | 显示全部楼层
技术009 发表于 2023-4-12 11:30
啥叫帮你调试下。这种调试效果,只能在你本地操作呀。

if(HOLDING=0 ,REF(ASSET-ref(ASSET,TODAYBAR),BARSLAST(holding=0)-1),DRAWNULL);
这句 持仓为0的时候的判断没处理好。没有持仓输出当前价减去昨日价。但是这个昨日价定义有点问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 11:28 , Processed in 0.120637 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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