公式网 股票指标公式源码分享 登录 注册
公式指标平网
未来函数检测
首页 金钻指标 通达信公式 大智慧公式 同花顺公式 文华财经公式 东财通公式 飞狐公式 操盘手公式 其他公式 公式解答 股票软件 股票池
当前位置:→ 公式网 > 其他公式 > 金字塔公式 > 正文 → 正文

金字塔fs1交易系统[金字塔模型]

发布时间:2015/10/23 17:21:10  浏览次数:

相关标签:惠比特交易和配种专区,梦三国交易专区,梦三国交易专区速秒,灵缇格力交易专区,中京交易市场下载专区,古币银元交易专区,长毛德牧交易专区,梦三国交易专区在哪里,qq交易专区,


金字塔公式 金字塔模型策略源码:

runmode:1;

input:unitoftime(15,5,15,5),length(4,1,6,1);
 input:initialstop(2,2,6,1),trailingstop(4,2,6,1);
 input:startdate(1110104,1,9999999,1),intraday(1,0,1,1);
 input:money(0,0,10,1);{www.88gs.com}
 input:slippage(0,0,1,1);
 input:debug(0,0,2,1);

strategyname:=\'fs1\';
 prefix:=\'ac1_\'+stklabel+\'_\'+strategyname+\'_\';
 costprice:=prefix+\'cost\';
 stopline:=prefix+\'stop\';

myaccount:=\'888888\';

if initialstop>trailingstop then exit;
 if startdate>1 and date<startdate then exit;
 
 begin
  if stricmp(marketlabel,\'sq\')=0 then
   label:=strleft(stklabel,2);
   
  if stricmp(marketlabel,\'dq\')=0 then
   label:=strleft(stklabel,1);
 
  if stricmp(marketlabel,\'zq\')=0 then
   label:=strleft(stklabel,2);
  
  if stricmp(marketlabel,\'zj\')=0 then
   label:=strleft(stklabel,2);
  
  if stricmp(label,\'cf\')=0 then begin
   marginratio:=0.17;
   commission:=12;
   tradeable:=true;
  end 
 
  if stricmp(label,\'sr\')=0 then begin
   marginratio:=0.16;
   commission:=6;
   tradeable:=true;
  end
 
  //if not(tradeable) then exit;
 end

begin
  entertime1:=t0totime(timetot0(opentime(1))+60*(unitoftime+2));
  entertime2:=t0totime(timetot0(closetime(0))-60);
  exittime1:=t0totime(timetot0(closetime(0)));

 entertime:=time>=entertime1 and time<=entertime2;
  exittime:=time>=exittime1;
 
  cond:=day<>ref(day,1) or barpos=1;
  n:=barpos-valuewhen(cond,barpos)+1;
  settlementprice:=trimprice(sum(amount,n)/sum(vol,n)/multiplier);

 period:=unitoftime*length;

 topband:=ref(hhv(high,period),1)+mindiff;
  botband:=ref(llv(low,period),1)-mindiff;
 
  atr:=trimprice(ref(ma(tr,unitoftime),1)+mindiff);
 
  initialstopnum:=atr*initialstop;
  trailingstopnum:=atr*trailingstop;
  slippagenum:=slippage*mindiff;
 
  longcond:=barpos>=period and entertime and high>=topband and topband<dynainfo(54);
  longprice:=close;
 
  shortcond:=barpos>=period and entertime and low<=botband and botband>dynainfo(55);
  shortprice:=close;
 end

if workmode=1 then begin
  if tbuyholdingex(myaccount,stklabel,1)=0 and tsellholdingex(myaccount,stklabel,1)=0 then begin
   extgbdataset(costprice,0);
   extgbdataset(stopline,0);
  end
     
  if tbuyholdingex(myaccount,stklabel,1)=0 then begin
   price:=0;
   lots:=0;
 
   if longcond then
    price:=longprice;  
   
   if price>0 then begin    
    mycash:=taccount2(19,myaccount);
     
    lots1:=intpart(mycash/(price*multiplier*marginratio));  
   
    if money=0 then begin
     lots:=lots1;
    end else begin
     lots2:=intpart(mycash*0.01*money/(initialstopnum*multiplier));
     lots:=min(lots1,lots2);
    end
   end
  
   if lots>=1 then
    tbuy(1,lots,lmt,price+slippagenum,0,myaccount,stklabel);
  end
  
  if tsellholdingex(myaccount,stklabel,1)=0 then begin
   price:=0;
   lots:=0;
 
   if shortcond then
    price:=shortprice;
   
   if price>0 then begin   
    mycash:=taccount2(19,myaccount);
   
    lots1:=intpart(mycash/(price*multiplier*marginratio));
        
    if money=0 then begin
     lots:=lots1;
    end else begin
     lots2:=intpart(mycash*0.01*money/(initialstopnum*multiplier));
     lots:=min(lots1,lots2);
    end
   end
  
   if lots>=1 then
    tbuyshort(1,lots,lmt,price-slippagenum,0,myaccount,stklabel);
  end
 
  if tbuyholdingex(myaccount,stklabel,1)>0 then begin
   price:=0;
   lots:=tbuyholdingex(myaccount,stklabel,1);
  
   if close=dynainfo(54) then
    price:=close;
  
   if exittime then begin
    if intraday=0 then begin
     price:=close;
    end else begin
     if costprice<settlementprice and settlementprice<stopline then
      exit;
     else
      price:=close;
    end
   end 
  
   begin  
    if extgbdata(stopline)>0 and close<=extgbdata(stopline) then
     price:=close;
 
    if extgbdata(stopline)=0 then begin   
     if commission>1 then
      extgbdataset(costprice,trimprice(tavgenterpriceex2(myaccount,stklabel,0)+2*commission/multiplier)+mindiff);
     else
      extgbdataset(costprice,trimprice(tavgenterpriceex2(myaccount,stklabel,0)*(1+commission)/(1-commission))+mindiff);
     
     extgbdataset(stopline,extgbdata(costprice)-initialstopnum);
    end
   
    if extgbdata(stopline)<extgbdata(costprice) and high-initialstopnum>=extgbdata(costprice) then
     extgbdataset(stopline,extgbdata(costprice));
   
    if extgbdata(stopline)>=extgbdata(costprice) and high-trailingstopnum>extgbdata(stopline) then
     extgbdataset(stopline,high-trailingstopnum);  
   end
  
   if price>0 then
    tsell(1,lots,lmt,price-slippagenum,0,myaccount,stklabel);
      
  end
 
  if tsellholdingex(myaccount,stklabel,1)>0 then begin
   price:=0;
   lots:=tsellholdingex(myaccount,stklabel,1);
  
   if close=dynainfo(55) then
    price:=close; 
  
   if exittime then begin
    if intraday=0 then begin
     price:=close;
    end else begin
     if costprice>settlementprice and settlementprice>stopline then
      exit;
     else
      price:=close;
    end
   end
  
   begin
    if extgbdata(stopline)>0 and close>=extgbdata(stopline) then
     price:=close;
    
    if extgbdata(stopline)=0 then begin
     if commission>1 then
      extgbdataset(costprice,trimprice(tavgenterpriceex2(myaccount,stklabel,1)-2*commission/multiplier)-mindiff);
     else
      extgbdataset(costprice,trimprice(tavgenterpriceex2(myaccount,stklabel,1)*(1-commission)/(1+commission))-mindiff);
     
     extgbdataset(stopline,extgbdata(costprice)+initialstopnum);
    end
   
    if extgbdata(stopline)>extgbdata(costprice) and low+initialstopnum<=extgbdata(costprice) then
     extgbdataset(stopline,extgbdata(costprice));
   
    if extgbdata(stopline)<=extgbdata(costprice) and low+trailingstopnum<extgbdata(stopline) then
     extgbdataset(stopline,low+trailingstopnum);
   end

  if price>0 then
    tsellshort(1,lots,lmt,price+slippagenum,0,myaccount,stklabel);
  end
 end

if workmode=0 then begin
  margin:close*multiplier*marginratio,linethick0;
  ss:settlementprice,colorwhite,linethick2;
 
  if tbuyholdingex(myaccount,stklabel,1)=0 and tsellholdingex(myaccount,stklabel,1)=0 then begin
   tb:topband,linethick0;
   bb:botband,linethick0;
    
   drawicon(entertime and islastbar and topband<dynainfo(54),topband,10);
   drawicon(entertime and islastbar and botband>dynainfo(55),botband,11);
  end
 
  if tbuyholdingex(myaccount,stklabel,1)>0 or tsellholdingex(myaccount,stklabel,1)>0 then begin
   cp:extgbdata(costprice),linethick0;
   sl:extgbdata(stopline),linethick0;
   wl:if(tbuyholdingex(myaccount,stklabel,1)>0,(sl-cp)*multiplier*tbuyholdingex(myaccount,stklabel,1),(cp-sl)*multiplier*tsellholdingex(myaccount,stklabel,1)),linethick0;
  end

 if tbuyholdingex(myaccount,stklabel,1)>0 then begin  
   drawicon(islastbar and extgbdata(stopline)<extgbdata(costprice),extgbdata(stopline),11);
   drawicon(islastbar and extgbdata(stopline)=extgbdata(costprice),extgbdata(stopline),12);
   drawicon(islastbar and extgbdata(stopline)>extgbdata(costprice),extgbdata(stopline),10);    
  end
 
  if tsellholdingex(myaccount,stklabel,1)>0 then begin    
   drawicon(islastbar and extgbdata(stopline)>extgbdata(costprice),extgbdata(stopline),11);
   drawicon(islastbar and extgbdata(stopline)=extgbdata(costprice),extgbdata(stopline),12);
   drawicon(islastbar and extgbdata(stopline)<extgbdata(costprice),extgbdata(stopline),10);
  end
 end

 

资源下载链接   资源大小:unknow

手机移动版 - 关于我们 - 联系我们 - 广告合作 - 下载声明 - 网站帮助 - 友情链接 - 网站地图 - TOP
湘ICP备09016573号-3 增值电信业务经营ICP许可证:湘B2-20210269 湘公网安备43108102000039号
Copyright © GSZX.COM.CN ,All Rights Reserved.
股票公式,股票指标,股票软件,股票知识