专门交易品种:股指期货。(其它品种不适用)
条件一:
最近4根K线的组合:第四根K线的收盘价(以K线走完为准)高于前三根K线的开盘和收盘价(并非最高、最低价),发出买入信号,反之,发出卖出信号。
条件二:
若第三根K线的开盘和收盘价的绝对差在小于或等于5点以内,则条件一成立,若第三根K线的值大于5,则第三根为转折信号。
条件三:
止损:固定为4个点(相当于建仓后的20个价位),止盈:1、转折全平,2、最近3根K线组合中,第三根收盘破前2根K线的开盘和收盘价。2个条件其中1个达到即为平仓信号。
后台交易,能交易多个账号,每个账号可设置不同手数。
2、最近3根K线组合中,第三根收盘破前2根K线的开盘和收盘价。对于这三根K线,第三根K线只要破第一根或第二根任一一根的开盘或收盘么?
正在编写,请耐心等待
不是任意一根,而是前2根K线的开盘、收盘价中的最高或最低值。例如:多头持仓,遇反转,则在最近的3根K线中,第3根的收盘值跌破了前2根K线的开盘或收盘值的最低值,因为前2根K线有可能是2根阴线,也可能是一阳一阴,。可能是2根阳线。
以下代码实现多头开平仓,空头开平仓雷同,请您自行完善
//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);
以下代码实现后台多头开平仓,空头开平仓雷同,请您自行完善
//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,'');
飞侠版主:编写的指标和原意完全不符。
原意:最近4条K线走完,若第4根K线的收盘价高于前3根K线的开盘或者收盘的最高值,平空开多;
最近4条K线走完,若第4根K线的收盘价低于前3根K线的开盘或者收盘的最高值,平多开空;
以上用于图表交易即可。
如果需要止损,止盈,请参考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
完全按照楼主的策略做了一下测试,期指日内交易各个周期都赔得一塌糊涂。用了宝贵的时间得出了一个非常不想要的结论:这是一个非常失败的交易策略。