以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 如何实现一根K线只有一个信号? (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=162638) |
-- 作者:qq代人发帖 -- 发布时间:2018/4/10 9:34:35 -- 如何实现一根K线只有一个信号? 如何实现一根K线只有一个信号?
|
-- 作者:gxx978 -- 发布时间:2018/4/10 9:42:58 -- 这就需要看你的开平仓条件是如何写的了,通过代码逻辑判断来实现。满足开仓条件时,并且其他开仓或平仓条件条件不满足时才触发此信号,这样就不会同时多个信号。 [此贴子已经被作者于2018/4/10 9:43:51编辑过]
|
-- 作者:djhfr -- 发布时间:2018/4/10 15:16:47 -- 平空:SELLSHORT(bp4 and HOLDING<0,1,THISCLOSE); //平空信号 为什么这样限制依然会出现同时开平仓。平仓已经限制了有持仓才会触发。 |
-- 作者:banzhuan -- 发布时间:2018/4/10 15:26:19 -- 您是用得固定轮询的模式吗,现在的情况是在同一根K线上开仓了,然后又平掉仓了是吗 ? |
-- 作者:djhfr -- 发布时间:2018/4/10 15:28:05 -- 逐K,只刷最后一根K。同一根K线上开仓了,然后又平掉仓。请问是怎么设置 |
-- 作者:djhfr -- 发布时间:2018/4/10 15:39:24 -- 如何改写成K线走完? |
-- 作者:banzhuan -- 发布时间:2018/4/10 15:40:58 -- 您要用全局变量控制一下,在工具 》 数据管理 》 全局变量中设置一个bar,下面是个例子 begin buy() EXTGBDATASET(\'bar\' , barpos); end if EXTGBDATA( \'bar\')<barpos and 平多条件 then begin sell() end
|
-- 作者:djhfr -- 发布时间:2018/4/10 15:48:00 -- 全局变量设置好了。能不能帮我改写一个信号的例子。我复制你的示例修改不通过。 开多:BUY(bk1 and HOLDING=0,1,THISCLOSE); //开多信号 |
-- 作者:banzhuan -- 发布时间:2018/4/10 16:07:41 -- 您这样需要建立2个全局变量,分开记录多开和空开,列子如下: if extgbdata( \'bar\')<barpos and bk1 then begin 开多:buy(holding=0,1,thisclose); extgbdataset(\'bar\' , barpos); end if extgbdata( \'bar\')<barpos and sp4 then begin 平多:sell(holding>0,1,thisclose); end if extgbdata( \'bar2\')<barpos and sk1 then begin 开空:buyshort(holding=0 ,1,thisclose); extgbdataset(\'bar2\' , barpos); end if extgbdata( \'bar2\')<barpos and bp4 then begin 平空:sellshort( holding<0,1,thisclose); end [此贴子已经被作者于2018/4/10 16:08:03编辑过]
|
-- 作者:djhfr -- 发布时间:2018/4/10 16:17:45 -- ![]() |