设为首页收藏本站

 找回密码
 注册
查看: 6631|回复: 12
打印 上一主题 下一主题

求教:如判断均线的角度向上? [复制链接]

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
跳转到指定楼层
1#
发表于 2012-4-12 16:20:32 |只看该作者 |倒序浏览
本帖最后由 傻了吧 于 2012-4-12 16:22 编辑

比如希望在MA5和MA10都是向上,并且多头排列,也就是5均线在10均线之上。
这种状态连续5个周期后开多单,请教代码如何实现?谢谢

初级操盘手

懒惰的投机者

Rank: 8Rank: 8

精华
0
UID
68068
积分
6702
帖子
483
主题
31
阅读权限
100
注册时间
2011-9-27
最后登录
2022-2-18
2#
发表于 2012-4-12 19:06:42 |只看该作者
con1=ma1[1]>ma2[1] && ma1[2]>ma2[2] && ma1[3]>ma2[3] && ma1[4]>ma2[4] && ma1[5]>ma2[5];
con2=ma1[1]>ma1[2]>ma1[3]>ma1[4]>ma1[5];
if(con1 && con2)
{
     ......;
}
以上是最笨的办法。考虑了前5个周期,如果你需要5个周期,可以将[5]去掉。然后使用当前bar的open开仓,防止未来函数的发生。
con1保证了一直是多头排列,con2保证了均线一直向上。
也即LZ的要求了。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
31697
积分
671
帖子
137
主题
13
阅读权限
60
注册时间
2011-4-2
最后登录
2020-10-8
3#
发表于 2012-4-12 20:41:08 |只看该作者
莫小漠 发表于 2012-4-12 19:06
con1=ma1[1]>ma2[1] && ma1[2]>ma2[2] && ma1[3]>ma2[3] && ma1[4]>ma2[4] && ma1[5]>ma2[5];
con2=ma1[1 ...

非常感谢~~

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
101507
积分
3699
帖子
194
主题
25
阅读权限
80
注册时间
2012-3-1
最后登录
2016-6-4
4#
发表于 2012-4-24 14:06:15 |只看该作者
保存························

使用道具 举报

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
5#
发表于 2012-4-24 23:18:54 |只看该作者
留着

使用道具 举报

Rank: 1

精华
0
UID
110178
积分
26
帖子
6
主题
0
阅读权限
10
注册时间
2012-4-24
最后登录
2012-4-27
6#
发表于 2012-4-24 23:45:58 |只看该作者
有点繁,那如果是要10周期满足条件,呢;??

使用道具 举报

Rank: 8Rank: 8

精华
0
UID
17581
积分
5464
帖子
275
主题
27
阅读权限
100
注册时间
2010-10-13
最后登录
2021-8-30
7#
发表于 2012-4-25 09:43:56 |只看该作者
bars(10);

con=true;
for i=0 to bars
{
if(ma1[i]<ma2[i] || ma1[i]<ma1[i+1] || ma2[i]<ma2[i+1]){
con=false;
i=bars+1;
}
}
if(con)
{
     ......;
}

没仔细写,大概就是这样吧

使用道具 举报

Rank: 8Rank: 8

精华
0
UID
17581
积分
5464
帖子
275
主题
27
阅读权限
100
注册时间
2010-10-13
最后登录
2021-8-30
8#
发表于 2012-4-25 15:24:05 |只看该作者
想了个更简单的方法

Params
        Numeric length1(5);
        Numeric length2(10);
        Numeric bars(3);
Vars
        NumericSeries ma1;
        NumericSeries ma2;
        Numeric Counts(0);
Begin
        ma1=Average(c,length1);
        ma2=Average(c,length2);
        Counts=CountIf(ma1>ma2&&ma1>ma1[1]&&ma2>ma2[1],bars);
        PlotNumeric("1",counts);
        If(counts==bars)Buy(1,0);
end

使用道具 举报

Rank: 4

精华
0
UID
116043
积分
315
帖子
181
主题
30
阅读权限
50
注册时间
2013-2-28
最后登录
2017-1-24
9#
发表于 2013-4-10 14:54:23 |只看该作者
我记下来

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
117953
积分
126
帖子
66
主题
10
阅读权限
40
注册时间
2013-4-10
最后登录
2016-4-22
10#
发表于 2013-4-10 15:54:29 |只看该作者
zzzlondon 发表于 2012-4-25 15:24
想了个更简单的方法

Params

能在后面简单注释下是什么意思吗?新手学习中

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-17 12:20

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部