以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  [求助]股指日内交易策略编写  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=7311)

--  作者:abc81972
--  发布时间:2011/7/23 17:41:48
--  [求助]股指日内交易策略编写

专门交易品种:股指期货。(其它品种不适用)

条件一:

      最近4根K线的组合:第四根K线的收盘价(以K线走完为准)高于前三根K线的开盘和收盘价(并非最高、最低价),发出买入信号,反之,发出卖出信号。

条件二:

      若第三根K线的开盘和收盘价的绝对差在小于或等于5点以内,则条件一成立,若第三根K线的值大于5,则第三根为转折信号。

条件三:

      止损:固定为4个点(相当于建仓后的20个价位),止盈:1、转折全平,2、最近3根K线组合中,第三根收盘破前2根K线的开盘和收盘价。2个条件其中1个达到即为平仓信号。

 

后台交易,能交易多个账号,每个账号可设置不同手数。


--  作者:xiangxiang
--  发布时间:2011/7/24 19:00:21
--  

2、最近3根K线组合中,第三根收盘破前2根K线的开盘和收盘价。对于这三根K线,第三根K线只要破第一根或第二根任一一根的开盘或收盘么?

 


--  作者:fly
--  发布时间:2011/7/25 9:42:46
--  

正在编写,请耐心等待


--  作者:abc81972
--  发布时间:2011/7/25 10:24:38
--  

不是任意一根,而是前2根K线的开盘、收盘价中的最高或最低值。例如:多头持仓,遇反转,则在最近的3根K线中,第3根的收盘值跌破了前2根K线的开盘或收盘值的最低值,因为前2根K线有可能是2根阴线,也可能是一阳一阴,。可能是2根阳线。


--  作者:fly
--  发布时间:2011/7/25 10:33:17
--  

以下代码实现多头开平仓,空头开平仓雷同,请您自行完善

 

//K线走完,逐K线,图表程序化交易

 

//准备需要的中间变量
ho3 := ref(hhv(open,3),1);
hc3 := ref(hhv(close,3),1);
ho2 := ref(hhv(open,2),1);
hc2 := ref(hhv(close,2),1);

 

hoc3:=max(ho3,hc3);
hoc2:=max(ho2,hc2);

//建立多头的进场条件
long := c>hoc3 and abs(ref(open,1)-ref(close,1))<5*mindiff;

if long then
 begin
 buy(holding = 0, 1, limit, c);
 end
 
//多头止损 
sell(c<=enterprice-20*mindiff and holding>0,1,market);

//多头止赢
if (abs(open-close)>=5*mindiff or c>hoc2) and enterbars>0 then
sell(holding>0 ,1,market);


--  作者:fly
--  发布时间:2011/7/25 10:35:01
--  

以下代码实现后台多头开平仓,空头开平仓雷同,请您自行完善

 

//K线走完,后台程序化交易

 

//准备需要的中间变量
ho3 := ref(hhv(open,3),1);
hc3 := ref(hhv(close,3),1);
ho2 := ref(hhv(open,2),1);
hc2 := ref(hhv(close,2),1);

 

hoc3:=max(ho3,hc3);
hoc2:=max(ho2,hc2);

//建立多头的进场条件
long := c>hoc3 and abs(ref(open,1)-ref(close,1))<5*mindiff;

if long and tholding=0 then
 begin
 tbuy(1, 1, mkt, 0,0,\'\');
 end
 
//多头止损
if c<=tenterprice-20*mindiff and tholding>0 and tenterbars>0 then
tsell(1,1,mkt,0,0,\'\');

//多头止赢
if (abs(open-close)>=5*mindiff or c>hoc2) and tholding>0 and tenterbars>0 then
tsell(1 ,1,mkt,0,0,\'\');

[此贴子已经被作者于2011-7-25 10:38:24编辑过]

--  作者:abc81972
--  发布时间:2011/7/28 13:37:49
--  不是需求的效果

飞侠版主:编写的指标和原意完全不符。

原意:最近4条K线走完,若第4根K线的收盘价高于前3根K线的开盘或者收盘的最高值,平空开多;

        最近4条K线走完,若第4根K线的收盘价低于前3根K线的开盘或者收盘的最高值,平多开空;

        以上用于图表交易即可。


--  作者:fly
--  发布时间:2011/7/28 14:04:24
--  

如果需要止损,止盈,请参考5楼写法

 

//最近4条K线走完,若第4根K线的收盘价高于前3根K线的开盘或者收盘的最高值,平空开多;

//最近4条K线走完,若第4根K线的收盘价低于前3根K线的开盘或者收盘的最低值,平多开空;

//且第三根K线的开盘和收盘价的绝对差在小于或等于5点以内

 

//K线走完,逐K线,图表程序化交易


ho3 := ref(hhv(open,3),1);
hc3 := ref(hhv(close,3),1);
lo3 := ref(llv(open,3),1);
lc3 := ref(llv(close,3),1);

 

hoc3:=max(ho3,hc3);
loc3:=min(lo3,lc3);

 

//建立多头的进场条件
long := c>hoc3 and abs(ref(open,1)-ref(close,1))<5*mindiff;

if long then
 begin
 sellshort(holding < 0, 1, thisclose);
 buy(holding = 0, 1, thisclose);
 end
 
//建立头的进场条件
short := c<loc3 and abs(ref(open,1)-ref(close,1))<5*mindiff;
if short then
 begin
 sell(holding > 0, 1, thisclose);
 buyshort(holding = 0, 1, thisclose);
 end


--  作者:jokery
--  发布时间:2011/8/29 2:31:20
--  

完全按照楼主的策略做了一下测试,期指日内交易各个周期都赔得一塌糊涂。用了宝贵的时间得出了一个非常不想要的结论:这是一个非常失败的交易策略。


--  作者:蔡宛宏
--  发布时间:2011/12/19 17:21:53
--  
这个模式识别的策略太鲁莽了 能不能做一下统计分析再来做啊