以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 请看下语句是否对 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=167160) |
-- 作者:kevinsss -- 发布时间:2018/12/17 17:04:30 -- 请看下语句是否对 我想要走完k线模式,本周期有信号的话,就在下周期开盘时用本周期的收盘价报单,下面的一组是在下周期开盘时以买一价或卖一价报单,语句是否正确?是该用limit还是limitr if done then begin sellshort(1,0,limitr,c), ORDERQUEUE; buy(holding=0,ss,limitr,c); end
if done then begin sell(1,0,limitr,c), ORDERQUEUE; buyshort(holding=0,ss,limitr); end if done then begin sellshort(1,0,limitr, DYNAINFO( 28)), ORDERQUEUE; buy(holding=0,ss,limitr, DYNAINFO( 28)); end
if done then begin sell(1,0,limitr, DYNAINFO( 34)), ORDERQUEUE; buyshort(holding=0,ss,limitr, DYNAINFO( 34)); end |
-- 作者:banzhuan -- 发布时间:2018/12/17 17:13:30 -- 1、limit 和limitr 只在回测时有区别,实盘交易中都是限价交易;在第一组代码中都是次周期按最新价报单 2、DYNAINFO 这类动态函数只有最新值,对历史信号会有影响,不建议刚上手的用户进行使用
|
-- 作者:FireScript -- 发布时间:2018/12/17 17:14:37 -- 不行,这个对历史信号影响很大。你使用的DYNAINFO( 28)是动态函数 只在最新值没有历史值。 这就意味着你在历史K上也是按照今天最新的价格下限价单,并且历史K全部都是使用这个一样价格,这显然是不合理的。 |
-- 作者:kevinsss -- 发布时间:2018/12/17 17:18:14 -- 谢谢两位老师,就是说DYNAINFO不能用来回测数据,但是可以用来进行实盘,对吗?另外,第一组是可以的吧 |
-- 作者:FireScript -- 发布时间:2018/12/17 17:19:53 -- 建议你把历史和现在的情况进行一下区分,比如这样: ss:=1; done2:cross(ma(c,10),ma(c,5)); done1:cross(ma(c,5),ma(c,10)); price1:if(ISLASTBAR, DYNAINFO( 28),c); price2:if(ISLASTBAR, DYNAINFO( 34),c); if done1 then begin sellshort(1,0,limitr, price1), ORDERQUEUE; buy(holding=0,ss,limitr, price1); end if done2 then begin sell(1,0,limitr, price2), ORDERQUEUE; buyshort(holding=0,ss,limitr,price2); end 红色部分就是如果是当前最新K 也就是实际下单 使用买一价或卖一价 如果是历史的K,那么选择收盘价作为历史K的下单价格。
|
-- 作者:kevinsss -- 发布时间:2018/12/17 17:28:09 -- 学习了,这样很完善。还想问,如果我不管历史数据的回测问题,我的那几句是否稳定能用? |
-- 作者:banzhuan -- 发布时间:2018/12/17 17:29:57 -- 可以使用,建议您可以先申请模拟账号做下测试,看下是否满足您的需求; |