等级: 免费版
- 注册:
- 2023-11-16
- 曾用名:
|

楼主 |
发表于 2024-2-28 14:58
|
显示全部楼层
现在这样修改,至损不起作用了,帮我看下哪里不对
//声明参数
INPUT : LOTS(1,1,20,1) ;//手数
INPUT : ZS(100,1,300,1); //止损参数
INPUT : JC1(80,1,300,1); //加仓点参数
INPUT : YLD(100,1,300,1); //盈利点参数
////////////////////////
BUYORDERTHISBAR := 0 ;
VARIABLE : MYENTRYPRICE =0 ;
VARIABLE : MYEXITPRICE =0 ;
VARIABLE : _DEBUG = 1 ;
VARIABLE : _TDEBUG = 1 ;
VARIABLE : _DEBUGOUT = 0 ;
VARIABLE : TURTLEUNITS=0 ;
VARIABLE : POSITION=0 ;
//准备需要计算的变量
ZRC:callstock(stklabel,vtclose,6,-1);
JKP:callstock(stklabel,vtopen,6,0);
J:ZRC>JKP+5;
J1:ZRC<JKP-5;
//MA1:=MA(OPEN,10);
//RMA1:STKINDIEX('','MA.MA1',0,6,0,100);
//ma1:="ma.ma1##day"(4);
//rma1:(C+ma1*4)/5;
ma1:=stkindiex('','ma.ma1(5)',0,6,-1,100);
rma1:(c+ma1*4)/5;
rma2:rma1-10;
rma3:rma1+10;
TJ1:=TIME=210000;/////////////////////////////////////开盘时间
AAA:TOTALDAYTRADE;
//如果当前是没有持仓的状态
IF POSITION=0 AND TJ1 AND TOTALDAYTRADE=0 THEN BEGIN
//多头进场
IF J1 AND ZRC>RMA3 THEN BEGIN
BUYshort( ZRC>RMA3,LOTS,LIMITR,JKP);
POSITION := 1 ;
TURTLEUNITS := 1 ;
BUYORDERTHISBAR := 1;
END //IF
//////
//空头进场
IF J AND ZRC<RMA2 THEN BEGIN
BUY( ZRC<RMA2,LOTS,LIMITR,JKP),IGNORECHECKPRICE;
POSITION := -1 ;
TURTLEUNITS := 1 ;
BUYORDERTHISBAR := 1;
END
END //IF
//如果当前持有多头仓位的状态
IF POSITION=1 THEN BEGIN
WHILE (HIGH>JKP+JC1*MINDIFF) AND TURTLEUNITS<2 DO BEGIN
BUY( _DEBUG, LOTS, LIMITR, JKP+JC1*MINDIFF);
TURTLEUNITS := TURTLEUNITS+1 ;
BUYORDERTHISBAR := 1;
END
////
IF LOW<=JKP+MINDIFF AND BUYORDERTHISBAR=0 AND HOLDING>LOTS THEN BEGIN
MYEXITPRICE := IF(OPEN<JKP+MINDIFF ,OPEN ,JKP+MINDIFF ) ;
SELL( _DEBUG ,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
//多头止损
IF LOW<JKP-ZS*MINDIFF AND POSITION=1 AND BUYORDERTHISBAR=0 AND HOLDING=LOTS THEN BEGIN
MYEXITPRICE := IF(OPEN<JKP-ZS*MINDIFF ,OPEN ,JKP-ZS*MINDIFF ) ;
//MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;
SELL(LOW<JKP-ZS*MINDIFF ,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
END //IF
//持有空头
IF POSITION = -1 THEN BEGIN
WHILE (LOW<JKP-JC1*MINDIFF) AND TURTLEUNITS<2 DO BEGIN
BUYSHORT( _DEBUG,LOTS, LIMITR,JKP-JC1*MINDIFF);
TURTLEUNITS := TURTLEUNITS+1 ;
BUYORDERTHISBAR := 1;
END
IF H>=JKP-MINDIFF AND BUYORDERTHISBAR=0 AND TURTLEUNITS=2 THEN BEGIN
MYEXITPRICE := IF(OPEN>JKP-MINDIFF ,OPEN ,JKP-MINDIFF ) ;
SELLSHORT(JKP-MINDIFF,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
//空头止损
IF H>=JKP+ZS*MINDIFF AND POSITION = -1 AND BUYORDERTHISBAR=0 AND TURTLEUNITS=1 THEN BEGIN
MYEXITPRICE := IF(OPEN>JKP+ZS*MINDIFF ,OPEN ,JKP+ZS*MINDIFF) ;
// MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ;
SELLSHORT( H>=JKP+ZS*MINDIFF,0,LIMITR,MYEXITPRICE);
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
END //IF
//多止盈
if c-avgenterprice>YLD*mindiff then begin
sell(1,holding,market);
end
//空止盈
if avgenterprice-c>YLD*mindiff then begin
sellshort(1,holding,market);
end
IF TIME=150000 THEN BEGIN
收盘平多:SELL(HOLDING>0,0,MARKETR) ;
收盘平空:SELLSHORT( HOLDING<0,0,MARKETR) ;
POSITION := 0 ;
TURTLEUNITS := 0 ;
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY; |
|