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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教如下程序如何做到连亏两次则开反手仓

   

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


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

主题:请教如下程序如何做到连亏两次则开反手仓

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


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2013/9/22 14:24:24
请教如下程序如何做到连亏两次则开反手仓  发帖心情 Post By:2015/6/20 16:11:01    Post IP:111.73.26.34[只看该作者]

variable:HigherAfterEntry=0,LowerAfterEntry=999999;
input:n1(1,1,3,1); 
input:n2(14,5,40,1); 
input:n3(95,50,100,1);
MA5: MA(CLOSE,5);                                                   
MA10:MA(CLOSE,10);                                                  
MA20:MA(CLOSE,20);                                                  
avvol:ma(ref(vol,2),5),noaxis,linethick0;
dayopen:=valuewhen(date<>ref(date,1),open);
if date<>ref(date,1) then
begin
loss:=0; 
count1:=1;
end
计数一:=count1,noaxis,linethick0;
计数二:=loss,noaxis,linethick0;
h_1:=ref(h,1);
l_1:=ref(l,1);
lots:=1;
 If enterbars=0 then 
begin
HigherAfterEntry:=enterprice;
LowerAfterEntry:=enterprice;
end;
else If enterbars>=1 then 
begin
HigherAfterEntry:=max(HigherAfterEntry,h_1);
LowerAfterEntry:=min(LowerAfterEntry,l_1);
end;
hh:HigherAfterEntry,noaxis,linethick0;
ll:LowerAfterEntry,noaxis,linethick0;
 if holding>0  and  l<=ENTERPRICE-n2 
 then  
 begin
 sell(1,holding,limitr,enterprice-n2),IGNORECHECKPRICE;
 end
 if holding<0  and  h>=ENTERPRICE+n2 
 then  
 begin
 sellshort(1,holding,limitr,enterprice+n2),IGNORECHECKPRICE;
 end
if  holding=0  and count1=1 then
 begin 
if  MA5>=MA10+2 then
 begin
 buy(1,lots,limitr,open),IGNORECHECKPRICE;
HigherAfterEntry:=enterprice;
LowerAfterEntry:=enterprice;
end
end
if holding=0  and count1=1 
 then 
 begin 
if  MA5<=MA10-2  then
 begin
  buySHORT(1,lots,limitr,open),IGNORECHECKPRICE;
HigherAfterEntry:=enterprice;
LowerAfterEntry:=enterprice;
end
end
if holding>0 and enterbars>0  then
 begin 
 if  enterbars>=1  and HigherAfterEntry>=enterprice*(1+N1/100)   
 then
 begin
 price:=EnterPrice+(HigherAfterEntry-EnterPrice)*n3/100;
 if low<=price then
 begin
 sell(1,holding,limitr,min(open,price)) ,IGNORECHECKPRICE;
  count1:=1;
end
end;
end;
 if holding<0 and enterbars>0  then
 begin 
 if  enterbars>=1    and lowerAfterEntry<=enterprice*(1-N1/100)
 then
 begin
 price:=EnterPrice - (EnterPrice-LowerAfterEntry)*n3/100;
 if high>=price then
 begin
 sellshort(1,holding,limitr,max(open,price)),IGNORECHECKPRICE;
  count1:=1;
end;
end
end;
 

 回到顶部