老师好! 请问期指交割日只能平仓,不开仓 。如何实现?
另外,最近2次交易(每次全平算一次交易)都是亏损,然后如果当前最新K 的收盘价 没有下穿2次交易期间最低价或者没有上穿2次交易期间最高价 不开仓。如何实现?
谢谢!
用这个函数DYNAINFO(226)判断下。如果当前是交割日期,那么开仓就限制下,这个判断写到开仓条件里面去就行了。
谢谢!
下面问题还请老师指点。
最近2次交易(每次全平算一次交易)都是亏损,然后如果当前最新K 的收盘价 没有下穿2次交易期间最低价或者没有上穿2次交易期间最高价 不开仓。如何实现?
ma5:ma(c,5);
ma10:ma(c,10);
buycond:cross(ma5,ma10) and holding=0;//开仓条件
sellcond:cross(ma10,ma5) and holding>0;//平仓条件
cd1:NUMPROFIT(1)<0 and NUMPROFIT(2)<0;//最近2次交易亏损
len1:TYPEBAR(1,2);//上1次平仓距离现在位置
len2:TYPEBAR(2,1);//上第2次开仓距离现在位置
hhv_1:ref(hhv(h,TYPEBAR(2,1)+1),len1);//2次交易,从开仓到平仓之间的最高价。
llv_1:ref(llv(l,TYPEBAR(2,1)+1),len1);
cd2:cross(c,hhv_1) or cross(llv_1,c);
cd:cd1 and not(cd2);//亏损2次且最新价没有上穿hhv_1 或下穿 llv_1
buy(buycond and not(cd),1,market);//开仓条件必须满足 not(cd)
sell(sellcond,1,market);
提供一个范例,不过写的时候发现一个问题。

此主题相关图片如下:temp.png

这2个线就是那个最高最低价的线。后面上穿和开仓条件可能不在一个K上触发,可能会导致后面虽然上穿了 但是原始开仓条件不满足不开仓。
这个范例你先理解下思路,并且这个只是单方向的,多空都有的话,你必须理解了思路才能修改到自己的交易策略里面去。