[PEL] 复制代码
input:N(5,1,100,1);
//参数定义
DK:=STKINDI('','AA.DK',0,1) AND HOLDING>=0;
KK:=STKINDI('','AA.KK',0,1) AND HOLDING<=0;
//多单开仓模块******************************************************************************
//开多单
IF DK AND HOLDING=0 THEN BEGIN [color=#ff0000]//老师,这个地方HODING=0用了多种方式还是限定不了开仓手数,我想只开一手,但是系统不停加仓,请问什么原因?[/color]
多开:BUY(1,1,LIMIT,c);
END
//多单止损
IF AVGENTERPRICE-C>15*MINDIFF AND HOLDING>0 THEN BEGIN
多单固定止损:SELL(1,TODAYHOLDING,MARKET);[color=#ff00]//老师,这个地方不管用HODING还是用TODAYHODING,都不能有效进行平仓,请问什么原因?[/color]
END
DDGD:AVGENTERPRICE-C,NODRAW;
//多单移动止盈模块******************************************************************************
variable:maxprofit=0;//有仓位时最大获利幅度
input:N(5,1,100,1);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
//多单更新记录的部分
if holding > 0 and enterbars > 0 and win>30*MINDIFF then
begin
win:=(c-AVGENTERPRICE)/enterprice*100; //记录最大盈利
if win>maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//出现最高盈利后,回落到盈利的N%平仓出场.
多移动止赢:SELL(win2 >= 90 and openprofit > 0, 0,limit,c);
//**********************************************************************************************************************************
//**********************************************************************************************************************************
//空单开仓模块******************************************************************************
//开空单
IF KK=1 AND HOLDING=0 THEN BEGIN [color=#ff00]//老师,这个地方HODING=0用了多种方式还是限定不了开仓手数,我想只开一手,但是系统不停加仓,请问什么原因?[/color]
空开:BUYSHORT(1,1,LIMIT,c);
END
//空单止损
IF C-AVGENTERPRICE>15*MINDIFF AND HOLDING<0 THEN BEGIN
空单固定止损:SELLSHORT(1,TODAYHOLDING,MARKET); [color=#ff00]//老师,这个地方不管用HODING还是用TODAYHODING,都不能有效进行平仓,请问什么原因?[/color]
END
KDGD:C-AVGENTERPRICE,NODRAW;
//空单移动止盈模块******************************************************************************
variable:maxprofit=0;//有仓位时最大获利幅度
input:N(5,1,100,1);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
//空单更新记录的部分
if holding < 0 and enterbars > 0 and win>30*mindiff then
begin
win:=(AVGENTERPRICE-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
空移动止盈:SELLshort(win2 >= 90 and openprofit > 0, 0,limit,c);
//请老师帮忙看一下这个开平仓控制为什么是失效的,另外请帮检查下移动止损的策略编写的是否正确。
|