以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  策略测试开平仓取的价格不对  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=154935)

--  作者:fek200
--  发布时间:2017/6/9 17:49:08
--  策略测试开平仓取的价格不对
 策略测试开平仓取的价格为啥不对,按公式要求收盘价,最后开平仓价格跟收盘价格总会差一点, 有什么需要设置的地方吗 

--  作者:maxiaoqi
--  发布时间:2017/6/9 18:53:00
--  
NUMPROFIT这个函数的计算结果似乎也不对.
--  作者:王锋
--  发布时间:2017/6/9 20:16:29
--  

看看你的代码是怎么编写的。

提交一下相关代码,或者截图,或者交易日志,这样我们可以更快的判断你遇到的问题


--  作者:fek200
--  发布时间:2017/6/9 21:12:52
--  
很简单,就是取了一个30均线值,收盘价大于均线值开多,反之开空,函数用的是cross
--  作者:王锋
--  发布时间:2017/6/9 21:18:31
--  

请贴出你的相关的下单部分代码,不然我们无法判断你的具体问题的


--  作者:fek200
--  发布时间:2017/6/9 21:32:26
--  
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

//适用模式:“走完一根K线以后”
//若用户模式选为“固定时间间隔”,请将"交易条件"中的CLOSE改为OPEN,避免信号闪烁。
//
//中间变量
MA1:=MA(CLOSE,A);


手数:=ss;
//交易条件

开多平空条件:=cross(CLOSE,ma1);//开多平空条件
开空平多条件:=cross(ma1,CLOSE);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

//注意交易系统先开后平的原则





-------------------以上是代码---------------
A=30

--  作者:fek200
--  发布时间:2017/6/9 21:37:41
--  
好像上不了图
--  作者:fek200
--  发布时间:2017/6/9 21:48:57
--  
我测试的是RU09  小时周期   

2016/10/10  10:00  有一个多头信号  开仓价格应该是这根K线的收盘价14090  ,可是测试报告中的明细  显示  开仓价格是14080 。后面2016/10/18 22:00 平仓价格应该是14465(收盘价格),测试报告显示的是14485。

--  作者:fek200
--  发布时间:2017/6/9 21:50:01
--  
测试设定
测试方法:1.指标交易-CROSS_MA   不选择复权
测试周期:60分

测试时间:2016/09/21 - 2017/05/24          强制平仓计算收益
测试品种:共计1只                         初始投入:5万元
开仓条件:在公式中定义的开仓条件
        当条件满足时:  使用全部资金投入

交易时机与价位(仅对ENTERLONG等旧图表交易系统有效):
开多:本周期收盘价 平多:本周期收盘价
开空:本周期收盘价 平空:本周期收盘价
出现连续信号时:不再投入

平仓条件:(按当日收盘价计算是否满足止损条件,按次日收盘价平仓,成本价维持不变) 指标公式发出卖出信号后

交易品种:期货
10.00% 保证金比例 和约单位 10.00 点(顿、克)/手
交易费用:根据成交额
开仓:0.00000% 平仓:0.00000%
滑价成本:开仓 0 跳  平仓 0 跳

交易类型:多头及空头测试
测试模型:单品种测试

--  作者:王锋
--  发布时间:2017/6/9 23:07:41
--  

MARKET 交易方式控制符:交易评测时按照次周期开盘价操作,处于图表交易时按照实际交易市价操作

例如:buy(cond ,1000,market);