以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  止损后再开仓如何写  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=161610)

--  作者:我心飞翔
--  发布时间:2018/2/16 0:09:38
--  止损后再开仓如何写
如题,在1分钟周期上,设当日开盘价为S,若满足条件A后以对手价开多仓,回撤20点后马上平仓,平仓后以开盘价挂多单,若能成交则不论盈亏直至收盘前2分钟平仓(即一天最多开仓两次),请教老师如何实现上述思路?谢谢!
--  作者:yukizzc
--  发布时间:2018/2/21 18:23:03
--  

if condA then buy();

DTYDZS:=(HHV(H,ENTERBARS)-CLOSE)>20;

if DTYDZS then sell();

图表无法判断是否成交这个状态,图表都是根据理论持仓来计算,所以dtydzs回落平仓后就是当作平仓完成的


--  作者:我心飞翔
--  发布时间:2018/2/21 21:22:45
--  
老师:第二次开仓不能指定用当天的开盘价来挂单吗?
--  作者:FireScript
--  发布时间:2018/2/22 9:07:59
--  

可以的,下单指令用限价单即可,并且用callstock引用下当日开盘价。

buy(1,1,limit,CALLSTOCK(\'\',vtopen,6))


--  作者:我心飞翔
--  发布时间:2018/2/22 12:44:09
--  
谢谢各位老师的解答!
--  作者:我心飞翔
--  发布时间:2018/2/22 13:57:40
--  
老师:我把下面这句加到策略里面后,编译时系统提示"vtopen 交易系统函数的第三个参数必须为交易控制符",想问一下错在哪?
buy(1,1,limit,CALLSTOCK(\'\',vtopen,6))
我改成如下语句也提示相同的错误
buy(1,1,limit,CALLSTOCK(\'\',vtopen,6,0))

--  作者:FireScript
--  发布时间:2018/2/22 14:13:47
--  

这样改下吧

s:CALLSTOCK(\'\',vtopen,6);
buy(1,1,limit,s);

 

 


--  作者:我心飞翔
--  发布时间:2018/2/22 14:15:36
--  
好的,我再试试,谢谢了!
--  作者:我心飞翔
--  发布时间:2018/2/22 14:16:48
--  
可以了,谢谢!