国外经典策略库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

国外经典策略库(1)基于ADX及EMA的交易系统/*策略说明:基于ADX及EMA进行判断系统要素:1.计算30根k线最高价和最低价的EMA价差2.计算12根k线的ADX入场条件:满足上根K线的收盘价收于EMA30之上,且ADX向上的条件在EntryBarBAR内该条件成立当前价小于等于SellSetup,做空,当条件满足超过EntryBarBAR后,取消入场当前价大于等于BuySetup,做多,当条件满足超过EntryBarBAR后,取消入场出场条件:多:当前价格下破30根K线最高价的EMA空:当前价格上穿30根K线最低价的EMA*/参数:N:110014DMI的N值M:1306ADX均线周期,DMI的M值AVGLEN:105030最高最低价的EMA周期数ENTRYBAR:152保持BuySetup触发BAR数TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N);//收盘价与最低价做差,最高价与前一周期收盘价做差,最低价与前一周期收盘价作差,在上述三个数据中取绝对值最大者,对该最大值做N周期累加求和。。HD:=HIGH-REF(HIGH,1);//最高价与前一周期最高价做差LD:=REF(LOW,1)-LOW;//前一周期最低价与最低价做差DMP:=SUM(IFELSE(HD0&&HDLD,HD,0),N);//如果HD0并且HDLD,取HD否则取0,对取值做N周期累加求和。DMM:=SUM(IFELSE(LD0&&LDHD,LD,0),N);//如果LD0并且LDHD,取LD否则取0,对取值做N周期累加求和。PDI:DMP*100/TR;MDI:DMM*100/TR;ADX:MA(ABS(MDI-PDI)/(MDI+PDI)*100,M);//MDI与PDI差的绝对值与(MDI+PDI)*100做比值,取该比值的M个周期均值。ADXR:(ADX+REF(ADX,M))/2;UPPERMA:=EMA(HIGH,AVGLEN);//计算30根K线最高价的EMALOWERMA:=EMA(LOW,AVGLEN);//计算30根K线最低价的EMACHANSPREAD:=(UPPERMA-LOWERMA)/2;//通过EMA计算出噪音通道宽度BUYSETUP:=CUPPERMA&&ADXREF(ADX,1);//当ADX向上且当前价大于30根K线最高价的EMA满足买入准备条件BUYTARGET:=C+CHANSPREAD;//满足买入准备条件时,用前BAR价格计算出多头触发价MROBS:=BARSLAST(BUYSETUP);//上次满足买入准备条件距离当前BAR的数目MROBS=ENTRYBAR&&BKVOL=0&&SKVOL=0&&BARPOS100&&HBUYTARGET&&VOL0,BK;//系统入场SETSIGPRICETYPE(BK,MAX(OPEN,REF(BUYTARGET,1)));BKVOL0&&BARSBK0&&VOL0&&LOW=UPPERMA-MINPRICE,SP;//系统出场SETSIGPRICETYPE(SP,MIN(OPEN,REF(UPPERMA,1)-MINPRICE));SELLSETUP:=CLOWERMA&&ADXREF(ADX,1);//当ADX向上且当前价下于30根K线最低价的EMA满足卖出准备条件SELLTARGET:=C-CHANSPREAD;//满足卖出准备条件时,用前BAR价格计算出空头触发价MROSS:=BARSLAST(SELLSETUP);//上次满足卖出准备条件距离当前BAR的数目MROSS=ENTRYBAR&&BKVOL=0&&SKVOL=0&&BARPOS100&&LOW=SELLTARGET&&VOL0,SK;SETSIGPRICETYPE(SK,MIN(OPEN,REF(SELLTARGET,1)));SKVOL0&&BARSSK0&&VOL0&&HIGH=LOWERMA+MINPRICE,BP;SETSIGPRICETYPE(BP,MAX(OPEN,REF(LOWERMA,1)+MINPRICE));AUTOFILTER;(2)基于平移的高低点均值通道与K线中值突破的系统/*策略说明:基于平移的高点和低点均线通道与K线中值突破进行判断系统要素:1.RangeLeader是个当前K线的中点在之前K线的最高点上,且当前K线的振幅大于之前K线的振幅的K线2.计算高点和低点的移动平均线入场条件:1、上根K线为RangeLead,并且上一根收盘价大于N周期前高点的MA,当前无多仓,则开多仓2、上根K线为RangeLead,并且上一根收盘价小于N周期前低点的MA,当前无空仓,则开空仓出场条件:1.开仓后,5个K线内用中轨止损,5个K线后用外轨止损*/参数:ABSDISP:1105高低点均线前移周期AVGLEN:15020高低点均线计算周期EXITBAR:1105止损周期参数,该周期以前中轨止损,以后外轨止损RANGE1:=HIGH-LOW;UPPERAVG:=MA(REF(HIGH,ABSDISP),AVGLEN);//计算N周期前高点的MA,N=参数ABSDISPLOWERAVG:=MA(REF(LOW,ABSDISP),AVGLEN);//计算N周期前低点的MA,N=参数ABSDISPMEDIANPRICE:=(HIGH+LOW)*0.5;//计算K线中点EXITAVG:=MA(REF(MEDIANPRICE,ABSDISP),AVGLEN);//计算N周期前K线中点的MA,N=参数ABSDISPRANGELEADB:=MEDIANPRICEREF(H,1)&&RANGE1REF(RANGE1,1);//当K线中点大于前一根K线高点并且振幅〉上一根振幅时,RANGELEADB返回1//系统入场BKVOL=0&&SKVOL=0&&REF(RANGELEADB,1)=1&&REF(C,1)REF(UPPERAVG,1),BK;//上根K线RANGELEADB返回1,并且上一根收盘价大于N周期前高点的MA,当前无多仓,则开多仓SETSIGPRICETYPE(BK,OPEN);BKVOL=0&&SKVOL=0&&REF(RANGELEADB,1)=1&&REF(C,1)REF(LOWERAVG,1),SK;//上根K线RANGELEADS返回1,并且上一根收盘价小于N周期前低点的MA,当前无空仓,则开空仓SETSIGPRICETYPE(SK,OPEN);//系统出场BKVOL0&&BARSBK0&&BARSBK=EXITBAR&&LOWEXITAVG,SP;//开仓后N根K线内用中轨止损,N根K线后用上轨止损,N=参数EXITBARSETSIGPRICETYPE(SP,MIN(OPEN,EXITAVG));BKVOL0&&BARSBK0&&BARSBKEXITBAR&&LOW=UPPERAVG-MINPRICE,SP;//SETSIGPRICETYPE(SP,MIN(OPEN,UPPERAVG-MINPRICE));SKVOL0&&BARSSK0&&BARSSK=EXITBAR&&H=EXITAVG,BP;//开仓后N根K线内用中轨止损,N根K线后用上轨止损,N=参数EXITBARSETSIGPRICETYPE(BP,MAX(OPEN,EXITAVG));SKVOL0&&BARSSK0&&BARSSKEXITBAR&&HIGH=LOWERAVG+MINPRICE,BP;//SETSIGPRICETYPE(BP,MAX(OPEN,LOWERAVG+MINPRICE));AUTOFILTER;(3)基于平移布林通道的系统/*策略说明:基于平移的boll通道突破系统系统要素:1.平移的boll通道入场条件:1、关键价格突破通道上轨,则开多仓2、关键价格突破通道下轨,则开空仓出场条件:1、关键价格突破通道上轨,则平空仓2、关键价格突破通道下轨,则平多仓*/参数:SDLEN:12012boll标准差周期参数AVGLEN:1103boll均线周期参数SDEV:1102boll通道倍数参数DISP:12016boll平移参数//平移BOLL通道计算AVGVAL:=MA(C,AVGLEN);SDMULT:=STD(C,SDLEN)*SDEV;DISPTOP:=REF(AVGVAL,DISP)+SDMULT;DISPBOTTOM:=REF(AVGVAL,DISP)-SDMULT;//系统入场BKVOL=0&&SKVOL=0&&HIGH=REF(DISPTOP,1),BK;SETSIGPRICETYPE(BK,MAX(OPEN,REF(DISPTOP,1)));BKVOL=0&&SKVOL=0&&LOW=REF(DISPBOTTOM,1),SK;SETSIGPRICETYPE(SK,MIN(OPEN,REF(DISPBOTTOM,1)));//系统出场BKVOL0&&BARSBK0&&LOW=REF(DISPBOTTOM,1),SP;SETSIGPRICETYPE(SP,MIN(OPEN,REF(DISPBOTTOM,1)));SKVOL0&&BARSSK0&&HIGH=REF(DISPTOP,1),BP;SETSIGPRICETYPE(BP,MAX(OPEN,REF(DISPTOP,1)));AUTOFILTER;(4)基于置换均线的二次穿越突破系统/*策略说明:本策略是基于置换均线的二次穿越突破系统系统要素:1.将移动平均K线向后平移一定BAR数即为置换均线2.相隔一定BAR数的收盘价二次穿越置换均线3.二次穿越完成时那根BAR的高点(或低点)作为突破进场价4.完成二次穿越的一定BAR数内突破入场条件:1.有效期内价格向上突破设定进场价做多2.有效期内价格向下突破设定进场价做空出场条件:1.价格反向穿越均线后止损2.基于N根K线的高低点的跟踪止损*/参数:AVGLENGTH:1105均线周期AVGDISPLACE:1105置换均线向后平移Bar数VALIDBARS2:1105开仓先决条件之二(上穿后再下穿)条件值保持有效的BAR数VALIDBARS1:1105开仓先决条件之一(收盘价上穿DMA均线)条件值保持有效的BAR数VALIDBARS3:1105开仓先决条件(上穿再下穿再上穿)条件值保持有效的BAR数TRAILSBARS:1105多少根BAR的最低价作为跟踪止损价//计算置换均线MA1:=MA(CLOSE,AVGLENGTH);DMA1:=REF(MA1,AVGDISPLACE);//判断收盘价是否穿越置换均线CONCROSSOVER:=CROSSUP(CLOSE,DMA1);CONCROSSUNDER:=CROSSDOWN(CLOSE,DMA1);//计算最近的一次下穿发生的BAR离当前BAR的根数BARSLASTCRSUND:=BARSLAST(CONCROSSUNDER=1);//计算最近的两次上穿发生的BAR离当前BAR的根数BARSSECCRSOVR:=BARSLAST(CONCROSSOVER=1);BARSFSTCRSOVR:=BARSSECCRSOVR+REF(BARSLAST(CONCROSSOVER=1),BARSSECCRSOVR);//计算最近的一次上穿发生的BAR离当前BAR的根数BARSLASTCRSOVR:=BARSLAST(CONCROSSOVER=1);//计算最近的两次下穿发生的BAR离当前BAR的根数BARSSECCRSUND:=BARSLAST(CONCROSSUNDER=1);BARSFSTCRSUND:=BARSSECCRSUND+REF(BARSLAST(CONCROSSUNDER=1),BARSSECCRSUND);//

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功