以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问动态行情数据引用怎么办  (http://weistock.com/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
--  

这个没有替代方法。只能后台程序化解决这个问题。