单策略单品种
单策略多品种
多策略单品种和加仓
多策略多品种
静态仓位和动态仓位
金肯特钠(kingKeltner)
布林强盗(BollingerBandit)
动态突破(DynamicBreakOutII)
恒温器(Thermostat)
幽灵交易者(ghostTrader)
均线交叉与通道突破相结合的交易策略(Moving Average CrossOver)
均线和K线形态的高低点突破系统(Escalator trading system)
基于置换均线的二次穿越突破系统(Double your Fun)
基于加权价的支撑阻力线突破系统(RedRover)
基于市场强弱指标和动量的通道突破系统(Superman)
策略名
. BIAS乖离率交易系统;
. BOLL布林带交易系统;
. CCI交易系统;
. DMI交易系统;
. KD随机指标交易系统;
. KDJ交易系统;
. MA均线交易系统;
. MACD交易系统;
. MTM动力指标交易系统;
. PSY心理线交易系统;
. ROC变动速率交易系统;
. SAR抛物转向交易系统;
. VR容量比率交易系统;
. WR威廉指标交易系统;
. SP低点搜寻交易系统;
. ZIG未来函数交易系统;
. 平台突破交易系统;
. 海龟交易系统;
. 支撑压力震荡交易系统;
. 支撑压力趋势交易系统;
. 金肯特纳交易策略(King Keltner) ;
. 布林强盗交易策略(BollingerBandit);
. 动态突破交易策略(Dynamic Break Out);
. 幽灵交易者交易策略(Ghost Trader);
. 恒温器交易策略(Thermostat);
.基于均线交叉与通道突破相结合的交易系统(Moving Average Cross Over) ;
.基于均线和K线形态的高低点突破系统(Escalator Trading System) ;
.基于置换均线的二次穿越突破系统(Double Your Fun) ;
.基于加权价的支撑阻力线突破系统(Red Rover) ;
.基于市场强弱指标和动量的通道突破系统(Superman) ;
.基于商品价差的通道突破系统(Spread Channel Breakout) ;
.基于凯特纳通道的交易系统(Keltner Channel) ;
.基于平移布林通道的系统(Displaced Boll) ;
.基于平移的高低点均值通道与K线中值突破的系统(Average Channel Range Leader) ;
.基于平移通道的交易系统(No Hurry System) ;
.基于用波动加权后的WOBV的交易系统(OBV Revisited) ;
.基于开收盘价格间的相对关系变化进行判断的交易系统(Open—Close Histogram) ;
.基于指数移动平均线交易系统(Three Exponential Moving Average Crossover Trade System);
.基于初始交易范围突破交易系统(Trading Range Breakout) ;
.基于价格通道突破交易系统(Going in Style) ;
.基于价格与均线的相关差交易系统(Reference Deviation System) ;
.基于均线的阻力线支撑线交易系统(Moving Average Support/Resistance) ;
.基于均线与动能的交易系统(Swinger) ;
.基于DMI中ADX的震荡交易系统(Traffic Jam) ;
.基于收盘价与之前k线高低进行打分的交易系统(Trend Score) ;
.基于k线建立箱体基于突破进行系统交易(In the Zone) ;
.四均线交易系统(Four Set of MA Crossover System) ;
.基于ADX及EMA的交易系统(ADX and MA Channel System) ;
.基于MACD判断的交易系统(First Pull Back System) ;
.成交量加权动量交易系统(Volume Weighted Momentum System) ;
.基于价格区间突破的交易系统(Jail Break System) ;
.均线趋势跟踪系统的改进;
.自适应均线系统的改进 ;
:布林通道趋势加强策略的改进;
:布林强盗交易系统的改进;
:ATR突破趋势系统改进 ;
:ATR在止损止盈中的应用;
:三屏交易策略的改进及扩展 ;
:多周期在策略完善中的应用;
:Dual Thrust交易策略的改进 ;
:日内区间突破策略的改进;
:鳄鱼线策略的改进 ;
:MACD背离系统的改进;
:金肯特纳交易系统;
:恒温器系统;
:顾比均线趋势系统;
:闪灵交易者;
:MACD结合加权移动均线策略的改进;
:ATR加仓及浮赢加仓模型;
:抛物式时间/价格交易系统改进;
:自适应布林通道、自适应唐奇安通道策略改进;
.【日内策略】菲阿里四价;
.【长线策略】Aberration;
.【日内策略】R-Breaker;
.【日内策略】Dual Thurst;
.【日内策略】Hans123;
.【日内策略】横盘突破;
.【日内策略】唐奇安通道(海龟策略前身);
.【日内策略】空中花园;
.【中长期策略】金肯特纳交易系统;
.【中长期策略】布林强盗系统;
.【长期策略】动态突破II;
.【另类策略】闪灵交易者策略;
.【日内策略】恒温器策略(震荡+趋势混合);
.【日内策略】超级日内组合;
.【期权策略】BS定价套利;
.【股票策略】MACD背离;
. 趋势交易(法)策略;
. 震荡交易策略;
. 海龟交易法则;
. 三重滤网交易系统;
. 自适应均线交易系统;
. 网格交易法;
. 双均线交易系统;
. 鳄鱼法则交易系统 ;
. 浮动波动性突破交易系统 ;
. 时间价格突破交易系统 ;
. 均线突破交易系统 ;
. 价格通道突破交易系统 ;
. 波动性突破交易系统 ;
. 形态突破交易系统 ;
. 技术指标突破交易系统;
. 克罗均线系统
. LSS多空强弱
. NEWS交易规则
、 网格交易法:
、 海岸线交易系统:
、 假突破交易系统:
、 布林带交易系统:
、 薛斯通道交易系统:
、 经典K线交易系统:
、 RSI交易系统:
、 KDJ交易系统:
、 乖离率交易系统:
、 江恩回调带交易系统:
、 技术背离交易系统:
、 量价背离交易系统:
. 价格通道交易 ;
. 维克多123法则;
. 反四周规则 ;
. 分形交易系统 ;
. 单摆震荡原理 ;
、 海龟交易系统;
、 趋势线突破交易系统;
、 波动性突破交易系统;
、 通道突破交易系统;
、 四周规则;
、 NEWS交易系统;
、 MACD交易系统;
、 EMA交易系统;
、 均线交易系统;
、 三重滤网交易系统;
、 SAR交易系统;
、 OBV交易系统;
. 双均线交易系统;
、 克罗均线系统;
、 时间价格突破;
、 LSS多空强弱;
、 浮动波动性突破、鳄鱼法则等系统;
. 维克多123法则;
、LSS轴点封套;
、分形交易系统等系统;
、海浪交易系统
、天堂地狱交易系统
、矩形交易系统
、旗形交易系统
、楔形交易系统
、三角形交易系统
、八段交易系统
、波浪理论交易系统
、123法则交易系统
、唉呀跳空交易系统
、江恩轮中轮交易系统
、时间周期交易系统
、二浪底公式;
、KDJ半空反转;
、ADX两栖交易;
、RSI半空反转等系统;
、拉瑞.威廉姆斯唉呀跳空交易系统;
、维克多.斯波朗迪123法则交易系统;
、汤姆.迪马克TD价格区间交易系统;
、劳伦斯.麦克米兰波动性交易系统;
、马丁.普林格摆荡交易系统;
、康斯坦斯.布朗衍生振荡指标交易系统;
、洛氏霍克交易法;
、点位交易法;
、GFTD模型系列报告之二:基于GFTD模型的股票多空组合策略系统;
、GFTD择时研究报告之一:低延迟趋势线(LLT)与交易性择时研究;
:基于混沌理论的股指期货噪声趋势交易策略;
:一类波动收敛突变模式的趋势跟随策略;
:多项式拟合的股指期货趋势交易(LPTT)策略;
:基于日内波动极值的股指期货趋势跟随系统;
:基于缠中说禅之分型通道趋势交易系统;
:基于GFTD的期指日内程序化交易策略;
:在标度不变性破缺下洞察资金流向——MFT交易策略;
:基于时域分形的相似性匹配日内低频交易策略(SMT);
:基于遗传规划的智能交易策略方法;
:基于遗传算法的期指日内交易系统;
:日内突破模式及其资金管理的多重比较研究;
:基于遗传规划多维变量的股指期货交易策略;
:基于统计语言模型(SLM)的择时交易研究;
:经验模态分解下的日内趋势交易策略;
:识别趋势震荡之神器MESA;
:波段形态识别模型(WPRM)及期指交易策略应用;
:深度学习股指期货日内交易策略;
:厚尾分布下的随机区间突破策略;
:带反转的加强版EMDT交易策略;
:期权对标的指数走势的预测性分析;
:基于市场情绪平稳度的股指期货日内交易策略;
:风格动量下的股指期货跨品种套利策略;
:股指期货高频追杀趋势策略;
:观日内趋势,察行业轮动,品风格套利;
:价量模式匹配股指期货交易策略;
:境外中概股股指期货对于A股市场择时研究;
:均线交叉策略的另类创新研究;
:再论RSI指标在股指期货日内交易中的使用;
:全球商品期货量化交易策略初探;
:探寻股指期货跨品种的最优组合;
:之字转向策略; 四、套利套保类
、跨期套利;
、跨品种套利;
、跨市场套利;
、期现套利;
、蝶式套利交易系统
、企业套期保值交易系统
、价差趋势交易系统
五、日内短线交易类
、早盘心理交易系统
、缺口交易系统
、早盘突破交易系统
、横盘突破交易系统
、日内海浪交易系统
、高低点交易系统
、日内趋势线交易系统
、分时图三角形交易系统
、日内网格交易系统
、BTOB交易系统
、%回撤交易系统
、成交量交易系统
、区间突破
、菲阿里四价
、空中花园
、横盘突破
、转向交易
、HANS123
、日均ATR突破
、ORB突破
、分时均价突破
、日内ATR波动性突破
策略说明
基于ADX及EMA的系统
规则要素:
. 计算30根k线最高价和最低价的EMA价差;
. 计算12根k线的ADX.
入场条件:
.满足上根K线的收盘价收于EMA30之上,且ADX向上的条件 在EntryBarBAR内该条件成立;
.当前价大于等于BuySetup,做多,当条件满足超过EntryBarBAR后,取消入场.
出场条件:
.当前价格下破30根K线最高价的EMA. 基于MACD判断交易系统
系统要素:
. 用MACD慢线在零轴上判断趋势
. 在多头趋势中以收盘价和波动率构成入场出场通道
入场条件:
. 价格高于MACD慢线上穿零轴的当前价格和波动率组成的通道上轨
出场条件:
. macd慢线在零轴下
. 价格低于MACD慢线上穿零轴的当前价格和波动率组成的通道下轨
. 价格低于多头趋势形成时的最低价格出场 高低点的移动平均线
策略说明:
基于平移的高点和低点均线通道与K线中值突破进行判断
系统要素:
. Range Leader是个当前K线的中点在之前K线的最高点上, 且当前K线的振幅大于之前K线的振幅的K线
. 计算高点和低点的移动平均线
入场条件:
、上根K线为RangeLead,并且上一根收盘价大于N周期前高点的MA,当前无多仓,则开多仓
、上根K线为RangeLead,并且上一根收盘价小于N周期前低点的MA,当前无空仓,则开空仓
出场条件:
. 开仓后,5个K线内用中轨止损,5个K线后用外轨止损 简单日内系统
、用九点半的那根k线为基准,上下浮动0.003个系数。
、突破上轨,开多;突破下轨,开空。
、多单,止损在下轨;空单,止损在上轨。
、两点五十分后,不管盈亏平仓,不做夜盘。 成交量加权动量交易系统
基于动量系统, 通过交易量加权进行判断
系统要素:
.用VWM上穿零轴判断多头趋势
.用VWM下穿零轴判断空头趋势
入场条件:
.价格高于VWM上穿零轴时价格通道,且在SetupLen的BAR数目内,做多
.价格低于UWM下穿零轴时价格通道,在SetupLen的BAR数目内,做空 价格通道突破系统
策略说明:
.计算价格通道
.收盘价加上ATR的一定倍数作为进场价
入场条件:
.上一根Bar创新高
.当前Bar最高价突破上一根Bar收盘价加上ATR的一定倍数
出场条件:
.记录多头进场后的跟踪止损价
.价格向下突破跟踪止损价多头出场 基于k线建立箱体突破系统
策略说明:
本策略基于k线形成的区域设置进出场价格, 通过价格的上下突破来进行交易或取消做单
系统要素:
k线区域按时间顺序从左向右共由4根k线组成, 最左边的k线标号为3
. 如果1号k线收盘价高于3号k线最高点, 开始设置做多交易区域, 上轨为3号K线高点, 下轨为标号为1起CancelFlagN根K线的低点 如果标号为0的K线收盘价在上下轨之间, 则做多区域设置成功, 如果收盘价低于下轨则区域设置取消
. 如果1号k线收盘价低于3号k线最低点, 开始设置做空交易区域, 下轨为3号K线低点, 上轨为标号为1起CancelFlagN根K线的高点 如果标号为0的K线收盘价在上下轨之间, 则做空区域设置成功, 如果收盘价高于上轨则区域设置取消
入场条件:
. 做多区域设置成功时, 当前k线高于标号为0的K线高点时入场做多
. 做空区域设置成功时, 当前k线低于标号为0的K线低点时入场做空
出场条件:
. 基于ATR的保护性止损
. 基于ATR的盈亏平衡止损
. 基于ATR的盈利止盈 金肯特纳
策略说明:
基于肯特纳通道的突破系统
系统要素:
、基于最高价、最低价、收盘价三者平均值计算而来的三价均线
、基于三价均线加减真实波幅计算而来的通道上下轨
入场条件:
、三价均线向上,并且价格上破通道上轨,开多单
、三价均线向下,并且价格下破通道下轨,开空单
出场条件:
、持有多单时,价格下破三价均线,平多单
、持有空单时,价格上破三价均线,平空单 基于均线与动能的交易系统
策略说明:
本策略基于均线与均线间的动能变化建立的交易系统
系统要素:
.根长期均线进行趋势判断
.根较短均线值之差揭示的动能变化为交易提供基础
入场条件:
. 当价格高于长期均线且动能相对之前变强时做多
. 当价格低于长期均线且动能相对之前变弱时做空
出场条件:
. 当动能减弱时, 价格低于ExitStopN根K线低点多头平仓
. 当动能增强时, 价格高于ExitStopN根K线高点空头平仓 四均线交易系统
系统要素:
(5和20周期均线),(3和10周期均线)构成的两组不同周期的均线组合
入场条件:
当2组均线均成多头排列时且当前价高于上根BAR最高价入场
出场条件:
. 小周期多头均线组合成空头排列
. 两组空头均线分别空头排列且低于上根BAR最低价出场 基于平移通道的交易系统
策略说明:
本策略基于平移后的高低点通道判断入场条件,结合ATR止损
系统要素:
. 平移后的高低点通道
. atr止损
入场条件:
.当高点上穿平移通道高点时,开多仓
.当低点下穿平移通道低点时,开空仓
出场条件:
.ATR跟踪止盈
.通道止损 基于初始交易范围突破系统
策略说明:
用特定时间周期内的最高价位和最低价位计算交易范围,然后计算真实的波动范围和周期内的ATR对比,如果当前k线的波动范围比n*交易范围的值大,并且真实波动范围比ATR大,这就满足了前两个系统挂单的条件
入场条件:
. 7周期区间“空隙”之和 >7周期区间高度的2倍当前的k线比交易范围的最高值大, 而且如果当前k线的中间价格高于之前一根k线的最高值做多
. 7周期区间“空隙”之和 >7周期区间高度的2倍当前的k线比交易范围的最低值小, 而且如果当前k线的中间价格低于之前一根k线的最低值做空
出场条件:
.初始止损
.跟踪止损(盈利峰值价回落ATR的一定倍数)
.收盘价创7周期低点,且K线中点低于前K线最低价多头出场 开收盘价格间相对关系变化
策略说明:
本策略计算指数移动平均(10个开盘价和10个收盘价, 然后后者减去前者得到柱状图),通过柱状图上穿零轴还是下穿零轴来判断上升和下降趋势
系统要素:
.10个开盘价的指数移动平均与10个收盘价的指数移动平均之差若上穿零轴定义为上升趋势,上升趋势定义满足后将上穿K线的最高价加上10周期的ATR的一半作为多头入场触发价,同时将上穿K线的最低价减去10周期的ATR的一半作为多头平仓触发价;
.10个开盘价的指数移动平均与10个收盘价的指数移动平均之差若下穿零轴定义为下降趋势,下降趋势定义满足后将下穿K线的最低价减去10周期的ATR的一半作为空头入场触发价,同时将下穿K线的最高价加上10周期的ATR的一半作为空头平仓触发价;
入场条件:
.10个开盘价的指数移动平均大于10个收盘价的指数移动平均并且向上突破了多头触发价则进场做多;
.10个开盘价的指数移动平均小于10个收盘价的指数移动平均并且向下突破了空头触发价则进场做空;
出场条件:
.跌破多头平仓触发价或者转为下降趋势多头平仓;
.突破空头平仓触发价或者转为上升趋势空头平仓; 收盘价与之前k线高低打分
策略说明:
本策略基于当前收盘价与之前k线的高低进行打分, 并通过打分的均值与对应的收盘价均值进行交易
系统要素:
.当当前收盘价格大于之前LookBack根K线内某一根k线的收盘价时记+1分, 否则记-1分, 加总这些分数以获得当前K线的得分
.对k线的打分计算一条均线
.对k线的收盘计算一条均线
入场条件:
.当价格高于收盘价均线, 且打分也高于打分均线时的入场做多
.当价格低于收盘价均线, 且打分也低于打分均线时的入场做空
出场条件:
.基于ATR的保护性止损
.基于ATR的跟踪止损
.基于ATR的盈亏平衡止损 置换均线的二次穿越突破
策略说明:
本策略是基于置换均线的二次穿越突破系统
系统要素:
. 将移动平均K线向后平移一定BAR数即为置换均线
. 相隔一定BAR数的收盘价二次穿越置换均线
. 二次穿越完成时那根BAR的高点(或低点)作为突破进场价
. 完成二次穿越的一定BAR数内突破
入场条件:
. 有效期内价格向上突破设定进场价做多
. 有效期内价格向下突破设定进场价做空
出场条件:
. 价格反向穿越均线后止损
. 基于N根K线的高低点的跟踪止损 均线和形态的高低点突破
策略说明:
本策略是基于均线和K线形态的高低点突破系统
系统要素:
. 根据价格与快速均线和慢速均线的关系来判断大的趋势,价格在上为多头趋势,在下为空头趋势
. 根据2根K线收盘位置构成的形态来判断小趋势,第一根收盘靠近低点第二根收盘靠近高点为上涨趋势,否则为下跌趋势
. 最近2根K线的高低点形成的通道
入场条件:
. 大趋势为多头趋势,且K线形态也为多头趋势时,突破通道高点做多
. 大趋势为空头趋势,且K线形态也为空头趋势时,突破通道低点做空
出场条件:
. 开多以开仓BAR的最近N根BAR的低点作为止损价开空以开仓BAR的最近N根BAR的高点作为止损价
. 盈利超过止损额的一定倍数止盈 价格与均线的相关差
策略说明:
.系统将当前价格和MA之差定义为DRD
.计算RDV: N天DRD的加和除以DRD绝对值的加和
入场条件:
.设置ETLong为入市阈值,如果RDV>ETLong,则入场做多
.设置ETShort为入市阈值,如果RDV<ETShort,则入场做空
出场条件:
.如果RDV下穿0, 多头平仓
.如果RDV上穿0, 空头平仓 价格区间突破的交易系统
策略说明:
基于通道突破的判断
系统要素:
. 计算50根k线最高价的区间
. 计算30根k线最低价的区间
入场条件:
.价格高于50根K线最高价的区间入场
出场条件:
. 当前价格低于30根K线最低价的区间出场
. 当前价格低于入场价一定ATR波动率幅度出场 幽灵交易者
策略说明:
模拟交易产生一次亏损后才启动真实下单交易。
系统要素:
、两条指数平均线
、RSI指标
、唐奇安通道
入场条件:
、模拟交易产生一次亏损、短期均线在长期均线之上、RSI低于超买值、创新高,则开多单
、模拟交易产生一次亏损、短期均线在长期均线之下、RSI高于超卖值、创新低,则开空单
出场条件:
、持有多单时小于唐奇安通道下轨,平多单
、持有空单时大于唐奇安通道上轨,平空单 指数移动平均线系统
策略说明:
.计算三条指数移动平均线(Avg1, Avg2 , Avg3);
.通过指数移动平均线的组合来判断趋势
入场条件:
.当Avg1向上穿过Avg2并且Avg2大于Avg3时,在下一根k线开盘处买入
.当Avg1向下穿过Avg2并且Avg2小于Avg3时,在下一根k线开盘处卖出
出场条件:
.Avg1下穿Avg2多头出场
.跟踪止损 K线加权均值的支撑阻力线
策略说明:
本策略是基于K线加权均值的支撑阻力线突破系统
系统要素:
. K线的加权均值 = (最高价+最低价+*收盘价)/
. 支撑线 = K线加权均值 - ( 最高价 - K线加权均值)
. 阻力线 = K线加权均值 + ( K线加权均值 - 最低价)
入场条件:
. 当价格向上突破阻力线做多
. 当价格向下突破支撑线做空
出场条件:
. 趋势反转即反向突破时出场
. 基于ATR的一定倍数的止盈 市场强弱和动量的通道系统
策略说明:
本策略是基于市场强弱指标和动量的通道突破系统
系统要素:
. 根据N根K线的收盘价相对前一根K线的涨跌计算出市场强弱指标
. 最近9根K线的动量变化趋势
. 最近N根K线的高低点形成的通道
入场条件:
. 市场强弱指标为多头,且市场动量由空转多时,突破通道高点做多
. 市场强弱指标为空头,且市场动量由多转空时,突破通道低点做空
出场条件:
. 开多以开仓BAR的最近N根BAR的低点作为止损价,反过来的开空以开仓BAR的最近N根BAR的高点作为止损价
. 盈利超过止损额的一定倍数止盈
. 出现反向信号止损 波动加权后的OBV交易系统
策略说明:
本策略基于用波动加权后的OBV进行判断入场条件,结合高低点突破入场
系统要素:
. 计算波动加权WOBV,根据WOBV预期均值关系,设定触发条件单
入场条件:
.当WOBV上穿它的MA时,在当根K线高点建立做多触发单
.当WOBV下穿它的MA时,在当根K线低点建立做空触发单
出场条件:
.当WOBV上穿它的MA时,次根K线开盘平空仓
.当WOBV下穿它的MA时,次根K线开盘平多仓 凯特纳通道的交易系统
策略说明:
基于凯特纳通道的交易系统
系统要素:
. 计算关键价格的凯特纳通道
. 价格突破凯特纳通道后,设定入场触发单
入场条件:
、价格突破凯特纳通道后,在当根K线高点之上N倍通道幅度,设定多头触发单,此开仓点将挂单X根k线
、价格突破凯特纳通道后,在当根K线低点之下N倍通道幅度,设定空头触发单,此开仓点将挂单X根k线
出场条件:
. 价格下穿轨道中轨时平仓
. 价格小于N周期低点平仓 恒温器系统
策略说明:
通过计算市场的潮汐指数,把市场划分为震荡和趋势两种走势;震荡市中采 用开盘区间突破进场;趋势市中采用布林通道突破进场。
系统要素:
、潮汐指数
、关键价格
、布林通道
、真实波幅
、出场均线
入场条件:
、震荡市中采用开盘区间突破进场
、趋势市中采用布林通道突破进场
出场条件:
、震荡市时进场单的出场为反手信号和ATR保护性止损
、趋势市时进场单的出场为反手信号和均线出场
常见止损
时间止损
时间止盈止损逻辑:开仓后的时间(通常使用开仓K线到当前K线的区间内的K线数量)触发设定的条件时进行止损/止盈平仓,通常与价差条件结合使用。
例1:
BARSBK=,SP;//开仓后下一根K线开始时平仓
BARSSK=,BP;//开仓后下一根K线开始时平仓 价差止损
最新价与基准价之间的价差触发设定的条件时进行止损平仓。以资金盈亏额为条件的止损策略也被我们归为这一类。比较常用的策略有追踪止损、阶梯止损、限价止损等。
常用的基准价有开仓价格、开仓后的最高价/最低价,和重要的支撑/压力位。 主要有两个因素影响价差的选择:
.交易者盈利预期和愿意并且能够承受的亏损。
.交易品种的随机波动性,可以通过对历史数据分析或经验总结等方法研究。衡量随机波动性标准的通常是ATR指标。
我们除了基准价和价差外,有时还会设置一个启动止损止盈的条件,例如:通常我们会限制当最大盈利达到某一标准后再启动跟踪止损。时间也经常被作为止损的触发条件。 跟踪止损
跟踪止损的逻辑:以开仓后的最高或者最低价为基准价,回撤超过价差后进行止损。
这里的价差可以使用最大盈利的百分比,也可以是固定价差。通常还会限制当最大盈利超过某一范围后再启动止盈止损策略。
例2:
A:=MINPRICE;//取模组交易合约的最小变动价位
BKHIGH-BKPRICE>*A && C<BKHIGH-0.3*(BKHIGH-BKPRICE),SP;
//触发条件:买开仓后的最高价减去买开仓价格大于50个最小变动价位
//止损条件:最新价小于基准价减价差。(基准价是买开仓后的最高价,价差是最大盈利的30%)
SKPRICE-SKLOW>*A && C>SKLOW+0.3*(SKPRICE-SKLOW),BP;
//触发条件:卖开仓价格与卖开仓后的最低价的差值大于50个最小变动价位
//止损条件:最新价大于基准价加价差。(基准价是卖开仓后的最低价,价差是最大盈利的30%) 限价止损/止盈
限价止盈/止损的逻辑:以开仓价格为基准价,当前亏损或盈利超过固定的价差时进行止损/止盈。
例3:
A:=MINPRICE;//取模组交易合约的最小变动价位
C<=BKPRICE-*A,SP;//最新价低于买开仓价10个最小变动价位,多头止损;
C>=BKPRICE+*A,SP;//最新价高于买开仓价20个最小变动价位,多头止赢;
C>=SKPRICE+*A,BP;//高于卖开仓价10个最小变动价位,空头止损;
C<=SKPRICE-*A,BP;//低于卖开仓价20个最小变动价位,空头止赢; 阶梯止损
阶梯止损的逻辑:以开仓价格为基准价,开仓时以M点固定价差设置止损,行情每向有利的方向波动N个点,将止损价格提高(多头)或者降低(空头)P个点。
例4:
C<BKPEICE-+INTPART((BKHIGH-BKPRICE)/)*,SP;//买开仓后,初始止损价差30个点,行情每上涨10点,止损价格提高5点
C>SKPEICE+-INTPART((SKPRICE-SKLOW)/)*,BP;//卖开仓后,初始止损价差30个点,行情每下跌10点,止损价格降低5点 时间+价差阶梯止损
时间+价差阶梯止损止盈逻辑:以买(卖)开仓价格为基准价,最新价小于(大于)开仓价减(加)价差时进行止损/止盈平仓。价差的浮动规则:开仓时固定价差M,随着时间的推移,每出现N根K线,将价差增加P个点。
例5:
C<BKPEICE-+INTPART(BARSBK/)*,SP;//买开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点
C>SKPEICE+-INTPART(BARSSK/)*,BP;//卖开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点 保本
保本的逻辑:开仓之后,最大盈利超过固定价差后,当盈利再次回到固定价差的水平时进行止损平仓。 例6:
BKHIGH-BKPRICE> && C-BKPRICE<=,SP;//买开仓后的最大盈利大于10,并且当前的盈利小于等于10,卖平仓
SKPRICE-SKLOW> && SKPRICE-C<=,BP;//卖开仓后的最大盈利大于10,并且当前的盈利小于等于10,买平仓 支撑/压力位
以支撑/压力位标准进行止损止盈也可在本质上认为是一种价差止盈止损,只不过这里研究的重点是基准价(支撑/压力)。
例7:
N1:=BARSLAST(DATE<>REF(DATE,))+;//开盘第一根K线到当前的K线根数
N2:=REF(N1,N1);//每个交易日K线的总数
HH:HV(H,N1-);//当日最高价,不包含当前K线
LL:LV(L,N1-);//当日最低价,不包含当前K线
OO:REF(O,N1-);//当日开盘价
OZ:REF(O,N2+N1-);//昨日开盘价
CZ:REF(C,N1);//昨日收盘价
HZ:REF(HHV(H,N1),N1);//昨日最高价
LZ:REF(LLV(L,N1),N1);//昨日最低价
HDN:IFELSE(N1>=,VALUEWHEN(N1=,HHV(H,)),NULL);//当N1>=5时,开盘前5根K线的最高价
LDN:IFELSE(N1>=,VALUEWHEN(N1=,LLV(L,)),NULL);//当N1>=5时,开盘前5根K线的最低价 例8:
LB:REF(L,BARSBK);//买开仓那根K线最低价
HS:REF(H,BARSSK);//卖开仓那根K线最高价
LBN:REF(L,BARSBK+);//买开仓前一根K线最低价
HSN:REF(H,BARSSK+);//卖开仓前一根K线最高价 ATR指标在止损中的应用
ATR指标源码:
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,)-HIGH)),ABS(REF(CLOSE,)-LOW));
//当前K线最高价减最低价,前一根K线的收盘价与当前K线最高价之差的绝对值,前一根K线的收盘价与当前K线的最低价之差的绝对值,TR返回这三个值中的最大值
ATR:MA(TR,);//TR的N周期简单移动平均
平均真实波幅均值(Average True Range)最早由J. Welles Wilder Jr提出,旨在判断价格波动率。在设计交易系统时,ATR指标有着广泛的应用,例如《海龟交易法则》中仓位管理就是以ATR指标为核心的。《通向金融王国的自由之路》的作者范·K·撒普使用的就是3倍ATR的吊灯止损策略。最常用的基于ATR的止损策略有三种:吊灯止损、YOYO止损、ATR棘轮止损。 吊灯止损
吊灯止损的逻辑:基准价为买开仓后的最高价和卖开仓后的最低价,价差由ATR确定,当最新价与基准价的关系满足价差条件时进行止损。吊灯止损策略一般应用于趋势跟踪系统。
例1:以开仓后的极值为基准价,价差3倍ATR止损策略
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,)-HIGH)),ABS(REF(CLOSE,)-LOW));
ATR:=MA(TR,N);
BKHIGH-BKPRICE>*ATR && BKHIGH-C>*ATR,SP;
SKPRICE-SKLOW>*ATR && C-SKLOW>*ATR,BP; YOYO止损
YOYO止损的逻辑:基准价为前一根K线的收盘价,价差由ATR确定,当最新价与基准价的关系满足价差条件时进行止损。
YOYO止损与吊灯止损的区别在于:
.基准价。前者的基准价是前一根K线的收盘价,后者的基准价是开仓后的极值。
.适用。YOYO止损法是典型的波动性止损法,即用于辨别一个交易日内异常的不利的价格波动。这种异常波动往往是由于某一新闻事件,或是一种重要的技术性反转(是趋势结束的标志)。这种逻辑使得YO YO止损法非常有效,我们很少因为这种止损触发的退出交易而后悔。
综合两种止损方法:更有效。吊灯止损点往往设在距离最高点(或最高收盘价)3ATR或更多的地方,在市场向不利于我们的方向移动时,该止损点是不变的,因此他将保护我们免受趋势逐渐逆转的伤害。YOYO止损点往往设在离上一个收盘价仅1.5或2ATR处,它可以保护我们免受异常的日内价格的剧烈波动。当两者同时使用时,每天的止损价会是两者中最先被触发的那个。 例2:综合使用YOYO止损法和吊灯止损法
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,)-HIGH)),ABS(REF(CLOSE,)-LOW));
ATR:=MA(TR,N);
BKHIGH-BKPRICE>*ATR && BKHIGH-C>*ATR,SP;
SKPRICE-SKLOW>*ATR && C-SKLOW>*ATR,BP;
REF(C,)-C>1.5*ATR,SP;
C-REF(C,)>1.5*ATR,BP;
布林通道
inputs: baolin_price(close), //用于 计算宝林通道
current_price(close), //当前价格
length(),
up_std(),
dn_std(),
long_ma_day(), //长期趋势线 上升时购买
diaodeng_para();// 吊灯止损 2 = 2% vars: up_band(),
dn_band(),
buy_cnt(),
diaodeng_peice(),
day_long_ma(),
first_buy_price(),
first_buy_barcnt(),
mid_price(); up_band = BollingerBand( baolin_price, length, up_std ) ;//宝林带 通道上
dn_band = BollingerBand( baolin_price, length, -up_std ) ;//宝林带 通道下
day_long_ma=AverageFC(baolin_price,long_ma_day);//长平均线 用来判断趋势
mid_price=((high+low+close)/); //中轴线 用于 吊灯止损 // 不是1一条线(必须有) 当前价格在宝林通道上限的上面 趋势属于上升趋势
if (CurrentBar > ) and (current_price> up_band) and (day_long_ma>day_long_ma[]*1.001) then
begin
buy ( "buy" ) shares next bar at open; //下个开盘价买入1手
if(buy_cnt=) then
begin
first_buy_price =close;
first_buy_barcnt = CurrentBar;
end;
buy_cnt=buy_cnt+; end; // 不是1一条线(必须有) 当前价格在宝林通道下限的下面 并且 有持仓
if (CurrentBar > ) and (current_price < dn_band) and (buy_cnt>) then
Begin
sell ("sell") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零
end; // 止损 中轴线 吊灯止损 并且 有持仓
if(mid_price< diaodeng_peice* (-0.01 *diaodeng_para)) and (buy_cnt>) then
begin
sell ("diaodeng_zisun") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零
end; //更新 吊灯止损线
if(mid_price>diaodeng_peice) then
diaodeng_peice=mid_price; //止损 开始价 低于
If (first_buy_barcnt> CurrentBar+) and (close< first_buy_price*0.995) and (buy_cnt>) then
Begin
sell ("diyi_zisun") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零 end; //plot1(up_band,"up_band");
//plot2(dn_band,"dn_band");
//plot3(day_long_ma,"day_long_ma");
//plot4(diaodeng_peice,"diaodeng_peice");
肯特钠
Inputs: avg_length(),// EMA 常熟
atr_length(),//ATR长度
atr_up_para(), //上线×常数
atr_dn_para(),//下限X 常数
diaodeng_para(); vars:mid_price(),
ma1(),
up_band(),
dn_band(),
buy_cnt(),
diaodeng_peice(),
first_buy_price(),
first_buy_barcnt(); mid_price=(High+low+close)/;
ma1=XAverage(mid_price,avg_length);//用EMA 计算
up_band=ma1+AvgTrueRange(atr_length)*atr_up_para;
dn_band=ma1-AvgTrueRange(atr_length)*atr_dn_para; if(CurrentBar > ) and (ma1>ma1[]*1.001) and high>=up_band then
Begin
buy ( "buy" ) shares next bar at open; //下个开盘价买入1手
if(buy_cnt=) then
begin
first_buy_price =close;
first_buy_barcnt = CurrentBar;
end;
buy_cnt=buy_cnt+;
end; if(ma1<ma1[]) and (low<dn_band) and (buy_cnt>) then
Begin
sell ("kong sell") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零
end; //
If low<ma1 and (buy_cnt>) then
Begin
sell ("qing sell") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零
end; if(mid_price< diaodeng_peice* (-0.01 *diaodeng_para)) and (buy_cnt>) then
begin
sell ("diaodeng_zisun") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零
end; //更新 吊灯止损线
if(mid_price>diaodeng_peice) then
diaodeng_peice=mid_price; //止损 开始价 低于
If (first_buy_barcnt> CurrentBar+) and (close< first_buy_price*0.995) and (buy_cnt>) then
Begin
sell ("diyi_zisun") buy_cnt shares next bar at open; //全部销售
diaodeng_peice=; //止损线 清零 end; // plot1(up_band,"up_band");
// plot2(dn_band,"dn_band");
// plot3(ma1,"ma1");
//plot4(diaodeng_peice,"diaodeng_peice");
//Buys and Sells if Fast Average Crosses Over Slow Average Plus a Percentage Filter With Delay.
inputs: FLen(),SLen(),Filter(0.07), delay();
variables:FMA(),SMA(),Btime(),Stime();
FMA = average(Close of data2,FLen) of data2;
SMA = average(Close of data2,SLen) of data2;
If Currentbar > SLen and FMA crosses above SMA*(+Filter) then
Begin
Btime=currentbar+delay;
Stime=;
End;
If Currentbar = Btime then
Buy this bar at close; If Currentbar > SLen and FMA crosses below SMA*(-Filter) then
Begin
Stime=currentbar+delay;
Btime=;
End;
If Currentbar = Stime then
Sellshort this bar at close;
//Percent Protective Stop for Longs and Shorts
inputs: LXStopLossPct(),SXStopLossPct();// pass in XX for XX percent
if LXStopLossPct > and MarketPosition = then
Sell ("PctProtLX") next bar at entryprice * (-LXStopLossPct/) stop;
if SXStopLossPct > and MarketPosition = - then
Buy To Cover ("PctProtSX") next bar at entryprice * ( + SXStopLossPct/) stop;
//ATR Trailing Stop for Longs
inputs: ATRLengthLX(),NumATRsLX();
variables:ATRCalcLX(),poshigh();
ATRCalcLX=AvgTrueRange(ATRLengthLX )*NumATRsLX ;
If NumATRslx > then
begin
if Marketposition = then
begin
If high>poshigh then
poshigh = high;
Sell("atrLX") next bar at (poshigh - ATRCalcLX) stop;
end;
end;
If Marketposition <= then
poshigh = ;
//ATR Trailing Stop for Shorts
inputs: ATRLength(),NumATRs();
variables:ATRCalc(),PosLow();
ATRCalc = AvgTrueRange(ATRLength)*NumATRs;
If NumATRs > then
begin
if Marketposition = - then
begin
if Low < PosLow then
PosLow = Low ;
Buy To Cover ("atrSX") next bar at PosLow + ATRCalc stop;
end;
End;
If Marketposition <= then
poslow=;
//Percent Profit Trailing Stop for Longs
inputs: FloorPct(),TrailingPct();//pass in XX for XX percent
variables:FloorAmt();
if MarketPosition = then
Begin
FloorAmt=entryprice*Floorpct/;
SetPercentTrailing(FloorAmt,TrailingPct);
End;
//Percent Profit Trailing Stop for Shorts
inputs:FloorPct(),TrailingPct(); //pass in XX for XX percent
Variables:FloorAmt();
FloorAmt = Close*FloorPct/;
if MarketPosition = - then
Begin
FloorAmt=entryprice*Floorpct/;
SetPercentTrailing( FloorAmt, TrailingPct ) ;
end;