以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师帮助看一下这代码有什么问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=54439)

--  作者:sdkj2000
--  发布时间:2013/7/30 13:54:58
--  请老师帮助看一下这代码有什么问题

//开平条件***********************************
平空开多:=MFI>REF(MFI,1) AND H>REF(H,1) AND PDI>MDI AND ADX>9 AND ADX>REF(ADX,1) AND LLV(K,21)<=25;
平多开空:=MFI<REF(MFI,1) AND L<REF(L,1) AND PDI<MDI AND ADX>9 AND ADX>REF(ADX,1) AND HHV(K,21)>=75;
顺势多:=MFI>REF(MFI,1) AND H>REF(H,1) AND ZT1>REF(ZT1,1) AND KD1=1;
顺势空:=MFI<REF(MFI,1) AND L<REF(L,1) AND ZT1<REF(ZT1,1) AND KK1=1;
//调头多:=MFI>MA1 AND H>REF(H,1) AND ZT1>REF(ZT1,1) AND KD2=1;
调头空:=MFI<MA1 AND L<REF(L,1) AND ZT1<REF(ZT1,1) AND (KK2=1 OR KK3=1);

平多1:=L<(ENTERPRICE*0.99)-1;
平多2:=L<REF(DD15,1);
平空1:=H>(ENTERPRICE*1.01)+1;
平空2:=H>REF(GD15,1);

//交易系统***********************************

SELLSHORT(平空1=1 and HOLDING<0,0,MARKETR);
SELLSHORT(平空2=1 and HOLDING<0,0,MARKETR);
SELL(平多1=1 and HOLDING>0,0,MARKETR);
SELL(平多2=1 and HOLDING>0,0,MARKETR);
  
SELL(平多开空=1 and HOLDING>0, 0,MARKETR),ORDERQUEUE;
BUYSHORT(平多开空=1 and HOLDING=0,ss,MARKETR),ORDERQUEUE;
SELLSHORT(平空开多=1 and HOLDING<0, 0,MARKETR),ORDERQUEUE;
BUY(平空开多=1 and HOLDING=0,ss,MARKETR),ORDERQUEUE;

BUYSHORT(顺势空=1 and HOLDING=0,ss,MARKETR); 
BUYSHORT(调头空=1 and HOLDING=0,ss,MARKETR);


BUY(顺势多=1 and  HOLDING=0,ss,MARKETR);

我的问题是这样的:

今天系统运行应该达到了"平空1“的条件,但是系统没有任何显示,账户也没平仓,我是实盘操作的,请老师帮助看一下这代码有什么问题么?这个模型我用了挺长时间了,买卖平仓操作也应该有十几次了,以前没出过这样的问题啊。这次不知道为什么

 


--  作者:jinzhe
--  发布时间:2013/7/30 14:06:35
--  
有出信号了吗?
--  作者:sdkj2000
--  发布时间:2013/7/30 14:09:57
--  
没出信号,账户也没平仓。
--  作者:jinzhe
--  发布时间:2013/7/30 14:20:01
--  
没信号就是条件没达到,不要自己认为条件满足就是满足,出信号才说明了条件满足
[此贴子已经被作者于2013/7/30 14:20:08编辑过]

--  作者:sdkj2000
--  发布时间:2013/7/30 14:42:12
--  
平空1:=H>(ENTERPRICE*1.01)+1;
就这么一条简单条件,我自己去判断他是否满足了很困难么?今天他确实满足了平仓条件,而且超过了许多,系统确实没发什么信号,账户也确实没平仓,我发帖的意思是想请老师帮我看一下代码有没有什么问题,不是请老师帮我判断条件是否满足了。就算我资质再愚钝,判断这么简单的条件是否满足了应该不会出什么问题吧。况且开仓信号和点位明明白白的在那里显示着呢!
--  作者:jinzhe
--  发布时间:2013/7/30 14:47:14
--  

做程序化不要凭感觉,调试输出变量结果,查看是否真的条件满足

调试方法:http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=1246&replyID=&skin=1

 


--  作者:sdkj2000
--  发布时间:2013/7/30 15:07:44
--  
金字塔软件运行的流畅度会让人忘掉文华财经,但是金字塔客服的水平和服务态度让我特别怀念文华财经。进入你们的论坛有一种到中国的政府机关办事的感觉。不同的是政府机关不会在乎到他们那里去的人越来越少,你们也不在乎么?
--  作者:sdkj2000
--  发布时间:2013/7/30 16:56:42
--  

     “ENTERPRICE”这个函数给出的注释是“上次的开仓价”,但它的实质可能是“上次开仓的那根K线的收盘价”,如果那根K线的上影线或者下影线较长的话,那么这个函数造成的误差就会很大。这个应该是我上面提出的“该平仓时不平仓”的根本原因。这是我验证了很多以往数据所得出的结论,不知道是否正确,如果错了请谅解!

     绷起脸来做专家并且随意的去说教提出问题的人,比起仔细的看看代码然后反复的验证得出结论(即使是错误的结论)再去辅导提出问题的人来说,更容易露怯,你说呢?


--  作者:jinzhe
--  发布时间:2013/7/31 9:00:45
--  

marketr函数解释有前后两个部分

前半个部分说明了图表上的价格是本周期收盘价,后面说明了实际下单时的情况

而图表交易函数enterprice取到的就是前面的价格

所以说上开仓k线收盘价,就是marketr在图表上的价格,和实际成交价格没有任何关系,这个是由图表的特性决定的,这个的链接里面也有部分说明这个图表和后台程序之间的不同点

http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=29594

 

[此贴子已经被作者于2013/7/31 9:02:33编辑过]

--  作者:fly
--  发布时间:2013/7/31 17:52:04
--  

回8楼,您说的问题,enterprice这个函数是虚拟的,图表程序化策略整个是基于虚拟的交易信号和虚拟的开平仓价格,在这个前提下,会有您说的问题.

 

要处理的帖子比较多,技术客服的回答态度上是生硬了些,真心的希望您能谅解.

 

我仔细的想了想,图表程序化,确实满足不了,取到真实的开仓价

后台程序化是跟实盘紧密联系起来的,您能否考虑一下,将次类的策略转到后台程序化交易--用其序列模式.

如果转的过程中遇到困难,很乐意帮助您这样的学习能力比较强的优质客户