以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师帮我编写一个程序 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61279) |
-- 作者:离殇 -- 发布时间:2014/1/25 11:35:10 -- 请老师帮我编写一个程序 我想编写一个股票交易模型
T=((7-C)/0.05; 买入条件:T=N,并且现在的价格低于上次买入的价格,买入量为10*N;
卖出条件:价格等于1. 大概是这么个意思,请老师给我帮帮忙 |
-- 作者:jinzhe -- 发布时间:2014/1/26 9:55:15 -- INTPART 这个函数什么意思?
|
-- 作者:离殇 -- 发布时间:2014/1/27 9:58:52 -- 老师,这个是取整函数啊 |
-- 作者:离殇 -- 发布时间:2014/1/27 9:59:38 -- 因为我对金字塔的编写结构不是很熟悉,所以还多多麻烦老师了 |
-- 作者:jinzhe -- 发布时间:2014/1/27 10:04:21 --
variable:m=0; if holding=0 and m=1 and t=0 and c<enterprice then buy(1,10*n,market); if h>=1 and l<=1 then sell(1,0,market); |
-- 作者:离殇 -- 发布时间:2014/1/27 11:05:38 -- 老师,这里不需要四舍五入,只需要取整就可以了。 n:=INTPART((7-c)/0.05); if t=n and c<enterprice then buy(1,10*n,THISCLOSE); if h>=1 and c<=1 then sell(1,1,THISCLOSE); 修改之后的程序差不多是这个样子。 但是在计算的时候,出了问题。应该是每0.05就买入一次的,但是实际上每隔0.25才买入一次。还请老师帮我看看问题出在哪里 |
-- 作者:jinzhe -- 发布时间:2014/1/27 11:15:35 -- 0.05和0.25是怎么看出来的? |
-- 作者:jinzhe -- 发布时间:2014/1/27 11:16:17 -- 取整,有向上取整,向下取整,四舍五入取整,这个不是随便的问题,要定义好 |
-- 作者:离殇 -- 发布时间:2014/1/27 11:28:57 -- 我的模型的判断依据就是(7-c)/0.05在取整的时候买入。所以就应该是每0.05买入。而且我不需要四舍五入。我从计算的结果看到的,但是也有点问题,因为结果显示有四十多次交易,但是明细上只有几次,不知道哪个是对的 |
-- 作者:jinzhe -- 发布时间:2014/1/27 13:41:14 -- 推理 (7-c)/0.05= (7-c)*20/(0.05*20)=(7-c)*20/1
就是推断(7-c)*20是不是整数
而根据上面的推断, 求某个数是不是整数的办法是 mod((7-c)*20*10,10)=0
所以你的下单条件要修改成
T:=(7-C)/0.05; variable:m=0; cond:=mod(t*20*10,10)=0; if holding=0 and m=1 and cond and l<enterprice then buy(1,10*n,market); if h>=1 and l<=1 then sell(1,0,market); |