以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]为什么没有执行 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9462) |
-- 作者:wzywzy292 -- 发布时间:2011/12/21 23:14:17 -- [求助]为什么没有执行 请教:这个模型为什么没有执行 m1d:=m1d-1 谢谢!! 源码如下: VARIABLE:m1d=0; m1d:=5;//开仓手数 AA:=MA(C,5)>MA(C,20); IF time>=092100 AND time<=145700 then begin if AA then begin sellshort(holding<0, holding,limitr,c); buy(1,m1d,limitr,c); end m1d:=m1d-1; end if time>=151200 then begin sell(1,0,limitr,c); m1d:=0; end |
-- 作者:阿火 -- 发布时间:2011/12/21 23:33:11 -- 在最前面 m1d赋值为5,也就是每次都会为5 如果你的本意是下单后减1手,第二天又从5开始,改为这样 if date<>ref(date,1) then m1d:=5; |
-- 作者:wzywzy292 -- 发布时间:2011/12/22 9:05:50 -- 还是不行 1、有些地方手数超过了5。 2、忘了说是日内 3、谢谢 |
-- 作者:阿火 -- 发布时间:2011/12/22 10:26:07 -- m1d 每次都减少,最后会为0 ,为0 代表满仓。 开仓时还要加一个mid>0的限定 |
-- 作者:fly -- 发布时间:2011/12/22 10:40:58 -- 就这段代码,每次一执行策略, 一开始就会把M1D变为5,所以如果你的钱够,那么每次日内图上显示的开多,都应该是5手,一直到你的资金不够不再开仓为止(最后一个开多手数,小于等于5大于等于1)
总共开多的手数超过5,是正常的.
你再领会领会自己写的代码的意思,或者把你对自己代码的领悟写出来,看看可能是你哪里理解的有误 |
-- 作者:wzywzy292 -- 发布时间:2011/12/22 10:44:02 -- 帮忙写个完整的呗,谢谢 |
-- 作者:wzywzy292 -- 发布时间:2011/12/22 10:52:53 -- 本意是下单后再开单就减1手 [此贴子已经被作者于2011-12-22 10:53:47编辑过]
|
-- 作者:just -- 发布时间:2011/12/22 14:21:12 -- VARIABLE:m1d=0; if date<>ref(date,1) then m1d:=5;//开仓手数 AA:=MA(C,5)>MA(C,20); IF time>=092100 AND time<=145700 then begin if AA then begin if time>=151200 then begin 这样就可以了 [此贴子已经被作者于2011-12-22 14:21:44编辑过]
|
-- 作者:wzywzy292 -- 发布时间:2011/12/22 14:33:33 -- 第一次开了5手,但第二次开的不是4手,麻烦再看看,谢谢 |
-- 作者:just -- 发布时间:2011/12/22 14:52:34 -- 资金问题 初始资金调大点就可以了。开仓条件上再加个M1D>=1。 [此贴子已经被作者于2011-12-22 14:53:20编辑过]
|