INPUT
:SS(
1
,
1
,
100
,
1
),K1(
0.3
,
0.1
,
1
,
0.1
),K2(
0.6
,
0.1
,
1
,
0.1
),BOCP(
0.25
,
0
,
1
,
0.01
),FBOCP(
0.25
,
0
,
1
,
0.01
);
VARIABLE
:开多次数=
0
,开空次数=
0
,趋买市=
0
,趋卖市=
0
,多头止损价=
0
,空头止损价=
0
;
CYC:=
BARSLAST
(
DATE
>
REF
(
DATE
,
1
))+
1
;
昨开:=
CALLSTOCK
(
STKLABEL
,
VTOPEN
,
6
,-
1
);
昨收:=
CALLSTOCK
(
STKLABEL
,
VTCLOSE
,
6
,-
1
);
昨昨收:=
CALLSTOCK
(
STKLABEL
,
VTCLOSE
,
6
,-
2
);
昨低:=
CALLSTOCK
(
STKLABEL
,
VTLOW
,
6
,-
1
);
昨高:=
CALLSTOCK
(
STKLABEL
,
VTHIGH
,
6
,-
1
);
今高:=
IF
(CYC=
1
,
HIGH
,
REF
(
HHV
(
HIGH
,CYC),
1
));
今低:=
IF
(CYC=
1
,
LOW
,
REF
(
LLV
(
LOW
,CYC),
1
));
今开:=
IF
(CYC=
1
,
OPEN
,
REF
(
OPEN
,CYC-
1
));
10
日平均波幅:=
ref
(
MA
(
CALLSTOCK
(
STKLABEL
,
VTHIGH
,
6
,
0
)-
CALLSTOCK
(
STKLABEL
,
VTLOW
,
6
,
0
),
10
),
1
);
10
日平均开收盘区间:=
ref
(
MA
(
ABS
(
CALLSTOCK
(
STKLABEL
,
VTopen
,
6
,
0
)-
CALLSTOCK
(
STKLABEL
,
VTclose
,
6
,
0
)),
10
),
1
);
开关:=
ABS
(昨开-昨收)<
0.85
*
10
日平均开收盘区间;
3
周期最高价:=
REF
(
HHV
(
HIGH
,
3
),
1
);
3
周期最低价:=
REF
(
LLV
(
LOW
,
3
),
1
);
多头突破确认价:=昨高+BOCP*
10
日平均波幅;
空头突破确认价:=昨低-BOCP*
10
日平均波幅;
多翻空确认价:=昨低+FBOCP*
10
日平均波幅;
空翻多确认价:=昨高-FBOCP*
10
日平均波幅;
手数:=SS;
开仓历时:=
ENTERBARS
+
1
;
IF
昨收<=昨昨收
THEN
BEGIN
趋买市:=
1
;
趋买市开多价:今开+K1*
10
日平均波幅;
趋买市开空价:今开-K2*
10
日平均波幅;
END
IF
昨收>昨昨收
THEN
BEGIN
趋卖市:=
1
;
趋卖市开多价:今开+K2*
10
日平均波幅;
趋卖市开空价:今开-K1*
10
日平均波幅;
END
IF
TIME
>=
094500
AND
TIME
<
143000
AND
开关=
1
THEN
BEGIN
IF
趋买市=
1
AND
开多次数=
0
THEN
BEGIN
趋买市开多:
BUY
(
C
>=趋买市开多价
AND
HOLDING
=
0
,手数,
MARKET
);
多头止损价:=
MIN
(
ENTERPRICE
-
0.25
*
10
日平均波幅,
ENTERPRICE
-
3
);
开多次数:=
1
;
END
IF
趋买市=
1
AND
开空次数=
0
THEN
BEGIN
趋买市开空:
BUYSHORT
(
CLOSE
<=趋买市开空价
AND
HOLDING
=
0
,手数,
MARKET
);
空头止损价:=
Max
(
ENTERPRICE
+
0.25
*
10
日平均波幅,
ENTERPRICE
+
3
);
开空次数:=
1
;
END
IF
趋卖市=
1
AND
开多次数=
0
THEN
BEGIN
趋卖市开多:
BUY
(
CLOSE
>趋卖市开多价
AND
HOLDING
=
0
,手数,
MARKET
);
多头止损价:=
MIN
(
ENTERPRICE
-
0.25
*
10
日平均波幅,
ENTERPRICE
-
3
);
开多次数:=
1
;
END
IF
趋卖市=
1
AND
开空次数=
0
THEN
BEGIN
趋卖市开空:
BUYSHORT
(
CLOSE
<趋卖市开空价
AND
HOLDING
=
0
,手数,
MARKET
);
空头止损价:=
Max
(
ENTERPRICE
+
0.25
*
10
日平均波幅,
ENTERPRICE
+
3
);
开空次数:=
1
;
END
END
IF
今高>多头突破确认价
AND
C
<多翻空确认价
AND
TIME
<
143000
AND
开空次数=
0
AND
HOLDING
>=
0
THEN
BEGIN
多头止损
1
:
SELL
(
1
,手数,
MARKET
);
多翻空
1
:
BUYSHORT
(
1
,手数,
MARKET
);
开空次数:=
1
;
END
IF
HOLDING
>=
0
AND
TIME
<
143000
AND
开空次数=
0
THEN
BEGIN
IF
C
<=多头止损价
THEN
BEGIN
多头止损
2
:
SELL
(
1
,手数,
MARKET
);
IF
TIME
<=
110000
AND
开仓历时>=
4
THEN
BEGIN
多翻空
2
:
BUYSHORT
(
1
,手数,
MARKET
);
空头止损价:=
MIN
(
ENTERPRICE
+
0.15
*
10
日平均波幅,
ENTERPRICE
+
3
);
开空次数:=
1
;
END
END
END
IF
今低<空头突破确认价
AND
C
>空翻多确认价
AND
TIME
<
143000
AND
开多次数=
0
AND
HOLDING
<=
0
THEN
BEGIN
空头止损
1
:
SELLSHORT
(
1
,手数,
MARKET
);
空翻多
1
:
BUY
(
1
,手数,
MARKET
);
开多次数:=
1
;
END
IF
HOLDING
<
0
AND
TIME
<
143000
AND
开多次数=
0
THEN
BEGIN
IF
C
>=空头止损价
THEN
BEGIN
空头止损
2
:
SELLSHORT
(
1
,手数,
MARKET
);
IF
TIME
<=
110000
AND
开仓历时>=
4
THEN
BEGIN
空翻多
2
:
BUY
(
1
,手数,
MARKET
);
多头止损价:=
MIN
(
ENTERPRICE
-
0.15
*
10
日平均波幅,
ENTERPRICE
-
3
);
开多次数:=
1
;
END
END
END
IF
HOLDING
>
0
AND
C
<多头止损价
AND
TIME
<
151000
THEN
常规多头止损:
SELL
(
1
,手数,
MARKET
);
IF
HOLDING
<
0
AND
C
>空头止损价
AND
TIME
<
151000
THEN
常规空头止损:
SELLSHORT
(
1
,手数,
MARKET
);
IF
今高>
ENTERPRICE
+
0.5
*
10
日平均波幅
THEN
多头止损价:=
ENTERPRICE
+
2
*
MINDIFF
;
IF
今低<
ENTERPRICE
-
0.5
*
10
日平均波幅
THEN
空头止损价:=
ENTERPRICE
-
2
*
MINDIFF
;
IF
TIME
>=
143000
THEN
BEGIN
多头止损价:=
MAX
(多头止损价,
3
周期最低价);
空头止损价:=
MIN
(空头止损价,
3
周期最高价);
END
IF
TIME
>=
151000
THEN
BEGIN
收盘平多:
SELL
(
1
,手数,
MARKET
);
收盘平空:
SELLSHORT
(
1
,手数,
MARKET
);
趋卖市:=
0
;
趋买市:=
0
;
开多次数:=
0
;
开空次数:=
0
;
多头止损价:=
0
;
空头止损价:=
0
;
END