老师!下面是文华的源码:
MA1:MA(C,494);
N:=BARSLAST(DATE<>REF(DATE,1))+1;
OO:=VALUEWHEN(DATE<>REF(DATE,1),O);
HH1:REF(HHV(H,N),N);
LL1:REF(LLV(L,N),N);
HC1:REF(HHV(C,N),N);
LC1:REF(LLV(C,N),N);
MAXX:=IF((HH1-LC1)>=(HC1-LL1),HH1-LC1,HC1-LL1);
CZ:=0.58*MAXX;
BUYP:=OO+CZ;
SELLP:=OO-CZ;
WR:=-100*(HHV(H,33)-C)/(HHV(H,32)-LLV(L,40))+50;
D1:=CROSS(WR,32);
D2:=COUNT(REF(WR>46,1),10)>=1;
D3:=(COUNT(BARSBK=1,95)+COUNT(BARSSK=1,55)=0);
K1:=CROSS(-45,WR);
K2:=COUNT(REF(WR<-46,1),10)>=1;
K3:=(COUNT(BARSBK=1,40)+COUNT(BARSSK=1,54)=0);
D1 AND D2 AND D3 AND MA1>REF(MA1,1) ,BPK;
K1 AND K2 AND K3 AND MA1<REF(MA1,1),SPK;
H>=BUYP&&C>=MAX(O,BUYP) AND MA1>REF(MA1,1),BK;
L<=SELLP&&C<=MIN(O,SELLP) AND MA1<REF(MA1,1),SK;
C<SKPRICE*(1-0.001*89),BP;
C>BKPRICE*(1+0.001*30),SP;
C>SKPRICE*(1+0.001*34),BP;
C<BKPRICE*(1-0.001*29),SP;
C<BKHIGH-108*MINPRICE1 ,SP;
C>SKLOW+103*MINPRICE1,BP;
C<=BKPRICE-71*MINPRICE1,SP;
C>=SKPRICE+88*MINPRICE1,BP;
SETSIGPRICETYPE(SK,LIMIT_ORDER);
SETSIGPRICETYPE(BK,LIMIT_ORDER);
SETSIGPRICETYPE(SP,LIMIT_ORDER);
SETSIGPRICETYPE(BP,LIMIT_ORDER);
SETSIGPRICETYPE(SPK,LIMIT_ORDER);
SETSIGPRICETYPE(BPK,LIMIT_ORDER);
SETSIGPRICETYPE(CLOSEOUT,LIMIT_ORDER);
AUTOFILTER;
请你们帮改编成金字塔的,我是新手什么都不会,谢谢!
这种指标转换需要等假期后让技术人员给您处理!烦您耐心等待。
MA1:MA(C,494);
N:=BARSLAST(DATE<>REF(DATE,1))+1;
OO:=VALUEWHEN(DATE<>REF(DATE,1),O);
HH1:REF(HHV(H,N),N);
LL1:REF(LLV(L,N),N);
HC1:REF(HHV(C,N),N);
LC1:REF(LLV(C,N),N);
MAXX:=IF((HH1-LC1)>=(HC1-LL1),HH1-LC1,HC1-LL1);
CZ:=0.58*MAXX;
BUYP:=OO+CZ;
SELLP:=OO-CZ;
WR:=-100*(HHV(H,33)-C)/(HHV(H,32)-LLV(L,40))+50;
D1:=CROSS(WR,32);
D2:=COUNT(REF(WR>46,1),10)>=1;
D3:=(COUNT(TYPEBAR(1,1)=1,95)+COUNT(TYPEBAR(3,1)=1,55)=0);
K1:=CROSS(-45,WR);
K2:=COUNT(REF(WR<-46,1),10)>=1;
K3:=(COUNT(TYPEBAR(1,1)=1,40)+COUNT(TYPEBAR(3,1)=1,54)=0);
//D1 AND D2 AND D3 AND MA1>REF(MA1,1) ,BPK;
if D1 AND D2 AND D3 AND MA1>REF(MA1,1) then begin
SELLSHORT(1,holding,MARKETR);
buy(1,1,MARKETR);
end
//K1 AND K2 AND K3 AND MA1<REF(MA1,1),SPK;
if K1 AND K2 AND K3 AND MA1<REF(MA1,1) then begin
SELL(1,holding,MARKETR);
buySHORT(1,1,MARKETR);
end
//H>=BUYP&&C>=MAX(O,BUYP) AND MA1>REF(MA1,1),BK;
if H>=BUYP and C>=MAX(O,BUYP) AND MA1>REF(MA1,1) and holding=0 then begin
buy(1,1,MARKETR);
end
//L<=SELLP&&C<=MIN(O,SELLP) AND MA1<REF(MA1,1),SK;
if L<=SELLP and C<=MIN(O,SELLP) AND MA1<REF(MA1,1) and holding=0 then begin
buy(1,1,MARKETR);
end
SKPRICE:REF(C,TYPEBAR(3,1));
BKPRICE:REF(C,TYPEBAR(1,1));
BKHIGH:REF(HIGH,TYPEBAR(1,1));
SKLOW:REF(LOW,TYPEBAR(3,1));
//C<SKPRICE*(1-0.001*89),BP;
SELLSHORT(C<SKPRICE*(1-0.001*89),HOLDING,MARKETR);
//C>BKPRICE*(1+0.001*30),SP;
SELL(C>BKPRICE*(1+0.001*30),holding,MARKETR);
//C>SKPRICE*(1+0.001*34),BP;
SELLSHORT(C>SKPRICE*(1+0.001*34),HOLDING,MARKETR);
//C<BKPRICE*(1-0.001*29),SP;
SELL(C<BKPRICE*(1-0.001*29),holding,MARKETR);
//C<BKHIGH-108*MINPRICE1 ,SP;
SELL(C<BKHIGH-108*MINDIFF,holding,MARKETR);
//C>SKLOW+103*MINPRICE1,BP;
SELLSHORT(C>SKLOW+103*MINDIFF,HOLDING,MARKETR);
//C<=BKPRICE-71*MINPRICE1,SP;
SELL(C<=BKPRICE-71*MINDIFF,holding,MARKETR);
//C>=SKPRICE+88*MINPRICE1,BP;
SELLSHORT(C>=SKPRICE+88*MINDIFF,HOLDING,MARKETR);