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

楼主 |
发表于 2024-1-5 13:27
|
显示全部楼层
//准备中间变量
INPUT : HLD(20,1,1000,1);//获利
INPUT : ZSD(10,1,1000,1);//止损
INPUT : QDYD(15,1,1000,1);//移动保护启动点
INPUT : YD(7,1,1000,1);//移动保护
INPUT:SS(1,1,10000,1),NMIN1(30,1,1000,1),NMIN2(10,1,100,1),N1(0,0,100,1);
TT:=IF(HOLDING<>0,OPENBAR,10);
HHH:=REF(HHV(H,TT+1),1);
LLL:=REF(LLV(L,TT+1),1);
N:=BARSLAST(DATE<>REF(DATE,1))+1;
开盘30分钟最高价:=VALUEWHEN(TIME<=090000+NMIN1*50,HHV(H,N));
开盘30分钟最低价:=VALUEWHEN(TIME<=090000+NMIN1*50,LLV(L,N));
手数:=SS;
上轨:开盘30分钟最高价+N1*MINDIFF;
下轨:开盘30分钟最低价-N1*MINDIFF;
//条件
开多条件:=C>上轨;
开空条件:=C<下轨;
//交易系统
IF TIME>090000+NMIN1*50 AND TIME<145500-10*100 THEN BEGIN
开多:BUY(开多条件 AND HOLDING=0,手数,MARKET);
开空:BUYSHORT(开空条件 AND HOLDING=0,手数,MARKET);
END
IF HOLDING >0 THEN BEGIN//多单止盈
BCCJ:=MAX(AVGENTERPRICE+HLD*MINDIFF,OPEN);
SELL(H>=AVGENTERPRICE+HLD*MINDIFF,HOLDING,LIMITR, BCCJ);
END
IF HOLDING >0 THEN BEGIN//多单止损
BCCJ1:=MIN(AVGENTERPRICE-ZSD*MINDIFF,OPEN);
SELL(L<=AVGENTERPRICE-ZSD*MINDIFF,HOLDING,LIMITR, BCCJ1);
END
IF HOLDING >0 AND HHH>=AVGENTERPRICE+MINDIFF*QDYD AND ENTERBARS>0 THEN BEGIN//多单止损
BCCJ2:=MIN(AVGENTERPRICE+YD*MINDIFF,OPEN);
SELL(L<=AVGENTERPRICE+YD*MINDIFF,HOLDING,LIMITR, BCCJ2);
END
/////////////////
IF HOLDING <0 THEN BEGIN//空单止盈
SCCJ:=MIN(AVGENTERPRICE-HLD*MINDIFF,OPEN);
SELLSHORT(L<=AVGENTERPRICE-HLD*MINDIFF,HOLDING,LIMITR,SCCJ);
END
IF HOLDING <0 THEN BEGIN//空单止损
SCCJ1:=MAX(AVGENTERPRICE+ZSD*MINDIFF,OPEN);
SELLSHORT(H>=AVGENTERPRICE+ZSD*MINDIFF,HOLDING,LIMITR,SCCJ1);
END
IF HOLDING <0 AND LLL<=AVGENTERPRICE-MINDIFF*QDYD AND ENTERBARS>0 THEN BEGIN//空单止损
SCCJ2:=MAX(AVGENTERPRICE-YD*MINDIFF,OPEN);
SELLSHORT(H>=AVGENTERPRICE-YD*MINDIFF,HOLDING,LIMITR,SCCJ2);
END
//平仓
IF TIME>=149000-NMIN2*100 THEN BEGIN
收盘平多:SELL(1,手数,MARKET);
收盘平空:SELLSHORT(1,手数,MARKET);
END
,修改成取昨天的最高价和最低价,
应用在1分钟图表里
|
|