测试交易系统时发现buy指令有问题,满足条件后不执行,为了测试。我让每个K线上都显示开仓指示,写了下面的代码,请官方测试:
{测试buy指令}
buy(1); {//不能在每个K线上显示开仓指示。}
enterlong:1; {//正常}
另外,开仓后,与下次交易之前,CASH(0)显示的可用现金怎么会随着股价的涨跌而变化?而且开仓当天是负数。
分别用下面两个例子测试一下,注意看各值的变化
enterlong:1;
//buy(1,1);
资产:ASSET,NOAXIS;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;
不知道你说的不正常是什么意思.
你看看BUY参数的具体用法吧.
第二个参数V:买入股(手)数或买入资金百分比(N%),若为0或者省略表示100%;
ENTERLONG属于简单交易系统,由于不带资金和仓位管理,故会在所有周期都显示
BUY指令属于较为高级的交易系统,用这个指令可以模拟我们日常的各种买卖操作,buy(1,100%) 表示你一次性把所有资金都用光了,自然后面不会再有资金开仓。
你可以在公式属性里调整初始资金的数量
以上图为例
buy(1,100%) 语句中的100%是指的可用资金的100%,不是你总资产的100%, 由于上图的品种是保证金模式的,金字塔的资产结构按照融资荣券模式,当后面的品种价格上涨以后,资产的增加又会增加到可用资金当中,又够买一手的品种了,故后面会有不断的买入1手的操作,直到不够为止
如果你觉得这种模式不是你想要的,那么请使用股票的100%保证金模式。