Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共105 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[11]
[浏览完整版]

标题:请帮忙写个代码

1楼
悠莲 发表于:2021/5/7 10:22:14
当价格大于N日MA后,并且价格持续60分钟都在MA以上,平空开多;假如收盘前10分钟,价格又回到N日MA以下,则恢复原持仓方向,即平多开空;
当价格小于N日MA后,并且价格持续60分钟都在MA以下,平多开空;假如收盘前10分钟,价格又回到N日MA以上,则恢复原持仓方向,即平空开多;
2楼
FireScript 发表于:2021/5/7 10:27:29
 交易周期是什么周期?“持续60分钟”这个判断是和周期关联的,不是所有周期都可以做这个判断的。而且也是按照周期数,而不是实际60分钟,比如1分钟周期,那就是60个周期,5分钟就是12个周期。
3楼
悠莲 发表于:2021/5/7 11:00:09
日线周期
4楼
悠莲 发表于:2021/5/7 11:10:57
这应该是跨周期的,看日线MA指标,在分钟级别上确认信号
5楼
FireScript 发表于:2021/5/7 14:07:30
 新建一个处理小周期判断的指标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

然后就是这个实际交易中 适用于固定轮训模式。因此这个在图表中进行回测的话,小周期变化的过程是无法体现出来的。只能在实际模拟交易中体现这个过程了。

6楼
悠莲 发表于:2021/5/10 14:52:54
老师好!
因为上述代码编译中有点问题,我在微信群中询问了一下。值班老师帮我写成了两个公式
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、昨天微信群值班老师说加载之后可以回测。但我加载上去没有任何信号显示
7楼
FireScript 发表于:2021/5/10 14:58:03
 没有信号是因为,你这个需求大量的历史1分钟数据。日线就几个K,但是对应的1分钟数据量是非常大的。1分钟数据覆盖到的地方才可能出信号。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/5/10 14:58:20编辑过]
8楼
FireScript 发表于:2021/5/10 15:04:16
 你可以直接切换到1分钟上,然后键盘上上下键 这样直接补充下这个品种历史1分钟数据即可。

9楼
FireScript 发表于:2021/5/10 15:22:54
 ema的稍微麻烦些。迟点发上来。

另外
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=9439&authorid=0&page=0&star=3

阿火这个帖子里23楼就是处理 这里小周期判断的思路来源,你可以单独先看下。总之就是单纯的小周期调用大周期,只能调用到大周期下最新一个K的值,其内部变化过程是无法纪录下来的。
10楼
悠莲 发表于:2021/5/11 10:26:30
可以用指数信号映射主力合约交易吗?如果可以,麻烦老师帮我在代码里实现这个需求
共105 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[11]


Powered By Dvbbs Version 8.3.0
Processed in .05859 s, 3 queries.