
等级: 标准版
- 注册:
- 2023-6-14
- 曾用名:
|
问题①:计算测试段内,每次平仓>=0.002的次数,修改了很多次,也计算不正确,请老师看看,我代码是哪里出问题了呢?
问题②:代码中,全局变量设定,VARIABLE:开仓价=0,平仓价=0,多单笔盈利率=0,空单笔盈利率=0,大于=0,小于=0,多成功次=0,空成功次=0;(我是把凡是涉及的变量全部都设成了全局变量,这样对不对呢?)
问题③:代码中,if语句中套用if,我的写法对不对?
全部代码如下,请老师改正下,谢谢!!
INPUT:NMIN(10,1,100,1);
//系统代码举例(可更换其他系统)
ma5:MA(c,5);
ma10:MA(C,10);
ma30:MA(c,30);
//交易条件
开多条件:CROSS(ma5,ma30)and holding=0;
开空条件:CROSS(ma30,ma5)and holding=0;
收盘平仓:=TIME>=CLOSETIME(0)-NMIN*100;//收盘平仓
平多条件:(CROSS(ma5,ma10) OR 收盘平仓)and holding=1,COLORWHITE;
平空条件:(CROSS(ma5,ma10) OR 收盘平仓)and holding=-1;
//平多条件:CROSS(ma5,ma10) and holding=1;
//平空条件:CROSS(ma5,ma10) and holding=-1;
//交易系统
开多:BUY(开多条件 ,1,MARKET);
开空:BUYSHORT(开空条件,1,MARKET);
平多:SELL(平多条件,1,MARKET);
平空:SELLSHORT(平空条件,1,MARKET);
//平仓大于2%次数
VARIABLE:开仓价=0,平仓价=0,多单笔盈利率=0,空单笔盈利率=0,大于=0,小于=0,多成功次=0,空成功次=0;
开仓价:=ENTERPRICE;
平仓价:=EXITPRICE;
多单笔盈利率:=(平仓价-开仓价)/开仓价;
空单笔盈利率:=(开仓价-平仓价)/开仓价;
多大于:=多单笔盈利率>=0.002 ;
空大于:=空单笔盈利率>=0.002 ;
IF 平多条件 and holding=0 THEN
BEGIN
if 多大于 THEN
BEGIN
多成功次:=多成功次+1;
END
END
IF 平空条件 and holding=0 THEN
BEGIN
if 空大于 THEN
BEGIN
空成功次:=空成功次+1;
END
END
总成功次:=多成功次+空成功次;
//输出
多单笔盈利率1:多单笔盈利率;
空单笔盈利率1:空单笔盈利率;
多成功次1:多成功次;
空成功次1:空成功次;
总成功次1:空成功次;
AddTestReport('多成功次',多成功次);
AddTestReport('空成功次',空成功次);
AddTestReport('总成功次',总成功次);
|
-
|