请老师帮忙表达一下,如果本次交易止损(是亏损单),下一次得下单量是上次量乘以2倍,如果本次交易盈利,下次交易用默认值量下单
VARIABLE:YINGKU:=0;//记录上次交易盈亏
多头止:=1;//多头止损的延伸
空头止:=1;
平多条件:=0;//多头平仓条件的延伸;
平空条件:=0;//空头平仓条件
开多条件:=1;
开空条件:=0;
开仓数量:=1;
IF HOLDING>0 THEN
BEGIN
IF 多头止 THEN BEGIN
多止:Sell(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
YINGKU:=1;
END
IF 平多条件 THEN BEGIN
IF C-ENTERPRICE<=0 THEN YINGKU:=1;
Sell(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
IF HOLDING>0 THEN
BEGIN
IF 空头止 THEN BEGIN
空止:SELLSHORT(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
YINGKU:=1;
END
IF 平空条件 THEN BEGIN
IF ENTERPRICE-C<=0 THEN YINGKU:=1;
SELLSHORT(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
{-------------------趋势开仓------------------------------}
IF HOLDING=0 THEN
BEGIN
IF 开多条件 THEN BEGIN
IF YINGKU>0 THEN
开仓数量:=1*2;
ELSE BEGIN
开仓数量:=1;
END
buy(1,开仓数量,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
开仓数量:=1;
YINGKU:=0;
END
IF 开空条件 THEN BEGIN
IF YINGKU>0 THEN
开仓数量:=1*2;
ELSE BEGIN
开仓数量:=1;
END
buyshort(1,开仓数量,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
开仓数量:=1;
YINGKU:=0;
END
END
VARIABLE:YINGKU:=0,开仓数量:=1;//记录上次交易盈亏
多头止:=ENTERBARS>=5 AND C-ENTERPRICE<=0;//多头止损的延伸
空头止:=ENTERBARS>=5 AND ENTERPRICE-C<=0;
平多条件:=CROSS(MA(C,10),MA(C,5));//多头平仓条件的延伸;
平空条件:=CROSS(MA(C,5),MA(C,10));//空头平仓条件
开多条件:=CROSS(MA(C,5),MA(C,10));
开空条件:=CROSS(MA(C,10),MA(C,5));
IF HOLDING>0 THEN
BEGIN
IF 多头止 THEN BEGIN
多止:Sell(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
YINGKU:=YINGKU+1;
END
IF 平多条件 THEN BEGIN
IF C-ENTERPRICE<0 THEN YINGKU:=YINGKU+1;
IF C-ENTERPRICE>0 THEN YINGKU:=0;
Sell(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
IF HOLDING<0 THEN
BEGIN
IF 空头止 THEN BEGIN
空止:SELLSHORT(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
YINGKU:=YINGKU+1;
END
IF 平空条件 THEN BEGIN
IF ENTERPRICE-C<0 THEN YINGKU:=YINGKU+1;
IF ENTERPRICE-C>0 THEN YINGKU:=0;
SELLSHORT(1,0,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
{-------------------趋势开仓------------------------------}
IF HOLDING=0 THEN
BEGIN
IF 开多条件 THEN BEGIN
IF YINGKU>0 THEN
开仓数量:=1*YINGKU;
ELSE BEGIN
开仓数量:=1;
END
buy(1,开仓数量,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
IF HOLDING=0 THEN
BEGIN
IF 开空条件 THEN BEGIN
IF YINGKU>0 THEN
开仓数量:=1*2;
ELSE BEGIN
开仓数量:=1;
END
buyshort(1,开仓数量,THISCLOSE),IGNORECHECKPRICE,LINETHICK0;
END
END
盈亏:asset,noaxis,colorred,linethick1;
我在策略共享中有账户,喜欢的可以一起研究,也可以加我微信一起交流17640326416

此主题相关图片如下:ddd.jpg

[此贴子已经被作者于2019/12/20 2:34:29编辑过]
哦,上面的开仓条件只是拿MA做了个例子,你可以套用开仓止损加仓条件,逻辑开仓条件你自己设定。
参考这个例子就行了:
input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4),t1(10,1,100);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:3*K-2*D,NODRAW;
VARIABLE:ss:=1;//初始开仓量
kdjjc:cross(k,d),NODRAW;//kdj金叉
kdjsc:cross(d,k),NODRAW;
if kdjjc then
begin
buy(holding=0,ss,market);
end
if kdjsc then begin
sell(holding>0,holding,market);
if NUMPROFIT(1)<0 and holding=0 then ss:=ss*2;
if NUMPROFIT(1)>=0 and holding=0 then ss:=1;
end