//仅供初学者参考或测试用。
input:PosNum(1,1,100,1);
input:zqcs(3,1,12,1);
input:ZYL(5,1,10,0.5);
input:sacs(5,1,10,1);
input:sa0cs(1,0.1,2,0.01);
{ 1 .全局变量 }
ThisBar := 0 ;
VARIABLE : CC=0;
VARIABLE : BB=0;
VARIABLE : kcj=0;
VARIABLE : pcj=0;
VARIABLE : kcs=0;
SA:=SAR(3,sacs, 15);
SA0:=SAR(3,sa0cs, 10);
SA1:=SAR(3,1,10);
SA2:=SAR(3,0.5,10);
QG:=HHV(REF(HIGH,1),zqcs);
QD:=LLV(REF(LOW,1),zqcs);
QG1:=MAX(QG,SA0);
QD1:=MIN(QD,SA0);
HD:=if(islastbar,mindiff*3,mindiff);
FDYK1:OPENPROFITPER/POSNUM,LINETHICK0;
FDYK:=REF(FDYK1,1),LINETHICK0;
SAS:IF(FDYK<=-0.5,SA,if(FDYK>=ZYL,SA,SA2));
VARIABLE : SAS=SA2;
IF BB=0 AND CC<>0 AND FDYK<=-0.35 THEN BEGIN
SAS:=SA;
BB:=1;
END
IF BB=0 AND CC<>0 AND FDYK>=ZYL THEN BEGIN
SAS:=SA;
BB:=1;
END
IF BB=1 AND CC=0 THEN BEGIN
SAS:=SA2;
BB:=0;
END
KD:=HIGH>=SA1 AND HIGH>=QG1 AND QG1>=SA2; //开多条件
PD:=LOW<=SAS; //平多条件
KK:=LOW<=SA1 AND LOW<=QD1 AND QD1<=SA2; //开空条件
PK:=HIGH>=SAS; //平空条件
IF CC=-1 AND PK THEN BEGIN
平空:SELLSHORT(1,1,LIMITR,MAX(SAS,OPEN)+HD);
CC:=0;
THISBAR:=-1;
END //平空信号
IF CC=1 AND PD THEN BEGIN
平多:SELL(PD,1,LIMITR,MIN(SAS,OPEN)-HD);
CC:=0;
THISBAR:=1;
END //平多信号
IF CC=0 AND KD AND THISBAR=0 THEN BEGIN
开多:BUY(1,1,LIMITR,MAX(QG1,MAX(SA1,OPEN))+HD);
CC:=1;
THISBAR:=1;
END //开多信号
IF CC=0 AND KK AND THISBAR=0 THEN BEGIN
开空:BUYSHORT(1,1,LIMITR,MIN(QD1,MIN(SA1,OPEN))-HD);
CC:=-1;
THISBAR:=-1;
END //开空信号
////////////////////////////////////////////////////////////////////////
{12 . 显示账户状态 }
资产:asset,noaxis,colorgray,precision0;
持仓:holding,linethick0;
盈亏比:payoffrate,color0000ff,nodraw,precision2;
胜率:ceiling(percentwin*100),color0000ff,linethick0,precision0;
日交易数:totaldaytrade,linethick0;
日盈亏:asset-ref(asset,barslast(date<>ref(date,1))+1),linethick0,precision0;