欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮忙检查一下模型的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2033人关注过本帖平板打印复制链接

主题:请老师帮忙检查一下模型的问题

帅哥哟,离线,有人找我吗?
lliang1022
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2014/10/20 14:27:46
请老师帮忙检查一下模型的问题  发帖心情 Post By:2016/5/18 14:19:30    Post IP:183.26.162.227[只看该作者]

回测无法平仓

代码如下,谢谢:

 

input:N(9,1,100,10);
input:P1(3,2,40,4);
input:P2(3,2,40,4);
input:X(10,1,20,1);

Variable:position=0;

//kdj指标
RSV:(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D;

A1:=every(K<60,30);
A2:=every(K>40,30);

A3:=Cross(K,d) and K<20.5 and D<20.5 and Count(K>40,10)=0;
A4:=Cross(D,K) and K>79.5 and D>79.5 and Count(K<60,10)=0;

B1:=C>enterprice+X*MINDIFF or C<enterprice-X*MINDIFF;
B2:=C<enterprice-X*MINDIFF or C>enterprice+X*MINDIFF;

B3:=every(K>60,15);
B4:=every(K<40,15);

IF Holding=0 and position =0 THEN BEGIN
    If A1 then begin
    Buy(1,1,Marketr);
    Position =1;
    end
   
    If A2 then begin
    buyshort(1,1,marketr);
    position = -1;
    end
   
    If A3 then BEGIN
    buy(1,1,marketr);
    position = 2;
    end
   
    If A4 then begin
    Buyshort(1,1,marketr);
    position = -2;
    end
end

If Holding = 1 and position =1 then begin
   If B1 then BEGIN
   sell(1,1,marketr);
   position = 0;
   end
end

If if holding = -1 and position = -1 then begin
   If B2 then BEGIN
   sellshort(1,1,marketr);
   position = 0;
   end
end

If holding = 1 and position = 2 then begin
   If B3 then BEGIN
   sell(1,1,marketr);
   position = 0;
   end
end

If holding = -1 and position = -2 then begin
   If B4 then BEGIN
   sellshort(1,1,marketr);
   position = 0;
   end
end


 回到顶部