这个该怎么修改? (文华财经WH8赢智V8.2)

投资者咨询:这个该怎么修改? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-10 20:21
 
MM
技术人员回复
日期:2018-5-10 20:30
 您是只加仓开仓还是重新开仓?

开仓手数又是如何计算的呢,麻烦您具体说下
投资者咨询:这个该怎么修改? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-10 20:21
 MM:=IF(CROSS(BKVOL=0&&SKVOL=0,0.5),MONEYTOT,0);
T:=SUMBARS(CROSS(BKVOL=0&&SKVOL=0,0.5),F1);
MAM:=SUM(MM,T)/F1;
X1:(IF(MONEYTOT>MAM  , (MONEYTOT-MAM)/MAM,(MONEYTOT-MAM)/MAM));
S3:=MONEYREAL*(F2+X1)/(C*MARGIN*UNIT+FEE); 

S1:IF(S3>0&&S3<1,1,IF(S3>1,INTPART(S3),S3));//小于1 取1,大于1取整数部分。
S2:=(PROFIT*0.35)/(C*MARGIN*UNIT+FEE);//浮盈加仓手数
M9:MONEYRATIO;//账户资金使用率

AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0&&COUNTSIG(BK,0)=0,BK(50);
AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0,BK(S1);
AMALOW<REF(AMALOW,4) &&BKVOL>0 ,SP(BKVOL);
具体就是上面这么算的  S1代表开仓手数。 但一开始要用到权益的移动平均线,所以需要先定义开始几次的开仓手数,这写了五十手初始第一次开仓 后面第二次第三次就不知道该怎么写了。
技术人员回复
日期:2018-5-10 21:07
  这样吗?

MM:=IF(CROSS(BKVOL=0&&SKVOL=0,0.5),MONEYTOT,0);
T:=SUMBARS(CROSS(BKVOL=0&&SKVOL=0,0.5),F1);
MAM:=SUM(MM,T)/F1;
X1:(IF(MONEYTOT>MAM  , (MONEYTOT-MAM)/MAM,(MONEYTOT-MAM)/MAM));
S3:=MONEYREAL*(F2+X1)/(C*MARGIN*UNIT+FEE); 

S1:IF(S3>0&&S3<1,1,IF(S3>1,INTPART(S3),S3));//小于1 取1,大于1取整数部分。
S2:=(PROFIT*0.35)/(C*MARGIN*UNIT+FEE);//浮盈加仓手数
M9:MONEYRATIO;//账户资金使用率

AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0,BK(50);
AMACLOSE>REF(AMACLOSE,4)   &&BKVOL>0,BK(S1);
AMALOW<REF(AMALOW,4) &&BKVOL>0 ,SP(BKVOL);
TRADE_AGAIN(5);
投资者咨询:这个该怎么修改? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-10 20:21

AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0&&TRADE_AGAIN(5);,BK(50);只是这一条可以出现5次的话 

AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0&&BK(50)&&TRADE_AGAIN(5);这样添加进去对吗? 
技术人员回复
日期:2018-5-10 22:08
 不是的,按照您的意思4楼是最接近的

TRADE_AGAIN(5);  必须单独一行的,而且对应语句有BKVOL=0 的判断,不可能连续执行的

您没有文字解释您的思路,所以代码上只能给您改成这样,像您那样写是没用的,而且可能出现回测没信号的问题
 
您仔细看下4楼编写,还有问题您继续问
投资者咨询:这个该怎么修改? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-10 20:21
 我加进去试了一下 发现其他开仓信号也受到了影响 执行了五次。
思路就是  最近六次平仓后的权益总和 除以六次。得到六次平仓后平均权益。然后和当前权益做对比看差多少百分比。 当前权益超过六次平均权益10% 则仓位增加10% ,当前权益低于平均权益20%则仓位减少20%
技术人员回复
日期:2018-5-10 22:34
 我们分析下,明日给您回复
投资者咨询:这个该怎么修改? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-10 20:21
 好的
技术人员回复
日期:2018-5-11 14:20
参考 ,还有问题,请上传您测试完整源码我们看下

 
Q:=IF(BARSSP=1,MONEYREAL,0);
M9:MONEYRATIO;//账户资金使用率
MQ:=SUM(Q,SUMBARS(BARSSP=1,6))/6;
S1:=IF(M9>MQ*1.1,50*1.1,IF(M9<MQ*0.8,50*0.8,50));
 MM:=IF(CROSS(BKVOL=0&&SKVOL=0,0.5),MONEYTOT,0);
T:=SUMBARS(CROSS(BKVOL=0&&SKVOL=0,0.5),F1);
MAM:=SUM(MM,T)/F1;
X1:(IF(MONEYTOT>MAM  , (MONEYTOT-MAM)/MAM,(MONEYTOT-MAM)/MAM));
S3:=MONEYREAL*(F2+X1)/(C*MARGIN*UNIT+FEE); 
S1:IF(S3>0&&S3<1,1,IF(S3>1,INTPART(S3),S3));//小于1 取1,大于1取整数部分。
S2:=(PROFIT*0.35)/(C*MARGIN*UNIT+FEE);//浮盈加仓手数
AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0&&COUNTSIG(BK,0)<6,BK(50);
AMACLOSE>REF(AMACLOSE,4)   &&BKVOL=0&&COUNTSIG(BK,0)>=6,BK(S1);
AMALOW<REF(AMALOW,4) &&BKVOL>0 ,SP(BKVOL);