金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1792|回复: 4

保证金累加问题

[复制链接]

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
发表于 2023-6-25 13:25 | 显示全部楼层 |阅读模式
VARIABLE:所有保证金=0;


BZJ1:ABS(HOLDING)*AVGENTERPRICE*MULTIPLIER*TACCOUNT(41);
IF   开多条件 or 开空条件 then
     所有保证金:=所有保证金+BZJ1;
保证金和:所有保证金;


//debugfile输出
if islastbar then
BEGIN
        debugfile('F:\测试\8.txt',STKNAME() & ' 保证金和  '&numtostr(保证金和,2) ,1234);
END


问题①:以上这段代码我本意是求回测期内所有的累积保证金总数,,但是结果总差那么点,,是哪里出问题了呢?
问题②:其中的开多条件 or 开空条件,用来告诉计算机开多或者开空,那么有没有代码直接表示开多或者开空,我尝试用HOLDING大于0或者小于0,但是错的更离谱。
问题③:请教老师正确的写法应该是怎样?




回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-25 15:05 | 显示全部楼层
1.持仓均价里是带有手续费的。你或许可以考虑用ENTERPRICE  在开仓时候进行计算。

2.“我尝试用HOLDING大于0或者小于0,但是错的更离谱” 持仓状态是一个持续的状态的呀。所以会导致全局变量一直累加。

3.可以就用开仓条件 来判断。你可以直接把累加保证金的操作和开仓语句写在一起,这样更稳妥。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2023-6-25 17:36 | 显示全部楼层
技术009 发表于 2023-6-25 15:05
1.持仓均价里是带有手续费的。你或许可以考虑用ENTERPRICE  在开仓时候进行计算。

2.“我尝试用HOLDING ...

谢谢老师,
你说的:直接把累加保证金的操作和开仓语句写在一起,这样更稳妥。
是怎样写法呢?我刚接触编程,不太熟悉,,请老师帮我写下这样的写法
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-26 08:47 | 显示全部楼层
IF   开多条件  and holding=0  then
begin
//开多代码
     所有保证金:=所有保证金+BZJ1;
end

IF   开空条件  and holding=0  then
begin
//开空代码
     所有保证金:=所有保证金+BZJ1;
end

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

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2023-6-26 15:11 | 显示全部楼层
好的,谢谢老师
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 12:38 , Processed in 0.142008 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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