以螺纹钢1701举例吧.
如果当前价格突破昨天最高价,买入1手,止损5个点,止盈10个点;
如果当前价格跌破昨天最低价,卖出1手,止损5个点,止盈10个点;
由于是和最新价对比的, 是不是要用固定时间间隔模式? 谢谢老师.
h1:=callstock(stklabel,vthigh,6,-1);
l1:=callstock(stklabel,vtlow,6,-1);
if h>h1 then buy(holding=0,1,thisclose);
if l<l1 then buyshort(holding=0,1,thisclose);
if h>enterprice+10 and holding>0 then sell(1,0,thisclose);
if l<enterprice-5 and holding>0 then sell(1,0,thisclose);
if l<enterprice-10 and holding<0 then sellshort(1,0,thisclose);
if h>enterprice+5 and holding<0 then sellshort(1,0,thisclose);
用固定时间间隔模式
老师,系统说我使用了图表交易函数,强制我更改到逐K线模式了.
估计是我不知道怎么设置固定时间间隔的,因看到代码窗口中只有逐K线模式和序列模式, 不知道这个固定时间间隔在哪里设置的. 老师能指点下吗?
程序化真是机关多多啊.稍微一不谙,可能就会有很多问题.拿这个简单的小程序举例吧.
突破昨天最高价,做多1手,止损5个点,止盈10个点.
假如昨天最高价是2000, 现在的价格是2001了,就买入了1手;
然后,价格继续上涨,到2011的时候,止盈了.
止盈之后,程序会再次进行判断啊.
程序一看,哟,这价格是2011啊,还是比昨天最高价2000多啊,那我再开一手!
于是,程序又买入了1手,还是止损5个点,止盈10个点;
就这样,只要价格一直在昨天最高价之上, 如果持仓被止损或止盈平掉之后,就会立即再开多单1手了.
我还不知道怎么避免这个问题呢.嘿嘿.
我的想法是这样,以做多举例.
当今天的价格从下向上走, 突破了昨天的最高价时, 才买入一手.
只有在突破时才买入,我估计是应该用一个类似cross之类的函数吧. 因单纯的用h>h1这样的, 估计会不停地出现开仓信号了.