variable
:up:=
0
,down:=
0
,l1:=
0
,h1:=
0
;
input
:n(
5
,
1
,
100
,
1
);
if
holding
=
0
and
barpos
=
1
then
begin
up:=
l
+n*
mindiff
;
l1:=
l
;
down:=
h
-n*
mindiff
;
h1:=
h
;
end
if
avgenterprice
-
c
>=n*
mindiff
and
holding
>
0
then
begin
多止损:
sell
(
1
,
holding
,
marketr
);
up:=
l
+n*
mindiff
;
l1:=
l
;
down:=
h
-n*
mindiff
;
h1:=
h
;
end
if
c
-
avgenterprice
>=n*
mindiff
and
holding
<
0
then
begin
空止损:
sellshort
(
1
,
holding
,
marketr
);
up:=
l
+n*
mindiff
;
l1:=
l
;
down:=
h
-n*
mindiff
;
h1:=
h
;
end
if
up>l1+
2
*n*
mindiff
and
c
<
hhv
(
c
,
enterbars
+
1
)-
1.5
*n*
mindiff
and
holding
>
0
then
begin
sell
(
1
,
holding
,
marketr
);
buyshort
(
holding
=
0
,
1
,
marketr
);
down:=
h
-n*
mindiff
;
h1:=
h
;
end
if
down<h1-
2
*n*
mindiff
and
c
>
llv
(
c
,
enterbars
+
1
)+
1.5
*n*
mindiff
and
holding
<
0
then
begin
sellshort
(
1
,
holding
,
marketr
);
buy
(
holding
=
0
,
1
,
marketr
);
up:=
l
+n*
mindiff
;
l1:=
l
;
end
if
cross
(
c
,up)
and
holding
<
5
and
holding
>=
0
then
begin
up:=up+n*
mindiff
;
buy
(
1
,
1
,
marketr
);
end
if
cross
(down,
c
)
and
holding
>-
5
and
holding
<=
0
then
begin
down:=down-n*
mindiff
;
buyshort
(
1
,
1
,
marketr
);
end
upx:up;
downx:down;