以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=174969) |
-- 作者:haizxj -- 发布时间:2020/3/15 10:43:33 -- 请问动态行情数据引用怎么办 我用动态行情数据,但是图表上不会显示开平仓, 如果我用数字N=N+1锁定开平仓 怎么写? 开多条件:cond1 平多cond2 是不是这样 n=0 IF COND1 and n=0 AND HOLDING=0 THEN BEGING BUY....... N=N+1; end IF COND2 and n>0 then beging sell.... n=0 end 开空类似 |
-- 作者:haizxj -- 发布时间:2020/3/15 11:53:37 -- 由于是秒询,那么动态行情数据会不断出现 ,可能大于1,开空是不是用另一个字母M代替N |
-- 作者:wenarm -- 发布时间:2020/3/15 14:15:28 -- 动态行情函数没有历史值,不能用于图表交易。你本质上是想用的n代替holding,其实holding是一样的效果。 因为历史k结果受动态函数的影响,无论是n还holding都会跟着动态行情的变化而变化 [此贴子已经被作者于2020/3/15 14:17:38编辑过]
|
-- 作者:haizxj -- 发布时间:2020/3/15 15:10:34 -- 因为图表的持仓与HOLDING同步的,当图表发出开平时,实持才会发出开平。 但图表是基本不会开平或不正确开平。 所以用N来控制开平, |
-- 作者:haizxj -- 发布时间:2020/3/15 15:13:28 -- 买卖点引用了动态行情数据 CONDBUY:=S1<=buypoint; CONDSELL:=S1>=sellpoint; CONDBUYshort:=S2>=buyshortpoint; CONDSELLshort:=S2<=sellshortpoint; if CONDbuyshort and holding=0 and p=0 then BEGIN buyshort (1,1,market),ORDERQUEUE; p=p+1; end if CONDsellshort and p>0 then BEGIN sellshort(1,0,MARKET),ORDERQUEUE; p=0; //buy(1,1,MARKET),ORDERQUEUE; end if CONDBUY and holding=0 AND Q=0 then BEGIN buy(1,1,MARKET),ORDERQUEUE; q=q+1; end if CONDSELL and q>0 then BEGIN sell (1,0,MARKET),ORDERQUEUE;
q=0; // buyshort (1,1,MARKET),ORDERQUEUE; end [此贴子已经被作者于2020/3/15 15:14:13编辑过]
|
-- 作者:wenarm -- 发布时间:2020/3/15 15:29:01 -- 以下是引用haizxj在2020/3/15 15:10:34的发言:
因为图表的持仓与HOLDING同步的,当图表发出开平时,实持才会发出开平。
但图表是基本不会开平或不正确开平。
所以用N来控制开平,
没用的。你的n和holding都在同一个层级。同样无法控制。
你图表策略中不能使用动态行情函数。你自己单独输出看下,它在每根k上都是最新的值,动态行情函数变化时全部都会变化。、历史条件根本没法控制。 所以图表策略每次计算你的所有的条件都会发生变化。
[此贴子已经被作者于2020/3/15 15:31:20编辑过]
|
-- 作者:haizxj -- 发布时间:2020/3/15 15:38:57 -- 怎么解决这个问题呢? |
-- 作者:yukizzc -- 发布时间:2020/3/15 15:44:30 -- 无法解决,只有最新值没有历史值函数建议在后台中使用,不建议图表使用。
举例:你在软件里是看不到昨天前天的账户持仓情况和资金的,所以不能用在图表 |
-- 作者:haizxj -- 发布时间:2020/3/15 15:50:36 -- 如果用后台这样来,好像也不能解决 ZLDJ:=DYNAINFO2(28,ZL); //主力买价 ZLKJ:=DYNAINFO2(34,ZL); //主力卖价ZLDL:=DYNAINFO2(25,ZL); //主力买量 ZLKL:=DYNAINFO2(31,ZL); //主力卖量 |
-- 作者:wenarm -- 发布时间:2020/3/15 15:54:58 -- 这个没有替代方法。只能后台程序化解决这个问题。
|