以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 请老师看看单步跟踪调试的问题! (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=15470) |
-- 作者:3dian -- 发布时间:2012/8/27 15:29:41 -- 请老师看看单步跟踪调试的问题! MONEYBL0:=0.20; //总最大使用x%资金 LOSSMAXONE:=0.015; //单次最大亏损x%资金 MARGIN1:=0.15; UNIT:=5;//一个点多少钱 MONEY1:=TACCOUNT(19); CWMAX:=MONEY1*MONEYBL0/(UNIT*CLOSE*MARGIN1);//最大使用MONEYBL0资金下最大可开手数。 BUY(CLOSE>OPEN,CWMAX,THISCLOSE); SELL(CLOSE<OPEN,100%,THISCLOSE);
我用100万测试沪铜指数,用单步调试,可是为什么MONEY1总是0呢?请老师看看什么地方出错了? 另外,我用这样的代码控制开仓手数应该可以吧!谢谢老师! |
-- 作者:just -- 发布时间:2012/8/27 15:38:52 -- TACCOUNT是帐户函数,不是你认为的资金100万
|
-- 作者:3dian -- 发布时间:2012/8/27 15:41:26 -- 谢谢老师,那请问我如何在代码里取得可用资金呢?而且这种控制头寸的写法是否正确?谢谢老师! |
-- 作者:just -- 发布时间:2012/8/27 15:54:29 -- 用函数ASSET。 如果你要使用一定量的资金去最大限度开仓 无须这么麻烦。 举例你的初始资金100万 你想用50万去开仓,则你的开仓可以这么写 buy(cond,50%,thisclose); |
-- 作者:3dian -- 发布时间:2012/8/27 16:05:01 -- 谢谢老师,还有一个问题,我测试沪铜指数的时候,测试时间:1996/04/02 - 2012/08/26 为什么我在单步跟踪的时候总是从93/4/7开始,这个似乎不应该啊,无论我本地数据是从那个日期开始的,测试选那天开始,单步跟踪的起始日期就应该是哪天啊! |
-- 作者:3dian -- 发布时间:2012/8/27 16:31:21 -- 老师在吗! |
-- 作者:王锋 -- 发布时间:2012/8/27 17:00:29 -- 这是因为交易测评的公式很多时候是需要多一些历史数据才能得到结果,因此金字塔会自动的从你的计算机中自动多取一些数据,但是真正的测评是从你设置的日期开始进行的 |
-- 作者:3dian -- 发布时间:2012/8/28 10:27:48 -- 谢谢老师,好吧,就按照您说的必须要多一些历史数据,但是如果实际操作一下单步就知道了,从单步开始到我测试的时间,我需要点击几百次才能正式开始第一次的测试,有没有简便方法能直接跳转到我指定的位置开始单步运行啊!这样会让人崩溃的! |
-- 作者:3dian -- 发布时间:2012/8/28 10:59:32 -- 老师在吗 |
-- 作者:王锋 -- 发布时间:2012/8/28 11:02:03 -- 看图,鼠标右键,直接选择执行到某一天的指定BAR上 |