以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]请问如何实现平空后立即开多,平多后立即开空 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=185042) |
-- 作者:弗兰克尔 -- 发布时间:2021/4/6 10:52:50 -- [求助]请问如何实现平空后立即开多,平多后立即开空 目前交易这一段的代码是这样的。 TC是固定的交易手数;QD是开多条件;QK是开空条件。 TC:=4; BUY(QD AND abs(holding)<1,tc,thisclose),ignorecheckprice;SELL(QK,0,thisclose),ignorecheckprice; BUYSHORT(QK AND abs(holding)<1,tc,thisclose),ignorecheckprice; SELLSHORT(QD,0,thisclose),ignorecheckprice; 大部分时候能成功,但是有些时候要隔几个K线,不知道怎么回事。 例如下图:
[此贴子已经被作者于2021/4/6 10:54:35编辑过]
|
-- 作者:FireScript -- 发布时间:2021/4/6 11:02:44 -- BUY(QD AND abs(holding)<1,tc,thisclose),ignorecheckprice; SELL(QK,0,thisclose),ignorecheckprice; BUYSHORT(QK AND abs(holding)<1,tc,thisclose),ignorecheckprice; SELLSHORT(QD,0,thisclose),ignorecheckprice; 代码顺序问题。如果你当前是空仓,但是QD满足。那么这个buy当前是肯定不会触发的。它要等后面平空了。才会执行开多。 如下调下代码顺序 SELLSHORT(QD,0,thisclose),ignorecheckprice; BUY(QD AND abs(holding)<1,tc,thisclose),ignorecheckprice;
SELL(QK,0,thisclose),ignorecheckprice; BUYSHORT(QK AND abs(holding)<1,tc,thisclose),ignorecheckprice; |
-- 作者:弗兰克尔 -- 发布时间:2021/4/6 11:09:11 -- 明白了,谢谢版主 |