公式网-网站导航


网站搜索:  

公式指标网 发表于2015/10/25 7:03:35

金字塔落影模型策略源码带移动止损

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

HNL:=IF(HIGH>REF(HHV(HIGH,3),1),LOW,0);
 L1:=IF(HNL>REF(L,1),REF(L,1),IF(HNL>REF(L,2),REF(L,2),IF(HNL>REF(L,3),REF(L,3),IF(HNL>REF(L,4),REF(L,4),0))));
 L2:=IF(L1>REF(L,1),REF(L,1),IF(L1>REF(L,2),REF(L,2),IF(L1>REF(L,3),REF(L,3),IF(L1>REF(L,4),REF(L,4),0))));
 L3:=VALUEWHEN(L2>0,L2);
 LNH:=IF(LOW<REF(LLV(LOW,3),1),HIGH,666);
 H1:=IF(LNH<REF(H,1),REF(H,1),IF(LNH<REF(H,2),REF(H,2),IF(LNH<REF(H,3),REF(H,3),IF(LNH<REF(H,4),REF(H,4),666))));
 H2:=IF(H1<REF(H,1),REF(H,1),IF(H1<REF(H,2),REF(H,2),IF(H1<REF(H,3),REF(H,3),IF(H1<REF(H,4),REF(H,4),0))));
 H3:=VALUEWHEN(H2>0,H2);
 SEL:=VALUEWHEN((CLOSE>H3 and REF(CLOSE,1)<=H3)or(CLOSE<L3 and REF(CLOSE,1)>=L3),IF(CLOSE>H3 and REF(CLOSE,1)<=H3,1,0));
 LINE:IF(SEL=1,L3,H3),COLORblue;

//开仓
long:= line<c and time>091400 and time<150500;
 if long then
    begin
    sellshort(holding<0,holding,limitr,c);
    buy(holding=0,1,limitr,c);
    end

 short:=line>c and time>091400 and time<150500;
 if short then
    begin
    sell(holding>0,holding,limitr,c);
    buyshort(holding=0,1,limitr,c);
    end

sell(time>151200 and holding>0,0,thisclose);
 sellshort(time>151200 and holding<0,0,thisclose);

PARTLINE( line<c, line, colorrgb(255,0,0));
 PARTLINE( line>c, line, colorrgb(0,255,0));

DRAWNUMBER(ISLASTBAR,LINE,LINE,0,COLORblue);

源码解析:

HNL赋值:如果最高价>昨日3日内最高价的最高值,返回最低价,否则返回0
 L1赋值:如果HNL>昨日最低价,返回昨日最低价,否则返回如果HNL>2日前的最低价,返回2日前的最低价,否则返回如果HNL>3日前的最低价,返回3日前的最低价,否则返回如果HNL>4日前的最低价,返回4日前的最低价,否则返回0
 L2赋值:如果L1>昨日最低价,返回昨日最低价,否则返回如果L1>2日前的最低价,返回2日前的最低价,否则返回如果L1>3日前的最低价,返回3日前的最低价,否则返回如果L1>4日前的最低价,返回4日前的最低价,否则返回0
 L3赋值:VALUEWHEN(L2>0,L2)
 LNH赋值:如果最低价<昨日3日内最低价的最低值,返回最高价,否则返回666
 H1赋值:如果LNH<昨日最高价,返回昨日最高价,否则返回如果LNH<2日前的最高价,返回2日前的最高价,否则返回如果LNH<3日前的最高价,返回3日前的最高价,否则返回如果LNH<4日前的最高价,返回4日前的最高价,否则返回666
 H2赋值:如果H1<昨日最高价,返回昨日最高价,否则返回如果H1<2日前的最高价,返回2日前的最高价,否则返回如果H1<3日前的最高价,返回3日前的最高价,否则返回如果H1<4日前的最高价,返回4日前的最高价,否则返回0
 H3赋值:VALUEWHEN(H2>0,H2)
 SEL赋值:VALUEWHEN((收盘价>H3 AND 昨收<=H3)OR(收盘价<L3 AND 昨收>=L3),如果收盘价>H3ANDREF(收盘价,1)<=H3,返回1,否则返回0)
输出LINE:如果SEL=1,返回L3,否则返回H3,画蓝色
 开仓LONG赋值: LINE<收盘价 AND 时间>091400 AND 时间<150500
逻辑判断 LONG THEN   BEGIN   SELLSHORT(HOLDING<0,HOLDING,LIMITR,收盘价)
    BUY(HOLDING=0,1,LIMITR,收盘价)
SHORT赋值:LINE>收盘价 AND 时间>091400 AND 时间<150500
逻辑判断 SHORT THEN   BEGIN   SELL(HOLDING>0,HOLDING,LIMITR,收盘价)
    BUYSHORT(HOLDING=0,1,LIMITR,收盘价)
    ENDSELL(时间>151200 AND HOLDING>0,0,THISCLOSE)
 SELLSHORT(时间>151200 AND HOLDING<0,0,THISCLOSE)
 PARTLINE( LINE<收盘价, LINE, COLORRGB(255,0,0))
 PARTLINE( LINE>收盘价, LINE, COLORRGB(0,255,0))
当满足条件是否最后一个周期时,在LINE位置书写数字

 



网站搜索:  



Copyright © 2009-2010 gszb.com ™,All Rights Reserved. 
公式网-www.gszx.com.cn-股票指标公式网