金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100020061

老仓盈亏

[复制链接]

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 13:30 | 显示全部楼层
100020061 发表于 2023-4-13 13:17
这个没发现问题,有新的问题······ 我用这个判断了多空输出结果p: REF(ASSET-ref(ASSET,TODAYBAR)( ...

逻辑就是 如果有老仓 P-当日第一次P的值 加上老仓盈亏,如果没有老仓就是P 老师就用P和老仓盈亏 帮我处理下
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-13 14:41 | 显示全部楼层
你前面不是自己已经实现了吗?要我写 我也差不多那样处理的呀。

if(any(老仓<>0,TODAYBAR)and 老仓=0,REF(上次减平仓,BARSSINCE2(老仓=0,TODAYBAR)),0);

你这个代码是效果上有什么问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 14:44 | 显示全部楼层
技术009 发表于 2023-4-13 14:41
你前面不是自己已经实现了吗?要我写 我也差不多那样处理的呀。

if(any(老仓0,TODAYBAR)and 老仓=0,REF( ...

我要输出当日平仓总和
总和其实是老仓加新仓  P输出的是所有平仓,包含了老仓和新仓,但是有老仓的情况下P的值不对,所有在有老仓的情况下,后面输出的P要减去第一次的P加上老仓盈亏 这样的结果才是对的
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 15:11 | 显示全部楼层
技术009 发表于 2023-4-13 14:41
你前面不是自己已经实现了吗?要我写 我也差不多那样处理的呀。

if(any(老仓0,TODAYBAR)and 老仓=0,REF( ...

当日盈亏:if(any(老仓<>0,TODAYBAR),当日盈亏1-REF(当日盈亏1,BARSSINCE2(老仓=0,TODAYBAR))+老仓盈亏,当日盈亏1);
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 15:31 | 显示全部楼层
技术009 发表于 2023-4-13 14:41
你前面不是自己已经实现了吗?要我写 我也差不多那样处理的呀。

if(any(老仓0,TODAYBAR)and 老仓=0,REF( ...

老师,为什么又用到HOLDING的判断的语句的时候,代码放在开平仓的前后位置不同 输出的结果就不同了?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-13 15:34 | 显示全部楼层
因为holding在开仓语句前后就是会变化的。代码是从上到下执行的,开仓平仓执行后holding自然是会变化的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 15:40 | 显示全部楼层
技术009 发表于 2023-4-13 15:34
因为holding在开仓语句前后就是会变化的。代码是从上到下执行的,开仓平仓执行后holding自然是会变化的。

当日盈亏1:={减仓盈亏}if(老仓=0 and holding<>0 and
就这么个判断,一定要在开平仓语句的最后,现在算出来的完全正确,但是放在开平仓语句的前面的话,就没用了,不知道算的啥,完全对不上
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 15:42 | 显示全部楼层
技术009 发表于 2023-4-13 15:34
因为holding在开仓语句前后就是会变化的。代码是从上到下执行的,开仓平仓执行后holding自然是会变化的。

今仓盈亏 我想把这个放到窗口的最前面输出,但是这个语句又只能放在开平仓的后面,也就是整个代码的末尾了,还有没有办法把这个输出放在窗口的最上面输出?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

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

你要取的holding 应该是在代码运行在最后时候的值。

ref获取的值你可以这样理解:先定位到K,再按照所在行获取值。所以你其实获取的是某个K,在指定行时候holding的值,而非 这个K最后时候的holding的值。
你这样子,换一个方式,你不要ref了。 你在代码最后一行,把holding赋值给一个全局变量。
你后面用到持仓的时候,直接用全局变量,也不需要ref了。只有全局变量能自然的沿用前面的值。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-4-13 15:58 | 显示全部楼层
技术009 发表于 2023-4-13 15:51
你要取的holding 应该是在代码运行在最后时候的值。

ref获取的值你可以这样理解:先定位到K,再按照所在 ...

获取的是某个K,在指定行时候holding的值 这个是对的。HOLDING等不等于0都要参与计算。
现在我就把止盈的东西放在代码的最后,测试没有问题了,现在有没有什么函数可以输出
今仓盈亏  在窗口的最上面的前面,或者在屏幕的某个位置,输出的是数值
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 11:25 , Processed in 0.138314 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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