当价格大于N日MA后,并且价格持续60分钟都在MA以上,平空开多;假如收盘前10分钟,价格又回到N日MA以下,则恢复原持仓方向,即平多开空;
当价格小于N日MA后,并且价格持续60分钟都在MA以下,平多开空;假如收盘前10分钟,价格又回到N日MA以上,则恢复原持仓方向,即平空开多;
交易周期是什么周期?“持续60分钟”这个判断是和周期关联的,不是所有周期都可以做这个判断的。而且也是按照周期数,而不是实际60分钟,比如1分钟周期,那就是60个周期,5分钟就是12个周期。
这应该是跨周期的,看日线MA指标,在分钟级别上确认信号
新建一个处理小周期判断的指标A,代码如下:
INPUT:N(10,1,100,1);
maN:((N-1)*"MA.MA1##DAY"(N-1)+C)/N;//小周期的当前价格+(N-1)*(日线上个周期的(N-1)周期均价)。 以这种方式计算出均线值。否则直接调用小周期始终会引用到最新的日线均线。无法体现这中间的过程。
t:=timetot0(CLOSETIME(0))-time0;//距离收盘K的跨度(秒)
kd:all(c>maN,60);//是否连续60周期满足
pd:t<=60*10 and c<man;//收盘前10分钟 且c<maN
kk:all(c<maN,60);//是否连续60周期满足
pk:t<=60*10 and c>man;//收盘前10分钟 且c>maN
当前日线级别上调用这个指标A里的判断:
INPUT:N(10,1,100,1),ss(1,1,100,1);
kd:c>ma(c,N) and "A.kd#MIN1"(N);
pd:"A.pd#MIN1";
kk:c<ma(c,N) and "A.kK#MIN1"(N);
pk:"A.pk#MIN1";
if kd or pk then
begin
sellshort(1,holding,market);
buy(holding=0,ss,market);
END
if kk or pd then
begin
sell(1,holding,market);
buyshort(holding=0,ss,market);
END
然后就是这个实际交易中 适用于固定轮训模式。因此这个在图表中进行回测的话,小周期变化的过程是无法体现出来的。只能在实际模拟交易中体现这个过程了。
老师好!因为上述代码编译中有点问题,我在微信群中询问了一下。值班老师帮我写成了两个公式
A公式:
INPUT:N(10,1,100,1);
maN:((N-1)*"MA.MA1##DAY"(N-1)+C)/N;//小周期的当前价格+(N-1)*(日线上个周期的(N-1)周期均价)。 以这种方式计算出均线值。否则直接调用小周期始终会引用到最新的日线均线。无法体现这中间的过程。
t:=timetot0(CLOSETIME(0))-time0;//距离收盘K的跨度(秒)
kd:all(c>maN,60);//是否连续60周期满足
pd:t<=60*10 and c<man;//收盘前10分钟 且c<maN
kk:all(c<maN,60);//是否连续60周期满足
pk:t<=60*10 and c>man;//收盘前10分钟 且c>maN
交易用公式:
INPUT:N(10,1,100,1),ss(1,1,100,1);
kd:c>ma(c,N) and "A.kd#MIN1"(N);
pd:"A.pd#MIN1";
kk:c<ma(c,N) and "A.kK#MIN1"(N);
pk:"A.pk#MIN1";
if kd or pk then
begin
sellshort(1,holding,market);
buy(holding=0,ss,market);
END
if kk or pd then
begin
sell(1,holding,market);
buyshort(holding=0,ss,market);
END
现在的问题是:1、麻烦把上述公式的MA指标改成EMA
2、昨天微信群值班老师说加载之后可以回测。但我加载上去没有任何信号显示
没有信号是因为,你这个需求大量的历史1分钟数据。日线就几个K,但是对应的1分钟数据量是非常大的。1分钟数据覆盖到的地方才可能出信号。

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

[此贴子已经被作者于2021/5/10 14:58:20编辑过]
你可以直接切换到1分钟上,然后键盘上上下键 这样直接补充下这个品种历史1分钟数据即可。
ema的稍微麻烦些。迟点发上来。
另外
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=9439&authorid=0&page=0&star=3
阿火这个帖子里23楼就是处理 这里小周期判断的思路来源,你可以单独先看下。总之就是单纯的小周期调用大周期,只能调用到大周期下最新一个K的值,其内部变化过程是无法纪录下来的。
可以用指数信号映射主力合约交易吗?如果可以,麻烦老师帮我在代码里实现这个需求