程序化交易模型中常用的几大止损策略

更新时间:2024-07-12 09:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

河北稳升软件科技有限公司 量化云网站

程序化交易模型中常用的几大止损策略

既要避免被无谓的随机波动震出局,又要起到保护交易者作用的才是优秀的止损策略。

时间止损

时间止盈止损逻辑:开仓后的时间(通常使用开仓K线到当前K线的区间内的K线数量)触发设定的条件时进行止损/止盈平仓,通常与价差条件结合使用。 例1:

BARSBK=1,SP;//开仓后下一根K线开始时平仓 BARSSK=1,BP;//开仓后下一根K线开始时平仓

价差止损

最新价与基准价之间的价差触发设定的条件时进行止损平仓。以资金盈亏额为条件的止损策略也被我们归为这一类。比较常用的策略有追踪止损、阶梯止损、限价止损等。

常用的基准价有开仓价格、开仓后的最高价/最低价,和重要的支撑/压力位。

主要有两个因素影响价差的选择:

1.交易者盈利预期和愿意并且能够承受的亏损。

2.交易品种的随机波动性,可以通过对历史数据分析或经验总结等方法研究。衡量随机波动性标准的通常是ATR指标。

我们除了基准价和价差外,有时还会设置一个启动止损止盈的条件,例如:通常我们会限制当最大盈利达到某一标准后再启动跟踪止损。时间也经常被作为止损的触发条件。

跟踪止损

跟踪止损的逻辑:以开仓后的最高或者最低价为基准价,回撤超过价差后进行止损。

河北稳升软件科技有限公司 量化云网站

这里的价差可以使用最大盈利的百分比,也可以是固定价差。通常还会限制当最大盈利超过某一范围后再启动止盈止损策略。 例2:

A:=MINPRICE;//取模组交易合约的最小变动价位

BKHIGH-BKPRICE>50*A && C

//止损条件:最新价小于基准价减价差。(基准价是买开仓后的最高价,价差是最大盈利的30%) SKPRICE-SKLOW>50*A && C>SKLOW+0.3*(SKPRICE-SKLOW),BP; //触发条件:卖开仓价格与卖开仓后的最低价的差值大于50个最小变动价位

//止损条件:最新价大于基准价加价差。(基准价是卖开仓后的最低价,价差是最大盈利的30%)

限价止损/止盈

限价止盈/止损的逻辑:以开仓价格为基准价,当前亏损或盈利超过固定的价差时进行止损/止盈。 例3:

A:=MINPRICE;//取模组交易合约的最小变动价位

C<=BKPRICE-10*A,SP;//最新价低于买开仓价10个最小变动价位,多头止损; C>=BKPRICE+20*A,SP;//最新价高于买开仓价20个最小变动价位,多头止赢; C>=SKPRICE+10*A,BP;//高于卖开仓价10个最小变动价位,空头止损; C<=SKPRICE-20*A,BP;//低于卖开仓价20个最小变动价位,空头止赢;

阶梯止损

阶梯止损的逻辑:以开仓价格为基准价,开仓时以M点固定价差设置止损,行情每向有利的方向波动N个点,将止损价格提高(多头)或者降低(空头)P个点。 例4:

C

//买开仓后,初始止损价差30个点,行情每上涨10点,止损价格提高5点 C>SKPEICE+30-INTPART((SKPRICE-SKLOW)/10)*5,BP;

//卖开仓后,初始止损价差30个点,行情每下跌10点,止损价格降低5点

时间+价差阶梯止损

河北稳升软件科技有限公司 量化云网站

时间+价差阶梯止损止盈逻辑:以买(卖)开仓价格为基准价,最新价小于(大于)开仓价减(加)价差时进行止损/止盈平仓。价差的浮动规则:开仓时固定价差M,随着时间的推移,每出现N根K线,将价差增加P个点。 例5:

C

//买开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点 C>SKPEICE+30-INTPART(BARSSK/5)*10,BP;

//卖开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点 保本

保本的逻辑:开仓之后,最大盈利超过固定价差后,当盈利再次回到固定价差的水平时进行止损平仓。 例6:

BKHIGH-BKPRICE>10 && C-BKPRICE<=10,SP;

//买开仓后的最大盈利大于10,并且当前的盈利小于等于10,卖平仓 SKPRICE-SKLOW>10 && SKPRICE-C<=10,BP;

//卖开仓后的最大盈利大于10,并且当前的盈利小于等于10,买平仓

支撑/压力位

以支撑/压力位标准进行止损止盈也可在本质上认为是一种价差止盈止损,只不过这里研究的重点是基准价(支撑/压力)。 例7:

N1:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘第一根K线到当前的K线根数 N2:=REF(N1,N1);//每个交易日K线的总数 HH:HV(H,N1-1);//当日最高价,不包含当前K线 LL:LV(L,N1-1);//当日最低价,不包含当前K线 OO:REF(O,N1-1);//当日开盘价 OZ:REF(O,N2+N1-1);//昨日开盘价 CZ:REF(C,N1);//昨日收盘价

HZ:REF(HHV(H,N1),N1);//昨日最高价 LZ:REF(LLV(L,N1),N1);//昨日最低价

HDN:IFELSE(N1>=5,VALUEWHEN(N1=5,HHV(H,5)),NULL); //当N1>=5时,开盘前5根K线的最高价

河北稳升软件科技有限公司 量化云网站

LDN:IFELSE(N1>=5,VALUEWHEN(N1=5,LLV(L,5)),NULL); //当N1>=5时,开盘前5根K线的最低价 例8:

LB:REF(L,BARSBK);//买开仓那根K线最低价 HS:REF(H,BARSSK);//卖开仓那根K线最高价 LBN:REF(L,BARSBK+1);//买开仓前一根K线最低价 HSN:REF(H,BARSSK+1);//卖开仓前一根K线最高价

本文来源:https://www.bwwdw.com/article/row.html

Top