 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
- gxx978
|
修改几点:
1、各价位显示水平线
2、开仓提前5分钟入场
3、加上了ST判断。
A:=STRCMP(STRLEFT(STKNAME,2),'ST')=0 OR STRCMP(STRLEFT(STKNAME,3),'*ST')=0; //A=1,表示是ST或*ST品种
IF A=1 THEN
EXIT;
INPUT:亏损金额(1000,100,1000000,100),止损幅度(5,1,20,1);
{1、(买进)收盘价格,突破月线前一堆MACD红柱对应的最高价,进场;
2、(止损)亏损5%,全部出场;
3、(止盈)盈利大于5%,出一半仓位;
(平保)另一半仓位,在进场价设置平仓保护,若价格上破5%后,再次跌回进场价,平仓
4、(推损)盈利大于5%后,若股价继续上涨,不触及进场价,则用日线前一堆MACD绿柱对应的股价低点设为止损点,随着价格抬升,不断提高止损点}
{引用月线前高}
月线前高:=STKINDI('',' YYMACDGDD. 前面红堆最高价',0,8,0),COLORRED;
{引用月线MACD是红柱}
H红柱:=STKINDI('','YYMACDGDD. H红柱',0,8,0),COLORCYAN ,NODRAW;
{日线前低推损}
日线前低:=STKINDI('','YYMACDGDD. 前面绿堆最低价',0,6,0),COLORCYAN;
进多条件:=C>月线前高 AND H红柱;
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
{下面为交易需要用到的函数}
{要求分两次出场,根据【止损金额】和【止损幅度】%,倒推股票下单量}
半手数:=INTPART(亏损金额/(2*C*止损幅度)),NODRAW;
一半股:半手数*100,NODRAW;
股数:半手数*200,NODRAW;
下单量:IF(进多条件,股数,NULL),NODRAW;
止损空间:REF(C*止损幅度/100,ENTERBARS+1);
回撤价格:=IF(HOLDING>0,止损空间,DRAWNULL);
{持多单时,显示进场价,止损价,止盈价,推损价的画线}
止损价:IF(HOLDING>0 AND ENTERBARS=REF(ENTERBARS,1)+1,ENTERPRICE-止损空间,DRAWNULL),COLORGREEN;
止盈价:IF(HOLDING>0 AND ENTERBARS=REF(ENTERBARS,1)+1,ENTERPRICE+止损空间,DRAWNULL),COLORRED;
进场价:IF(HOLDING>0 AND ENTERBARS=REF(ENTERBARS,1)+1,ENTERPRICE,DRAWNULL),COLORYELLOW;
推损价:IF(HOLDING>0 AND 日线前低<>0 ,日线前低,DRAWNULL),COLORCYAN;
{进出场}
多止损:SELL(ENTERPRICE-止损空间>LOW AND ENTERBARS>0,0,LIMITR,ENTERPRICE-止损空间),IGNORECHECKPRICE;
多止盈:SELL(ENTERPRICE+止损空间<HIGH AND ENTERBARS>0,一半股,LIMITR,ENTERPRICE+止损空间),IGNORECHECKPRICE;
多平保:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1) AND ENTERBARS>0 AND L<ENTERPRICE,一半股,LIMITR,ENTERPRICE),IGNORECHECKPRICE;
多推损:SELL(ENTERPRICE+止损空间<HHV(H,ENTERBARS+1) AND ENTERBARS>0 AND L<日线前低,一半股,LIMITR, 日线前低),IGNORECHECKPRICE;
IF NOT(ISLASTBAR) OR (ISLASTBAR AND TIMETOT0(CLOSETIME(0))-TIMETOT0(DYNAINFO(207))<=5*60) THEN //日线,提前5分钟进仓
开多仓:BUY(进多条件 AND HOLDING=0,下单量,LIMITR,C),IGNORECHECKPRICE; |
|