以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请高手指点一下程序错误  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=13457)

--  作者:fhjma
--  发布时间:2012/8/3 18:28:34
--  [求助]请高手指点一下程序错误

我想做一个三条均线发散的操作模型,但是总是有错,请高手帮忙修改一下。谢谢!

平常用的是均线5、10穿20或40,此处一个简单的也没写对。

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
MA3:=MA(CLOSE,20);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA1,MA2) AND CROSS(MA2,MA3) AND VOL>40 THEN
BEGIN
 BUY(1,1);
 maxprofit:=0;
END
//平仓
SELL(CROSS(MA2,MA1),0);
//开仓
IF CROSS(MA2,MA1) AND CROSS(MA2,MA3) AND VOL>40 THEN
BEGIN
 BUYSHORT(1,1);
 maxprofit:=0;
END
//平仓
SELLSHORT(CROSS(MA1,MA2),0);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
 win:=(c-enterprice)/enterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if holding < 0 and enterbars > 0 then
begin
 win:=(enterprice-c)/enterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//出现浮动亏损比如2%平仓
止损:SELL(win < -0.5,0);
 
//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0);


--  作者:fhjma
--  发布时间:2012/8/4 11:36:32
--  
有金字塔工作人员吗?能否给解答一下,谢谢!
--  作者:王锋
--  发布时间:2012/8/4 17:08:34
--  
周一工作时间,客服会帮你解决
--  作者:fhjma
--  发布时间:2012/8/6 14:04:10
--  
周一了,请客服人员帮忙解决一下如何?谢谢!
--  作者:jinzhe
--  发布时间:2012/8/6 14:21:33
--  
把认为错误的地方说一下
--  作者:jinzhe
--  发布时间:2012/8/6 15:33:27
--  

发错地方了。。。

[此贴子已经被作者于2012-8-6 15:33:57编辑过]