我的交易系统中的开仓手数是用如下方式表达的:INTPART((TACCOUNT(19)/(c*300))/0.15)
平仓手数是用如下方式表达的:REF(ENTERVOL,N)
问题来了:平掉的仓位数不是当初开的仓位数。
我研究了一下,问题大概出在TACCOUNT(19)这个函数上,他只能表示当前位置的可用资金,所以系统平掉的永远是用当前的可用资金计算出来的开仓手数,远小于实际的开仓手数。
该怎么解决这个问题?恳请哪位高人指点一下!或者指教一下“如何调用N周期前的实际开仓手数”,谢谢!
您好,用variable全局变量记录下开仓手数
VARIABL:A=0;//实际开仓手数
IF 开仓条件 THEN
BEGIN
BUY()
A:=A+1;//开仓一次A加1
END
IF 平仓条件 THEN
BEGIN
SELL()
A:=0;//平仓后赋值为0
END
我是金字塔的菜鸟,麻烦老师把上面的例程再给细化一下,先行谢过!
开仓条件如下:
1:当收盘价高于2000的时候开多“账户可用资金*0.5/(c*300/0.15)”手;
2:当收盘价高于2100的时候再开多“账户可用资金*0.5/(c*300/0.15)” 手;
3:当收盘价高于2200的时候再开多“账户可用资金*0.5/(c*300/0.15)” 手;
4:。。。。。。以此类推
平仓条件如下:
1:当价格低于2200的时候把在当时在这个位置上开多的手数平调;
2:当价格低于2100的时候把在当时在这个位置上开多的手数平调;
3:当价格低于2000的时候把在当时在这个位置上开多的手数平调;
再次感谢!