以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教下单语句的次序 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=13534) |
-- 作者:hd006 -- 发布时间:2012/8/8 10:40:52 -- 请教下单语句的次序 老师您好! 发现开单命令的次序对测试结果有直接影响,例如: AA:="macd.macd"(26,12,9);
if holding<0 and BBB then sellshort(1,0,thisclose),ORDERQUEUE; // (1) if holding>0 and SSS then sell(1,0,thisclose),ORDERQUEUE; // (3) 空赢:SELLSHORT(空止赢 ,0,LIMITR,TRIMPRICE(ENTERPRICE-5)),ORDERQUEUE; // (5) 多赢:SELL(多止赢,0,LIMITR,TRIMPRICE(ENTERPRICE+5)),ORDERQUEUE; // (6)
如果将上述语句的次序改成: (5)、(6)、(1)、(2)、(3)、(4), 发现两种测试结果很不一致,百思不得其解。
问题是: 止盈(平仓)语句(5)(6)应该放在什么位置才是对的。比如说“多赢”是应该放在开出多单之后,还是之前。 另外,语句“多止赢”中: H > ENTERPRICE + 5 使用了“H”是否合适?模拟或实盘中是否换为thiscolse ?
百忙之中希望得到您的解答。谢谢!
|
-- 作者:jinzhe -- 发布时间:2012/8/8 13:14:23 -- 你把开多平空写一起,把开空平多写一起比如
if aaa then begin sellshort; buy; end
if bbb then begin sell; buyshort; end
|
-- 作者:hd006 -- 发布时间:2012/8/8 14:03:19 -- 谢谢您的回答。 你说的平空,开多,平多,开空的次序吧。这和上面的(1)(2)(3)(4)是一致的。 我想知道的是下面的两句该放在哪里才合适: 空赢:SELLSHORT(空止赢 ,0,LIMITR,TRIMPRICE(ENTERPRICE-5)),ORDERQUEUE; 多赢:SELL(多止赢,0,LIMITR,TRIMPRICE(ENTERPRICE+5)),ORDERQUEUE;
这两句并不能插进你上面的IF块里面,因为条件完全不一样。而且位置不同结果影响很大。
|
-- 作者:jinzhe -- 发布时间:2012/8/8 14:17:23 -- 完全可以写一起啦 if sss then begin sell(holding>0,); buyshort(holding=0,); end
if bbb then begin sellshort(holding<0,); buy(holding=0,); end |
-- 作者:hd006 -- 发布时间:2012/8/8 15:20:15 -- 谢谢您。您说的我了解啦。 呵呵。我说的是止盈(止损)语句啊。 |