以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 计算上一次交易是盈利还是亏损的,如何编写?? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173509) |
-- 作者:Damoclus -- 发布时间:2019/12/12 10:17:49 -- 计算上一次交易是盈利还是亏损的,如何编写?? 计算上一次交易是盈利还是亏损的,如何编写?? |
-- 作者:yukizzc -- 发布时间:2019/12/12 10:53:36 -- 得到指定交易的盈亏数额,平仓一次算一次交易,开仓不算。 用法:NUMPROFIT(N),取第距离现在第N次交易的盈亏数额。 例如:NUMPROFIT(1)表示最近一次的盈亏数额。
|
-- 作者:Damoclus -- 发布时间:2019/12/12 13:02:30 -- 了解。谢谢帮助! |
-- 作者:Damoclus -- 发布时间:2019/12/13 10:58:38 -- 有个问题??,numprofit(1)表示的是最近一次的交易,而图表实盘交易如果平仓和开仓同时,那么numprofit(1)则是上一次交易的盈亏情况,而不是最近一次,不符。 代码 if cond1 then begin sellshort(1,holding,limitr,c+pd); tn:=if(numprofit(1)>0,1,2); buy(holding=0 and cond2,tn,limitr,c+pd); end
|
-- 作者:FireScript -- 发布时间:2019/12/13 11:18:01 -- 平仓一次算一次,这个不是浮动盈亏。你上面代码开平都满足时候,取的就是平仓的那个盈亏。你持仓的盈亏需要你另外算。 |
-- 作者:Damoclus -- 发布时间:2019/12/13 15:15:41 -- 上述代码平仓后,如果盈亏大于0则tn取1,否则tn取2,从交易日志中发现平仓下单,这一笔交易盈亏是大于0,下一笔交易开仓tn应该取1,可实际下一笔交易开仓为2。 if cond1 then begin sellshort(1,holding,limitr,c+pd); end if cond1 then begin tn:=if(numprofit(1)>0,1,2); buy(holding=0 and cond2,tn,limitr,c+pd); end 试了下,这样就不会了。 |
-- 作者:Damoclus -- 发布时间:2019/12/13 16:13:59 -- 持仓盈亏计算有后台函数 询问图表有相应的函数吗???
|
-- 作者:FireScript -- 发布时间:2019/12/13 16:17:15 -- 有的 OPENPROFIT 图表 TOPENPROFIT 后台 TACCOUNT( 4) 后台可用 |
-- 作者:Damoclus -- 发布时间:2019/12/13 16:21:51 -- 好的,谢谢!!! |