以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  用REF(开仓条件,1)判断开仓,如何避免连续两根k线都满足条件的情况呢?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=53026)

--  作者:vba
--  发布时间:2013/6/14 11:12:40
--  用REF(开仓条件,1)判断开仓,如何避免连续两根k线都满足条件的情况呢?

用固定轮询1秒模式,

如果第一根k线满足条件,则第二根k线开盘发单。那如果第二根k线也满足条件,则第三个k线也会再发一次单,这个怎么办呢?

 

开仓条件:=CLOSE<OPEN;

IF REF(开仓条件 AND STATE=0,1) THEN

BEGIN
 IF ISLASTBAR THEN
  BUYSHORT(1,1,MARKETr);
 ELSE
  BUYSHORT(1,1,LIMITr,OPEN);
END

 

这个该怎么改呢?把STATE=0放到REF外面我又担心会信号消失。请老师指导一下,谢谢!

理论上第三根不应该开仓的,因为到第二根state应该已经是-1了,可为什么还会开仓呢?

[此贴子已经被作者于2013/6/14 11:13:23编辑过]

--  作者:vba
--  发布时间:2013/6/14 13:27:49
--  
我奇怪的是为什么会连开2次仓,第一次开仓后state就是-1了!我哪里错了呢?盼老师指导啊!
--  作者:jinzhe
--  发布时间:2013/6/14 13:41:13
--  
直接 buy(c<o,1,market);不就行了?
--  作者:vba
--  发布时间:2013/6/14 13:44:06
--  
我用的1秒轮询模式,需要在次周期开盘发单,所以必须用ref(开仓条件,1)来判断,即如果上根k线满足,则次周期开盘发单!问题是,如果连续2根k线都满足开仓条件,会出现2个开仓信号,我用ref(开仓条件 and STATE=0,1)判断都不行。为什么会出现第二个信号呢?第一次开完仓后,state就应该是-1了啊!
[此贴子已经被作者于2013/6/14 13:44:32编辑过]

--  作者:admin
--  发布时间:2013/6/14 13:49:42
--  
holding控制
--  作者:every
--  发布时间:2013/6/14 13:52:03
--  

开仓条件:=CLOSE<OPEN;

 

IF REF(开仓条件,1) AND holding=0,THEN

BEGIN
 IF ISLASTBAR THEN
  BUYSHORT(1,1,MARKETr);
 ELSE
  BUYSHORT(1,1,LIMITr,OPEN);
END

[此贴子已经被作者于2013/6/14 13:52:43编辑过]

--  作者:vba
--  发布时间:2013/6/18 14:24:59
--  

我改成

开仓条件:=CLOSE<OPEN;

 

IF REF(开仓条件,1) AND holding=0 THEN

BEGIN
 IF ISLASTBAR THEN
  BUYSHORT(1,1,MARKETr);
 ELSE
  BUYSHORT(1,1,LIMITr,OPEN);
END

 

实盘的时候

在同一根k线上有时还是会发两次单子。请问是怎么回事?但图表上只显示了一个信号!当然条件肯定不是上面这个简单的,但是原理相同!

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013/6/18 14:25:15编辑过]

--  作者:jinzhe
--  发布时间:2013/6/18 14:30:33
--  
周期是什么?用固定轮询模式?
--  作者:vba
--  发布时间:2013/6/18 14:31:43
--  

3分钟周期,1秒固定轮训!


--  作者:vba
--  发布时间:2013/6/18 14:35:01
--  

如果需要代码,请留下QQ,急,实盘程序化,请老师帮忙呀!