设为首页收藏本站

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

dema金死叉如何编写 [复制链接]

Rank: 1

精华
0
UID
114670
积分
19
帖子
12
主题
7
阅读权限
10
注册时间
2013-1-7
最后登录
2017-6-21
跳转到指定楼层
1#
发表于 2013-1-7 15:34:13 |只看该作者 |倒序浏览
斑竹大神好,我是南京的实盘客户,现在震荡比较多,想用dema指标的dema1金死叉dema4来辅助指导,请问,该如何编写dema1与dema4金死叉的开平仓信号?

Rank: 1

精华
0
UID
114670
积分
19
帖子
12
主题
7
阅读权限
10
注册时间
2013-1-7
最后登录
2017-6-21
2#
发表于 2013-1-8 08:35:27 |只看该作者
没有人吗,我自己顶一个。

使用道具 举报

Rank: 1

精华
0
UID
114670
积分
19
帖子
12
主题
7
阅读权限
10
注册时间
2013-1-7
最后登录
2017-6-21
3#
发表于 2013-1-8 10:42:35 |只看该作者
请问,管理员呢。

使用道具 举报

Rank: 2

精华
0
UID
113352
积分
89
帖子
56
主题
10
阅读权限
30
注册时间
2012-11-7
最后登录
2013-2-1
4#
发表于 2013-1-8 14:20:03 |只看该作者
本帖最后由 冬雨 于 2013-1-8 14:29 编辑

系统提供了两个函数CrossOver及CrossUnder,但不指明穿在那个Bar上,所以我改良了函数如下。
//------------------------------------------------------------------------
// 简称: CrossAbout
// 名称: 求上穿或下穿
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//          = 0, 表示两个值相等,没有上穿或下穿
//          > 0, 表示上穿, 同时表示上穿的Bar位置
//          < 0, 表示下穿,其值与0的差表示下穿的Bar位置
//------------------------------------------------------------------------
Params
        NumericSeries        Price1(1);
        NumericSeries        Price2(1);
Vars
        Numeric                        Counter(0);
        Bool                        Condition(True);
        Numeric                        Num;                                // 返回结果

Begin
        If (Price1 == Price2) {
                Num        = 0;
                Return Num;
        }Else
        If (Price1 > Price2) {
                Counter = 1;
                Condition = (Price1[Counter] >= Price2[Counter]);
                While (Condition and Counter < CurrentBar) {
                        Counter = Counter + 1;
                        Condition = (Price1[Counter] >= Price2[Counter]);
                }
                Num        = Counter;
                Return Num;
        }Else {
                Counter = 1;       
                Condition = (Price1[Counter] <= Price2[Counter]);
                While (Condition and Counter < CurrentBar) {
                        Counter = Counter + 1;                         
                        Condition = (Price1[Counter] <= Price2[Counter]);
                }
                Num        = 0 - Counter;
                Return Num;
        }

End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2012/10/30 19:38
// 版权所有        bill8243
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 2

精华
0
UID
113352
积分
89
帖子
56
主题
10
阅读权限
30
注册时间
2012-11-7
最后登录
2013-2-1
5#
发表于 2013-1-8 14:21:44 |只看该作者
再编写一个直接调用如n = CrossAbout(dema1, dema4);
判断n大于0为金叉,<0为死叉。

使用道具 举报

Rank: 2

精华
0
UID
113352
积分
89
帖子
56
主题
10
阅读权限
30
注册时间
2012-11-7
最后登录
2013-2-1
6#
发表于 2013-1-8 14:28:34 |只看该作者
补充,由于该函数时间过了很久,当初注释如点小错误,更正如下:
//                        = 0, 表示两个值相等,没有上穿或下穿
//                        > 0, 表示上穿, 同时表示上穿的Bar位置
//          < 0, 表示下穿,其值与0的差表示下穿的Bar位置

使用道具 举报

Rank: 1

精华
0
UID
114670
积分
19
帖子
12
主题
7
阅读权限
10
注册时间
2013-1-7
最后登录
2017-6-21
7#
发表于 2013-1-18 16:20:28 |只看该作者
冬雨 发表于 2013-1-8 14:20
系统提供了两个函数CrossOver及CrossUnder,但不指明穿在那个Bar上,所以我改良了函数如下。
//---------- ...

那开平仓呢,里面好像没有买卖函数

使用道具 举报

Rank: 2

精华
0
UID
113352
积分
89
帖子
56
主题
10
阅读权限
30
注册时间
2012-11-7
最后登录
2013-2-1
8#
发表于 2013-1-22 15:50:23 |只看该作者
1、开多仓Buy
2、开空仓SellShort
3、平多仓Sell
4、平空仓BuyToCover

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 05:20

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部