以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  请问下面的代码问题出在哪?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=163186)

--  作者:小气泡
--  发布时间:2018/5/4 5:06:55
--  请问下面的代码问题出在哪?

 

 


此主题相关图片如下:qq截图20180504050427.png
按此在新窗口浏览图片

//中间变量
买入:=cross(c,ma(c,20));
卖出:=cross(ma(c,20),c);
多头成本:=VALUEWHEN(买入,c);
多头止损:=VALUEWHEN(买入,l);
空头成本:=VALUEWHEN(卖出,c);
空头止损:=VALUEWHEN(卖出,h);
//交易条件
开多条件:=买入;
平多条件:=(c-多头成本>多头成本-多头止损) OR (c<多头止损);
开空条件:=卖出;
平空条件:=(空头成本-c>空头止损-空头成本) OR (c>空头止损);;
//交易系统
SELLSHORT(平空条件 and HOLDING<0,HOLDING,thisclose);
BUY(开多条件 and  HOLDING=0,1,thisclose);
SELL(开空条件 and HOLDING>0,HOLDING,thisclose);
BUYSHORT(平多条件 and HOLDING=0,1,thisclose);


--  作者:FireScript
--  发布时间:2018/5/4 10:04:22
--  
 多头成本:=VALUEWHEN(买入,c);

这个语句,买入真实条件还要考虑holding=0 ,这个要加上。否则valuewhen 这个取的不一定是买入信号触发时候的价格。

--  作者:小气泡
--  发布时间:2018/5/4 10:56:44
--  

怎么考虑呢?开仓条件改成

开多条件:=买入 and holding=0;

还是有问题?

谢谢!


--  作者:FireScript
--  发布时间:2018/5/4 13:33:18
--  
 先问一下

SELLSHORT(平空条件 and HOLDING<0,HOLDING,thisclose);
BUY(开多条件 and  HOLDING=0,1,thisclose);
SELL(开空条件 and HOLDING>0,HOLDING,thisclose); //条件是开空,语句是平多语句
BUYSHORT(平多条件 and HOLDING=0,1,thisclose);//条件是平多,语句是开空语句      和上面那句你是否笔误写反了?

--  作者:小气泡
--  发布时间:2018/5/4 13:42:34
--  
以下是引用FireScript在2018/5/4 13:33:18的发言:
 先问一下

SELLSHORT(平空条件 and HOLDING<0,HOLDING,thisclose);
BUY(开多条件 and  HOLDING=0,1,thisclose);
SELL(开空条件 and HOLDING>0,HOLDING,thisclose); //条件是开空,语句是平多语句
BUYSHORT(平多条件 and HOLDING=0,1,thisclose);//条件是平多,语句是开空语句      和上面那句你是否笔误写反了?

是的,写反了,调整过来就可以了,谢谢!!!