你的涨幅需要怎么定义?涨幅=abs((开盘-收盘)/开盘)
类似下面的方式
cond:abs(open-close)/open)>0.01;
buy(holding=0 and cond,手数,MARKET);
[此贴子已经被作者于2016/3/9 21:21:02编辑过]
是指 只要在10分钟内(最高价-最低价)/最低价>1% 开多仓
比如当前价格100,3分钟后(满足10分钟内)涨到了101,并且没有仓位,就开多仓。
以下是引用wenarm在2016/3/9 21:20:45的发言:
你的涨幅需要怎么定义?涨幅=abs((开盘-收盘)/开盘)
类似下面的方式
cond:abs(open-close)/open)>0.01;
buy(holding=0 and cond,手数,MARKET);
是指 只要在10分钟内(最高价-最低价)/最低价>1% 开多仓
比如当前价格100,3分钟后(满足10分钟内)涨到了101,并且没有仓位,就开多仓。
[此贴子已经被作者于2016/3/9 21:56:46编辑过]
cond:abs(high-low)/low)>0.01;
buy(holding=0 and cond,手数,MARKET);
以下是引用wenarm在2016/3/9 22:19:08的发言:
cond:abs(high-low)/low)>0.01;
buy(holding=0 and cond,手数,MARKET);
谢谢您的回答,但是这样如何限制在10分钟内完成才有效呢?
以下是引用wenarm在2016/3/9 22:19:08的发言:
cond:abs(high-low)/low)>0.01;
buy(holding=0 and cond,手数,MARKET);
如果是这样写的话,比如花了15分钟从100涨到101也会开仓,怎样才能把这个有效时间限制在10分钟内呢?
首先你要先确定你的策略运行在什么周期上。
你可以使用跨周期引用10分钟周期中条件的结果作为你15分钟周期上的条件进行处理
公式111.
cond10:abs(high-low)/low)>0.01;
公式222
cond15:STKINDI('','111.cond10',0,18);
buy(holding=0 and cond15,手数,MARKET);