求高人帮忙完成这个简单思路的编写,谢谢。
一、开多:在一分钟周期上,定于两根均线ma5 和 ma20,如果连续三根阳线(前两根阳线收盘价都要满足收盘价收在ma5或者ma20其中一根均线之上,第三根阳线要收在两根均线之上),那我们以第三根阳线的收盘价平空开多。但是这个时候可能会出现一种情况就是第三根阳线是一根长阳线,会对我的开仓价格造成很大的影响。为了能让我取到一个更好的开仓价格,所以我这里有个想法,就是同样前两根K线收阳线并且满足收盘价在ma5或者ma20其中一根均线之上,但是我加上条件:如果第二根的阳线实心部分(也就是这根阳线的收盘价-开盘价)大于前期60日最高与最低的均线(也就是ma(h-l,60)),并且第三根线的价格(这里指的价格是当前这根K线未走完)达到大于前一根阳线的最高价的时候我们立马平空开多(当然,这里必须满足第三根K线在两根均线之上或者刚好上穿这两根均线),这样如果第三根线走完,如果是阳线继续往上那肯定继续持多单仓,如果是阳线但是又不满足我蓝色部分的要求我继续按照我红色部分的想法去平空开多,当然如果收完这根线是阴线我们平仓开空。
二、开空:同样的在一分钟周期上,如果连续三根阴线(前两根阴线收盘价都要满足收盘价收在ma5或者ma20其中一根均线之下,第三根阳线要收在两根均线之下),那我们以第三根阴线的收盘价平多开空。但是这个时候可能会出现一种情况就是第三根阴线是一根长阴线,会对我的开仓价格造成很大的影响。为了能让我取到一个更好的开仓价格,所以我这里有个想法,就是同样前两根K线收阴线并且满足收盘价在ma5或者ma20其中一根均线之下,但是我加上条件:如果第二根的阴线实心部分(也就是这根阴线的开盘价-收盘价)大于前期60日最高与最低的均线(也就是ma(h-l,60)),并且第三根线的价格(这里指的价格是当前这根K线未走完)达到小于前一根阴线的最低价的时候我们立马平多开空(当然,这里必须满足第三根K线在两根均线之下或者刚好下穿这两根均线),这样如果第三根线走完,如果是阴线继续往上那肯定继续持仓,如果是阴线但是又不满足我蓝色部分的要求我继续按照我红色部分的想法去平多开空,当然如果收完这根线是阳线我们平仓开多。
感谢,等待你的回复
仅供参考 这个是平空开多的部分
//用固定时间间隔1秒,来达成k线未走完下单
ma5:ma(c,5);
ma20:ma(c,20);
cond1:all(c>o,3);
cond2:ref(c,2)>ma5 or ref(c,2)>ma20;
cond3:ref(c,1)>ma5 or ref(c,1)>ma20;
cond4:c>ma5 and c>ma20;
aa:=ref(c,1)-ref(o,1);
cond5:aa>ma(h-l,60);
cond6:c=ref(h,1);
if cond1 and cond2 and cond3 and cond4 and cond5 then
begin
sellshort(1,0,market);
buy(1,1,marlet);
end
ma5:=ma(c,5);
ma20:=ma(c,20);
y3:=all(c>o,3);//连着3个阳线
r3:=c>ma5 and c>ma20;//当前在ma20和 ma5之上
r2:=ref(c,2)>ma5 or ref(c,2)>ma20;//第二跟线在ma5或者ma20之上
r1:=ref(c,1)>ma5 or ref(c,1)>ma20;//第一根线在ma5或者ma20之上
m60:=ref(c,1)-ref(c,o))>ma(h-l,60;//这根阳线的收盘价-开盘价大于前期60日最高与最低的均线
h1:=c>ref(h,1);//当前价格大于前一根阳线的最高价
if y3 and r2 and r1 and m60 and h1 and r3 then begin
sellshort(holding<0,0,limitr,c);
buy(holding=0,1,limitr,c);
end
写了个多头的,空头的照着写吧
感谢您的解答,但您这个和三楼的解答一模一样呢,好像不满足我的意思。我所说的根本就没有达到啊
一个策略写出来可能会有一些问题,而且写的时候也是按照您的思路写的,您可以指出哪些部分有问题,没有达到要求,再给您改