以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮改编  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=158343)

--  作者:炒盈
--  发布时间:2017/9/28 22:37:02
--  请帮改编

老师!下面是文华的源码:

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;
请你们帮改编成金字塔的,我是新手什么都不会,谢谢!


--  作者:RogarZ
--  发布时间:2017/9/29 8:11:13
--  
BARSSK和SETSIGPRICETYPE是什么意思?
--  作者:炒盈
--  发布时间:2017/10/3 14:08:11
--  
BARSSK和SETSIGPRICETYPE是什么意思?

 这是程序化思路中需要用到的函数,分别表示最近一个SK信号到当前k线的周期数,和设置指令的价格委托方式。


--  作者:时间
--  发布时间:2017/10/3 14:46:01
--  
你好
--  作者:FexTel
--  发布时间:2017/10/3 17:41:51
--  
这种指标转换需要等假期后让技术人员给您处理!烦您耐心等待。
--  作者:wenarm
--  发布时间:2017/10/5 21:32:13
--  
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);