以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  帮忙看看,到底错在哪里  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74342)

--  作者:lty9055
--  发布时间:2015/1/12 18:44:38
--  帮忙看看,到底错在哪里

红色部分是自己加的,怎么老是不对,希望帮修改一下

 

 

代码工作在图表自动交易模式下
当出现开仓后,开仓价格相比,最大损失超过2%止损
当出现盈利后,与最大盈利价格相比,回落到60%幅度后止赢离场
}
buycond:=count(c>o,2)=2;
sellcond:=count(c<o,2)=2;

variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF buycond THEN
BEGIN
 BUY(1,1);
 IF sellcond THEN
BEGIN
 BUYshort(1,1);
 maxprofit:=0;
END
//平仓
IF sellcond THEN
BEGIN
 SELL(1,1);
 IF buycond THEN
BEGIN
 sellshort(1,1);
 end

//判断当前持仓状态下的最大盈利
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 < -2,0);
 
//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0);

 


--  作者:jinzhe
--  发布时间:2015/1/13 9:00:29
--  

IF buycond THEN
BEGIN
 BUY(1,1);
 IF sellcond THEN
 BEGIN
   BUYshort(1,1);
   maxprofit:=0;
 END
end
//平仓
IF sellcond THEN
BEGIN
 SELL(1,1);
 IF buycond THEN
 BEGIN
  sellshort(1,1);
 end
end

 

这两段话里面少的END已经加上了