- 精华
- 0
- 在线时间
- 1088 小时
- UID
- 926
- 积分
- 4317
- 帖子
- 167
- 阅读权限
- 80
- 注册时间
- 2007-12-15
- 最后登录
- 2016-8-9
- 精华
- 0
- UID
- 926
- 积分
- 4317
- 帖子
- 167
- 主题
- 33
- 阅读权限
- 80
- 注册时间
- 2007-12-15
- 最后登录
- 2016-8-9
|
飞狐源码:
{高低点交易系统公式源码}
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} |
|