思路如下:
m1,m2,m3三根均线(5日,30日,200日),当价格站上M3线,并且m1突破m2开多,10日最低点止损,m1死叉m2平多。
要求,站上m3线后,只交易第一次的m1与m2金叉开多,后面再次金叉不交易。
或者,定义出金叉的次数,让我能直接选择第几次用来进行交易。
比如:我想交易第二次的机会,或者交易第一第二两次机会。
麻烦高手看到编写一下喽
一般这样计算次数就用全局变量
variable:N=0;//定义n
if 金叉 then n:=n+1;//金叉一次就自加1
if n=某个数值 and holding=0 then begin
开仓语句......;
n:=0;
end//当金叉次数到达某个数值之后,开仓,并且重置n为0
variable:N=0;//定义n
if 金叉 then n:=n+1;//金叉一次就自加1
if n=1 and holding=0 then begin
开仓语句......;
end
只开第一次那么就这样写,然后在希望再次开仓的时候把n重新赋值为0
//根据老师上面讲的,我写了如下,但是好象有时候在m3均线上,不止一次交易。请教一下我哪里写的不对。
variable:N=0;//定义n
input:m1(5,1,100,1),m2(30,1,100,1),m3(200,1,500,1);
e1:ema(c,m1);
e2:ema(c,m2);
e3:ema(c,m3);
L10:ref(llv(l,10),1);
if c>e3 and cross(e1,e2) then n:=n+1;//金叉一次就自加1
if n=1 and holding=0 then begin
buy(holding=0,1,market);
end
if cross(e2,e1) then begin
sell(holding>0,0,market);
end
if c<e3 then n:=0;
pdzs:cross(L10,c);
止损:SELL(pdzs,0,market);
找到原因了,开仓条件里没写交叉条件进去。造成平仓后又开仓
[此贴子已经被作者于2015/1/6 17:40:17编辑过]