变量未定义 (文华财经WH8赢智V8.2)

投资者咨询:变量未定义 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-7 12:38
 这里显示KKK无定义?
VARIABLE:KK:=KKK;
IF BARSSP=1&&LASTOFFSETPROFIT<0 THEN
BEGIN
KK:=KKK*1.1;
END
IF BARSBP=1&&LASTOFFSETPROFIT<0 THEN
BEGIN
KK:=KKK*1.1;
END
IF (BARSBP=1||BARSSP=1)&&LASTOFFSETPROFIT>0 THEN
BEGIN
KK:=KKK;
END
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
ATR := MA(TR,N);
K:=MONEY*0.5/(C*MARGIN*UNIT+FEE); //模组子账户可用资金的20%可以开仓的手数(此写法适用于按固定手数收取手续费的合约
KKK:MIN(MAX(1*1000/(ATR*UNIT),1),K),NODRAW;
 
技术人员回复
日期:2018-7-7 16:27
 是的,您1楼的源码并没有定义KKK变量,不能直接用来计算KK,所以给您提示

并且全局变量KK需要先赋予一个确定的初始值,用kkk不行的
投资者咨询:变量未定义 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-7-7 12:38
 1楼的最后一行就是定义的KKK,那要如何实现上面的仓位管理呢?
技术人员回复
日期:2018-7-10 8:23
如下模型

VARIABLE:KK:=0;
K:=MONEY*0.5/(C*MARGIN*UNIT+FEE); //模组子账户可用资金的20%可以开仓的手数(此写法适用于按固定手数收取手续费的合约

IF BARSSP=1&&LASTOFFSETPROFIT<0 THEN
BEGIN
KK:=K*1.1;
END
IF BARSBP=1&&LASTOFFSETPROFIT<0 THEN
BEGIN
KK:=K*1.1;
END
IF (BARSBP=1||BARSSP=1)&&LASTOFFSETPROFIT>0||BARPOS=1 THEN
BEGIN
KK:=K;
END
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
ATR := MA(TR,26);
ISUP,BK(KK);