用指标交易,进场后第3天 或 买入价跌了2% 平仓,怎么写?
例: macd金叉进场,进场后3天 或 买入价跌2% 平仓
求解答。。。
老师,我又细想了下,我把需求详细列一下:
1、周期为30分钟线
2、买点:满足指标即可
3、卖点:
a.买入后,买入价跌2%
b.买入后,10根K线(30分钟K线)内,没有涨2%
c.买入后,三日内(日K线)涨幅未到6%
d.以上均未触发时,买入后的第5天平仓
还望老师能抽空解答,感激不尽
if DATEDIFF( ref(date,ENTERBARS),date )>=3 or (close-ENTERPRICE)/ENTERPRICE<=-0.02 then sell();
一楼的结果。你可以参考上述处理思路进行处理。
(close-ENTERPRICE)/ENTERPRICE<=-0.02 跌幅计算条件
DATEDIFF( ref(date,ENTERBARS),date )>=3//求得上次开仓价是的日期和当前日期的间隔数。
你说的不行指的是什么?上面给你的是代码条件,平仓语句并没有写完整,你自己补充下参数就行。
4楼中的需求基本可以参考上面的条件方式实现。
条件1:=MA(CLOSE,5)>=MA(CLOSE,30);
条件2:=MA(CLOSE,10)>=MA(CLOSE,30);
条件3:=MA(CLOSE,30)>MA(CLOSE,60);
条件4:=MA(CLOSE,60)>MA(CLOSE,120);
条件5:=REF(MA(CLOSE,5),4)>=REF(MA(CLOSE,30),4);
条件6:=REF(MA(CLOSE,10),4)>=REF(MA(CLOSE,30),4);
条件7:=REF(MA(CLOSE,30),4)>REF(MA(CLOSE,60),4);
条件一:=(条件1 AND 条件2 AND 条件3 AND 条件4 AND 条件5 AND 条件6 AND 条件7);
条件9:=(MA(VOL,5) >= (MA(VOL,10)*0.9));
条件10:=SLOPE(LOW,30)>=SLOPE(INDEXL/100,30);
条件11:=REF(SLOPE(LOW,30),20)>= 0;
条件12:=BARSCOUNT(CLOSE)>=250;
条件二:= (条件9 AND 条件10 AND 条件11 AND 条件12);
手数:=ss;
//交易条件
入后跌2:=(close-ENTERPRICE)/ENTERPRICE<=-0.02;
入后3日未到4:=DATEDIFF(ref(date,ENTERBARS),date) = 3 and (close-ENTERPRICE)/ENTERPRICE<= 0.04;
到了第5日:=DATEDIFF( ref(date,ENTERBARS),date) >= 5;
开多平空条件:= 条件一 AND 条件二;//开多平空条件
开空平多条件:= 入后跌2 or 入后3日未到4 or 到了第5日;//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
1.我那几个条件写的对吗,平开操作对不对?
2.买入后10根K线内涨幅未达2% 这个条件不知道怎么写
hh:=hhv(h,enterbars);
aa:(hh-enterprice)/enterprice<=0.02;
pd:enterbars>=10 and aa;
[此贴子已经被作者于2017/6/9 13:28:39编辑过]
条件1:=MA(CLOSE,5)>=MA(CLOSE,30);
条件2:=MA(CLOSE,10)>=MA(CLOSE,30);
条件3:=MA(CLOSE,30)>MA(CLOSE,60);
条件4:=MA(CLOSE,60)>MA(CLOSE,120);
条件5:=REF(MA(CLOSE,5),4)>=REF(MA(CLOSE,30),4);
条件6:=REF(MA(CLOSE,10),4)>=REF(MA(CLOSE,30),4);
条件7:=REF(MA(CLOSE,30),4)>REF(MA(CLOSE,60),4);
条件一:=(条件1 AND 条件2 AND 条件3 AND 条件4 AND 条件5 AND 条件6 AND 条件7);
条件9:=(MA(VOL,5) >= (MA(VOL,10)*0.9));
条件10:=SLOPE(LOW,30)>=SLOPE(INDEXL/100,30);
条件11:=REF(SLOPE(LOW,30),20)>= 0;
条件12:=BARSCOUNT(CLOSE)>=250;
条件二:= (条件9 AND 条件10 AND 条件11 AND 条件12);
cond1:= 条件一 and 条件二;
//交易条件
入后跌2:=(close-ENTERPRICE)/ENTERPRICE<=-0.02;
入后3日未到4:=DATEDIFF(ref(date,ENTERBARS),date) = 3 and (close-ENTERPRICE)/ENTERPRICE<= 0.04;
到了第5日:=DATEDIFF( ref(date,ENTERBARS),date) >= 5;
hh:=hhv(h,enterbars);
aa:(hh-enterprice)/enterprice<=0.02;
pd:enterbars>=10 and aa;//10个周期内涨幅未达到2%
cond2:= 入后跌2 or 入后3日未到4 or 到了第5日 or pd;
if cond1 and holding = 0 then
begin
buy(1,1,limitr,c);
end
if cond2 and HOLDING > 0 THEN
begin
sell(holding>0,1,marketr);
end;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
这样写完,测试为什么没反应