//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//作者 Z7C9
RUNMODE:0;
//中间变量
INPUT:AVGLENGTH(40),ATRLENGTH(40),SS(1,1,10000,1);//定义参数值
MA1:=REF(MA((HIGH+LOW+CLOSE)/3,AVGLENGTH),1);//定义MA1
手数:=ss;
//交易条件
UPPERBAND:=MA1+REF(MA(TR,ATRLENGTH),1);//上轨
LOWERBAND:=MA1-REF(MA(TR,ATRLENGTH),1);//下轨
ENTRYLONGCOND:=MA1>REF(MA1,1) AND HIGH>=UPPERBAND;//开多条件
EXITLONGCOND:=LOW<=MA1;//平多条件
ENTRYSHORTCOND:=MA1<REF(MA1,1) AND LOW<=LOWERBAND;//开空条件
EXITSHORTCOND:=HIGH>=MA1;//平空条件
//交易系统
IF HOLDING=0 THEN BEGIN //若持仓为0
IF ENTRYLONGCOND THEN //且满足开多条件
BUY(1,手数,LIMITR,MAX(OPEN,UPPERBAND));//开多单
END
IF HOLDING=0 THEN BEGIN//若持仓为0
IF ENTRYSHORTCOND THEN//且满足开空条件
BUYSHORT(1,手数,LIMITR,MIN(OPEN,LOWERBAND));//开空单
END
IF HOLDING>0 THEN BEGIN//若持有多单
IF EXITLONGCOND THEN//且满足平多条件
SELL(1,HOLDING,LIMITR,MIN(OPEN,MA1));//平多单
END
IF HOLDING<0 THEN BEGIN//若持有空单
IF EXITSHORTCOND THEN//且满足平空条件
SELLSHORT(1,HOLDING,LIMITR,MAX(OPEN,MA1));//平空单
END
//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
以系统自带策略为例,默认下单的手数为1,如果我想每过2个月时间间隔,策略自动把下单量增加某个数量。也就是每过2个月后,新的默认下单手数变成之前的默认下单手数+N。请教该怎么写?
你这个每过2个月,是要按照严格的天数跨度来吗?
你这个每过2个月,是要按照严格的天数跨度来吗?
基本上是的。可以粗略设定为60天间隔。
那按照如下方式处理:
比如说策略在图表上第一个K是落在2017一月,那么在图表的历史信号上, 2017一月下单是按照每次1手,到了2017四月的信号就按照2手来下单,后面一直按照60天增加。 这样符合你的需求吧?
那按照如下方式处理:
比如说策略在图表上第一个K是落在2017一月,那么在图表的历史信号上, 2017一月下单是按照每次1手,到了2017四月的信号就按照2手来下单,后面一直按照60天增加。 这样符合你的需求吧?
您的代码完美解决,非常感谢。