设为首页 | 加入收藏 | 今天是2024年10月18日 星期五

聚合智慧 | 升华财富
产业智库服务平台

七禾网首页 >> 程序化交易 >> 程序化交易知识库

旗型交易策略

最新高手视频! 七禾网 时间:2015-08-18 15:05:12 来源:量投网

旗型(Flag)与三角旗型(Pennant)一直以来都是可靠的中继型态的程序化交易策略,代表的是是主要上涨或下跌趋势的短暂停顿。旗形走势的型态就像一面挂在旗杆顶上的旗帜,这型态通常在急速而又大幅的市场波动中出现,股价经过一连串紧密的短期波动后,形成一个稍徽与原来趋势呈相反方向倾斜的长方形,这就是旗形走势。

 

 

以下提供一个国外论坛关于旗型(Flag)的程序化交易策略,可以看一下外国人如何描述旗型以及利用旗型发展程序化交易策略

 

INPUT:

MAXFLDUR(15), //Max Flag Duration

FLAGMIN(2.5), // Max Atr in lowest point in flag

PX(23), //Max Pole Duration.

UPT1BARS(70), // Bars for Uptrend leading to flag

POLEMIN(5.5), //Min ATR Height of the pole

LBF(50), // Min distance between flags

ATRmin(5),// Min volatility change

K(1.2), //Profit Target constant

timeexit(100), //Time exit bars

ATRLL(3),BSEMIN(5), // Stop loss below flag

ATRTRAIL(3),TRAILBARS(5), // Trailing stop parameters

BSEINACT(70),ATRINACT(4); // Inactivity exit parameter

 

vars:X1(0),X2(0),LRSX2(0),LRSX1(0),POLE(0),ptarget(0),BSE(0),TOP(0),BOTTOM(0),X3(0),L3(0),Y23(0),FLAGBOT(0),UPT1(0),LF(0),TARGETPER(0);

 

// FLAG CALCULATION

X1=HighestBar(C,MAXFLDUR)[2];//FLAG DURATION EX POLETOP

X2=X1 1; // FLAG DURATION INCLUDING POLE TOP

 

LF=LOWEST(C,X2);

TOP=Highest(C,X2)[2];

X2=IFF(LINEARREGSLOPE(C,X1)[1]<0 AND TOP-LF

 

IF X2>2 AND X2<=MAXFLDUR THEN begin //LIMITS FLAG DURATION

Y23=LOWestBar(C,PX X2); // POLE BOTTOM BAR

BOTTOM=LOWEST(C,(PX X2));// POLE BOTTOM

POLE=TOP-BOTTOM;

 

IF TOP-BOTTOM>POLEMIN*AvgTrueRange(40) AND Y23>X2

THEN BEGIN

TOP=Highest(C,X2)[2];

FLAGBOT=LOWEST(C,X2);

UPT1=BOTTOM-LOWEST(L,UPT1BARS); // UPTREND LEADING TO FLAG

LRSX1=LINEARREGSLOPE(C,X1)*100;//SLOPE IN FLAG

LRSX2=LINEARREGSLOPE(C,X1-1)[2]*100; //SLOPE IN FLAG BEFORE BREAKOUT

Condition1 =TOP-LF<0 OR LRSX2<0); // LIMITS FLAG SLOPE BETWEEN 0 AND -3 ATR

Condition2=POLE>POLEMIN*AvgTrueRange(40) ; // LIMITS MINPOLE HEIGHT

Condition3= UPT1>0; // UPTREND LEADING TO FLAG

Condition4=(barssinceexit(1)=0 or barssinceexit(1)>LBF) ; // LIMITS DISTANCE BETWEEN SUCCESIVE FLAGS

Condition5= (AvgTrueRange(40)/AvgTrueRange(40)[Y23]-1)*100>ATRmin; // VOLATILITY

 

If MARKETPOSITION=0 AND CONDITION1 AND CONDITION2 AND CONDITION3 and condition4 and condition5

THEN BEGIN

Buy("Flag") NEXT BAR AT HIGHEST(C,X1) STOP;

END;END;END;

 

{EXIT CONDITIONS}

if MARKETPOSITION =1 THEN BEGIN

BSE=BARSSINCEENTRY;

X3=HighestBar(C,MAXFLDUR)[BSE 2]-BSE 1;

TOP=Highest(C,X3)[BSE 1];

BOTTOM=LOWEST(C,(PX X3))[BSE 1];

POLE=(TOP-BOTTOM)/(BOTTOM .0001)*100;

targetPER=K*POLE;

ptarget=(1 TARGETPER/100)*ENTRYPRICE;

L3=LOWEST(L,X3)[BSE];

// PROFIT TARGET

If C>=ptarget then SELL ("pTARGET") THIS bar at CLOSE;

// STOP

IF BSE>BSEMIN THEN SELL ("UNDER FLAG") NEXT bar at L3-ATRLL*AvgTrueRange(40) STOP;

 

//TRAILING STOP

IF C

THEN SELL("TRAIL") NEXT BAR AT MARKET;

// INACTIVITY EXIT

IF BSE>BSEINACT AND C

// TIME EXIT

If BSE>timeexit

then SELL("TIME") next bar at open;

END;

 

以下为台指期(TXF1-15K)回测

 

以下为德国DAX指数(DAX-15K)回测

 

后记:

 

型态似乎很难用简单的方式完整描述。例如常见的M头及W底,到底要往前追溯几根K线才比较好呢? 参数要设定多少较佳?程序化交易码写得长,岛状过度最佳化的疑虑就会出现。

 

责任编辑:张文慧

【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

本网站凡是注明“来源:七禾网”的文章均为七禾网 www.7hcn.com版权所有,相关网站或媒体若要转载须经七禾网同意0571-88212938,并注明出处。若本网站相关内容涉及到其他媒体或公司的版权,请联系0571-88212938,我们将及时调整或删除。

联系我们

七禾研究中心负责人:刘健伟/翁建平
电话:0571-88212938
Email:57124514@qq.com

七禾科技中心负责人:李贺/相升澳
电话:15068166275
Email:1573338006@qq.com

七禾产业中心负责人:果圆/王婷
电话:18258198313

七禾研究员:唐正璐/李烨
电话:0571-88212938
Email:7hcn@163.com

七禾财富管理中心
电话:13732204374(微信同号)
电话:18657157586(微信同号)

七禾网

沈良宏观

七禾调研

价值投资君

七禾网APP安卓&鸿蒙

七禾网APP苹果

七禾网投顾平台

傅海棠自媒体

沈良自媒体

© 七禾网 浙ICP备09012462号-1 浙公网安备 33010802010119号 增值电信业务经营许可证[浙B2-20110481] 广播电视节目制作经营许可证[浙字第05637号]

认证联盟

技术支持 本网法律顾问 曲峰律师 余枫梧律师 广告合作 关于我们 郑重声明 业务公告

中期协“期媒投教联盟”成员 、 中期协“金融科技委员会”委员单位