以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]账户盈亏  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=79194)

--  作者:渴望知识
--  发布时间:2015/5/29 21:40:15
--  [求助]账户盈亏
请教一下老师
我想写一段盈亏比的代码,但是不知道用哪个函数好。
我的目的是:
当前账户平仓盈亏(主要是亏损)大于等动态权益的5%时,则当天停止交易。
因为我是单策略多品种的,我去查函数都是“当前位置以前的亏损”计算,这个我就有点不敢用了,所以想请教一下。
麻烦帮忙写一段这个代码吧,谢谢。
[此贴子已经被作者于2015/5/29 21:40:31编辑过]

--  作者:Ivan
--  发布时间:2015/5/31 14:18:00
--  
做个开关,加入到策略里,当账户亏损5%时,强制平仓
--  作者:渴望知识
--  发布时间:2015/6/1 22:13:11
--  
以下是引用Ivan在2015/5/31 14:18:00的发言:
做个开关,加入到策略里,当账户亏损5%时,强制平仓

就是这个亏损5%是用什么命令?


--  作者:渴望知识
--  发布时间:2015/6/2 8:40:29
--  

还没上班?


--  作者:pyd
--  发布时间:2015/6/2 9:09:10
--  

VARIABLE:a=0;
if date<>ref(date,1) then a:=asset;
if a-asset<0.05*a and 开仓条件 then begin
开仓语句
end

 

[此贴子已经被作者于2015/6/2 9:09:25编辑过]

--  作者:渴望知识
--  发布时间:2015/6/2 10:19:08
--  

谢谢管理

但是有个问题,我是后台高频的。

当程序第一次执行的时候,A是被赋值ASSET了。

但是在下次执行的时候,那A不是又被赋值最新的ASSET了吗?那这样的话,这个A不是始终都等于最新的ASSET了吗?


--  作者:jinzhe
--  发布时间:2015/6/2 10:31:30
--  

if abs(TACCOUNT(30))/TACCOUNT( 6)>=0.05 then exit;

 

账户函数里面的tacc30就是平仓盈亏,tacc6就是动态权益


--  作者:渴望知识
--  发布时间:2015/6/2 10:40:34
--  

是这样的,我是想用后台编译。

另外,可能我前面没写明白。

应该是返回前一天的结算价,然后当日的亏损大于前一天的结算价的5%,则当天不在进行交易。

我写了一段,但是返回的值不是我要的值:

aaaa:=ref(tasset,ref(date,1));
DEBUGFILE(\'D:\\金子塔调试文件保存\\TEST.TXT\',\'资产为         %.0f\',aaaa);


--  作者:渴望知识
--  发布时间:2015/6/2 10:45:56
--  
这个当日的亏损是指平仓盈亏。
--  作者:jinzhe
--  发布时间:2015/6/2 10:48:55
--  
结算价是怎么计算进去的?一个是价格,一个是盈亏