设为首页收藏本站

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

帮忙编写“新高新低”指标 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
跳转到指定楼层
1#
发表于 2008-1-3 16:44:27 |只看该作者 |倒序浏览
公式原理
1、上升市场的基本特点是低点不断抬高,一底比一底高。因此做多时以低点为基础,不跌穿低点坚决持仓。
2、下跌市场的基本特点是高点不断下降,一顶比一顶低。因此放空时以高点为基础,不涨破高点坚决持仓。
3、盘整市场的基本特点是区间波动,价格在一定区间内狭幅波动。因此我们要乐意承担合理的亏损。

编制说明
1、高低点以最高最低价为依据;突破以收盘价为依据;趋势以周线为依据。
2、收盘价跌穿前期低点开空平多;收盘价涨破前期高点开多平空。
3、前期高低点是根据《混沌交易法》的分形来定义的。
4、前期低点为当前支撑线,前期高点为当前压力线。
5、多头市场只关心支撑线(即多头止损线),空头市场只关心压力线(即空头止损线)。
6、这是一个连续在市的交易系统,即平空就同时开多,或平多就同时开空。

几条实际应用原则
1、大处着眼,小处着手。趋势看周线,进出看日线。
2、顺大势,逆小势。周线牛市,日线逢低做多;周线熊市,日线逢高放空。
3、若变盘日信号与感觉或经验不一致时,可以平仓观望,待情况明朗后再开新仓。
4、若初始止损额太大,平仓后可以等待日线上涨拉回或下跌反弹时再开新仓。
5、若盘中刺穿止损价,可以先平仓。待周末收盘价明确后,买回或反手开新仓。
6、遇到3、4、5所述情况,要作好失去最佳机会的心理准备。有得必有失嘛。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
2#
发表于 2008-1-3 16:45:08 |只看该作者
飞狐源码:

{高低点交易系统公式源码}

DRAWTEXT(STRTONUM(NUMTOSTR(BARPOS,0))-BARPOS=44,C,'牛市做多  熊市放空'),ALIGN4,COLORYELLOW;
{高低点交易系统}INPUT:N(1,1,21);
{====用科学法寻找所有分形}
AA:=REF(H,N)=HHV(H,2*N+1);BB:=FILTER(AA,N);{定义高点}
CC:=REF(L,N)=LLV(L,2*N+1);DD:=FILTER(CC,N);{定义低点}
{====所有压力支撑线}
ASG:=REF(H,BARSLAST(BB)+N);{所有空头压力线,取高点}
AXG:=REF(L,BARSLAST(DD)+N);{所有多头支撑线,取低点}
{过滤买卖信号出现后的压力支撑线}
GMM:=COUNT(C>ASG,0)<1 OR COUNT(C<AXG,0)<1;{上市后未出现一组完整的买卖对应信号}
{买卖信号出现后,压力线>支撑线,过滤压力线<支撑线}
GSG:=IF(ASG<AXG,REF(ASG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),ASG);{若ASG<AXG,则取前面的压力线}
GXG:=IF(AXG>ASG,REF(AXG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),AXG);{若AXG>ASG,则取前面的支撑线}
{=============有效压力支撑线=============}
SG:=IF(GMM,ASG,GSG);
XG:=IF(GMM,AXG,GXG);
{====所有买卖信号}
ADJ:=C>ASG;{所有多头进入/空头退出信号,今天C>ASG}
ADT:=C<AXG;{所有多头退出/空头进入信号,今天C<AXG}
{首个买卖信号}
SDJ:=COUNT(ADJ,0)=1 AND REF(COUNT(ADJ,0),1)<1;{上市后首次出现的多头进入信号}
SKJ:=COUNT(ADT,0)=1 AND REF(COUNT(ADT,0),1)<1;{上市后首次出现的空头进入信号}
{首个买卖信号后的所有买卖信号}
HDJ:=C>SG AND REF(C,1)<=REF(SG,1);{首个买卖信号后的多头进入/空头退出信号,今天C>SG同时昨天C<=昨天SG}
HDT:=C<XG AND REF(C,1)>=REF(XG,1);{首个买卖信号后的多头退出/空头进入,今天C<XG同时昨天C>=昨天XG}
{首个买卖信号后的有效买卖信号,过滤多余信号}
GDJ:=COUNT(COUNT(HDJ,BARSLAST(HDT))=1,BARSLAST(HDT))=1;{首个买卖信号后的有效多头进入/空头退出}
GDT:=COUNT(COUNT(HDT,BARSLAST(HDJ))=1,BARSLAST(HDJ))=1;{首个买卖信号后的有效多头退出/空头进入}
{=============有效买卖信号=============}
TJ1:=SDJ OR GDJ;{多头进入}
TJ2:=SKJ OR GDT;{空头进入}
TJ3:=GDT;{多头退出}
TJ4:=GDJ;{空头退出}
PARTLINE(TJ1,1.02*H),COLORRED,CIRCLEDOT;
PARTLINE(TJ2,0.98*L),COLORWHITE,CIRCLEDOT;
{====多头市场仅显示支撑线,空头市场仅显示压力线}
TJ5:=GMM AND COUNT(TJ1,0)>0;{第一个买卖信号是多头进入信号}
TJ6:=GMM AND COUNT(TJ2,0)>0;{第一个买卖信号是空头进入信号}
PARTLINE(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG),COLORMAGENTA,LINETHICK2;
PARTLINE(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG),COLORGRAY,LINETHICK2;
多止损价:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG,0),LINETHICK0,PRECISION1,COLORMAGENTA;
多止损额:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),C-XG,0),LINETHICK0,PRECISION1,COLORMAGENTA;
空止损价:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG,0),LINETHICK0,PRECISION1,COLORGRAY;
空止损额:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG-C,0),LINETHICK0,PRECISION1,COLORGRAY;
{多头市场,空头止损(额)=0;空头市场,多头止损(额)=0}

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
3#
发表于 2008-1-3 16:46:11 |只看该作者
原文出处:http://www.nbqihuo.com/dispbbs.a ... ;ID=1361&page=1
---宁波期货论坛

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2008-1-3 17:14:52 |只看该作者
哪位同学来练手啊~

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
377
积分
1827
帖子
222
主题
29
阅读权限
70
注册时间
2007-9-19
最后登录
2021-12-9
5#
发表于 2008-1-6 15:55:45 |只看该作者
作么了几天。还是没写出来。
水平不够啊。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
387
积分
2724
帖子
167
主题
33
阅读权限
80
注册时间
2007-9-21
最后登录
2020-2-24
6#
发表于 2008-1-7 19:34:27 |只看该作者
请把飞狐函数的说明附上FILTER.BARSLAST.COUNT

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
7#
发表于 2008-1-8 09:20:08 |只看该作者
函数: FILTER(X,N)

参数: X为数组,N为正整数

返回: 返回数组

说明: 过滤连续出现的信号,X满足条件后,删除其后N周期内的数据置为0

示例: FILTER(CLOSE>OPEN,5)

查找阳线,5天内再次出现的阳线不被记录在内



如果说BACKSET能够向后引用信号,那么FILTER就能向后过滤信号--即把有效信号去掉。比如N取3,就把以后3个周期内的有效信号去掉了,所以从连续信号上看,两个信号之间的间隔不可能小于3的。用这个公式观察一下就容易明白了:

A:=C>O;

FILTER(A,3);
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
8#
发表于 2008-1-8 09:21:54 |只看该作者
函数: BACKSET(X,N)

参数: X为数组,N为正整数

返回: 返回数组

说明: 若X非0,则将当前位置到N周期前的数值设为1。

示例: BACKSET(CLOSE>OPEN,2)

若收阳则将该周期及前一周期数值设为1,否则为0



如果公式检测出来有未来数据,则BACKSET是第一个嫌疑。

BACKSET是往前倒推信号(数据1)的,仅此而已。由于所有基本函数都是序列变量,所以要用基本函数,把当前的数据(比如最高价)往前推是做不到的。所以说,基本函数要往后引用具体数据是做不到的,往后引用信号是可能用BACKSET做到的。

说BACKSET不可或缺,是因为用基本函数在找历史峰点等公式中,如果没有它将一筹莫展。

这个“说明: 若X非0,则将当前位置到N周期前的数值设为1。”有点问题,如果数组X是逻辑运算的结果是对的,如果不是就难说了,比如:

A:BACKSET(0.1*ISLASTPERIOD,10);

B:BACKSET(100*ISLASTPERIOD,20);

D:B>REF(B,1);

“A”的输出全为0,“B”的输出就正常了。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
9#
发表于 2008-1-8 09:23:36 |只看该作者
函数: BARSLAST(X)

参数: X为数组

返回: 返回数组

说明: 上一次X不为0到现在的天数

示例: BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)

表示上一个涨停板到当前的周期数



条件满足的当前周期,BARSLAST返回0。

是“不为0”到现在的天数么?运行这个公式试试:

A:=C>O;

A1:=0.5*A;

A2:=3*A;

A3:=-3*A;

一:BARSLAST(A1);

二:BARSLAST(A2);

三:BARSLAST(A3);

如图,“一”根本就没有输出。初步可得出结论:其绝对值大于等于1的数组信号,BARSLAST(数组)才有输出。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
10#
发表于 2008-1-8 09:26:25 |只看该作者
函数: COUNT(X,N)

参数: X为数组,N为计算周期

返回: 返回数组

说明: 统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。

示例: COUNT(CLOSE>OPEN,20)

表示统计20周期内收阳的周期数

用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以统计出全部的五天均线上穿十天均线的金叉数。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 09:54

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部