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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [交易系统]突破策略

   

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


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

主题:[交易系统]突破策略

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


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
[交易系统]突破策略  发帖心情 Post By:2011/4/29 21:11:12 [只看该作者]

图片点击可在新窗口打开查看

 

runmode:0;

input:period(70,5,90,5);
input:initialstop(2,0,3,1),coststop(2,1,3,1),trailingstop(3,1,6,1);
input:money(0,0,10,1);
input:slippage(1,0,1,1);
input:debug(0,0,1,1);

variable:myasset=500000;
variable:costprice=0,stopline=0;

begin 
 if stricmp(marketlabel,'sh')=0 then begin
  commission:=0.001;
  stamptax:=0.001;
  transferfee:=0.001;
 end
 
 if stricmp(marketlabel,'sz')=0 then begin
  commission:=0.001;
  stamptax:=0.001;
  transferfee:=0;
 end 

 topband:=ref(hhv(high,period),1)+mindiff;
 
 atr:=ref(ma(tr,10),1);
 
 initialstopnum:=trimprice(initialstop*atr);
 coststopnum:=trimprice(coststop*atr);
 trailingstopnum:=trimprice(trailingstop*atr);
 slippagenum:=slippage*mindiff;
end

if holding=0 then begin
 price:=0;
 lots:=0;
 
 if barpos>=period and high>=topband then
  price:=close+slippagenum;
 
 if price>0 then begin  
  mycash:=cash(0);
  
  lots1:=intpart(mycash/(price*volunit))*volunit;   
  
  if money=0 then begin
   lots:=lots1;
  end else begin
   lots2:=intpart(mycash*0.01*money/(initialstopnum*volunit))*volunit;
   lots:=min(lots1,lots2);
  end
 end  
  
 if lots>=1 then begin
  buy(1,lots,limitr,price); 
  
  if workmode=1 then
   tbuy(1,lots,limitr,price);
 end 
end

if holding>0 then begin
 price:=0;
 lots:=holding;
 
 if initialstop>0 then begin
  if stopline>0 and low<=stopline then
   price:=close-slippagenum;
   
  if stopline=0 then begin
   costprice:=trimprice((enterprice*(1+commission)+2*transferfee)/(1-commission-stamptax))+mindiff;
   
   stopline:=costprice-initialstopnum;
  end 
   
  if stopline<costprice and high-coststopnum>=costprice then
   stopline:=costprice;
  
  if stopline>=costprice and high-trailingstopnum>stopline then
   stopline:=high-trailingstopnum;    
 end 
 
 if price>0 then begin
  sell(1,lots,limitr,price);
  costprice:=0;
  stopline:=0;
  
  myasset:=asset;
  
  if workmode=1 then
   tsell(1,lots,limitr,price);
 end 
end

partline(debug=1 and holding=0,topband,colorred,1);

if initialstop>0 then begin
 if holding>0 then begin
  drawicon(stopline<costprice,stopline,11);
  drawicon(stopline=costprice,stopline,12);
  drawicon(stopline>costprice,stopline,10); 
 end
end

if debug=1 then begin
 盈亏:myasset,noaxis,colormagenta;      
 收益:(myasset-500000)/500000,linethick0;
 次数:totaltrade,linethick0;
 胜率:percentwin,linethick0;
 连亏:maxseqloss,linethick0;
 连赢:maxseqwin,linethick0;
end

[此贴子已经被作者于2011-10-3 11:21:53编辑过]

 回到顶部