枢轴点(Pivot Points)是一个非常单纯的阻力支撑体系,是一种经典的日内交易策略。 大概10年前由某个期货高手所发明,至今已广泛应用在股票、期货、国债、指数等高成交量的金融商品上。 经典的Pivot Point是7点系统,由7个价格组成。 计算原理:轴心: Pivot Point = (High + Close + Low) / 3 阻力一: R1 = 2 * Pivot - Low 支撑一: S1 = 2 * Pivot - High 阻力二: R2 = Pivot + (R1 - S1) 支撑二: S2 = Pivot - (R1 - S1) 阻力三: R3 = High + 2 * (Pivot - Low) 支撑三: S3 = Low - 2 * (High - Pivot) 其中High为最高价,Low为最低价,Close是成交价。 枢轴点解释:1. pivot是所谓的轴心,就是阻力系统的中心,R、S是阻力和支撑; 2. pivot有吸引作用,在没有大多头和大空头进场的情况下,价格是在R1和S1之间围绕轴心运动,但运动可能是没有规律的。有人专门做这个范围内的交易,称之为Floor Trader; 3. 在强烈的多头或空头的推动下,价格会突破S1-R1区域,此时形成趋势。但还是在正常的价格运动范围之内,伴随着强烈的方向感,多数时间是靠近R1、R2或者S1、S2运动,中间区域停留的时间不长; 4. R3、S3极端价格,在没有特殊利空或利好消息的情况下一般不会达到。 如果整个交易日内价格都在R1-S1的区域内移动,说明主要交易者为短线交易者,包括个人投资人,小基金等; 如果到了R2、S2区域,说明大的炒家出现了,此时也许已经在行情中,也许是行情的开始; 如果到了R3、S3区域,说明是强烈的趋势,这时候的参与者就远远不是几个基金,几个投资人能做到了。 EA的实现://--+-----+--+---------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+--+--------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---//ePivotPoint.mq4//--+-----+--+------+-----------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+--+--------+---------+-+---+-+---#property version '1.00'#property strict//--+-----+--+------+---------+-+---+-+---+--+-----+--+------+-----------+-+---+-+---+--+-----+----+------+-----------+-+---+-+---+--+-----+--+------+---------+-+---+-+---enum eTimeFrame{M1=1,M5=5,M15=15,M30=30,H1=60,H4=240,D1=1440};extern eTimeFrame pTimeFrame=1440;//时间周期extern int pCount=1;//要计算的周期数extern int pShift=0;//偏移量//--+-----+--+------+-----------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+-----+--+-----+--+--------+---------+-+---+-+---int OnInit(){ ChartInit(); return(INIT_SUCCEEDED);}//--+--------+--+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+-----+--+-----+--+--------+---------+-+---+-+---void OnDeinit(const int reason){}//--+-----+--+------+---------+-+---+-+---+--+-----+--+------+-----------+-+---+-+---+--+-----+--+--------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+-----void OnTick(){ double xR3,xR2,xR1,xP,xS1,xS2,xS3; GetPivotPoint(Symbol(),xR3,xR2,xR1,xP,xS1,xS2,xS3,pTimeFrame,pCount,pShift); CreateLine('PivotPoint',xP,Red); CreateLine('R3',xR3,White); CreateLine('R2',xR2,Yellow); CreateLine('R1',xR1,Aqua); CreateLine('S1',xS1,Aqua); CreateLine('S2',xS2,Yellow); CreateLine('S3',xS3,White);}//--+-----+----+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+-----+------+-----------+-+---+-+---+--+-----+--+------+---------+-+---+-+---void GetPivotPoint(string xSymbol,double &xR3,double &xR2,double &xR1,double &xP,double &xS1,double &xS2,double &xS3,int xTimeFrame=1440,int xCount=1,int xShift=0){/*枢轴点*/ double xH=iHigh(xSymbol,xTimeFrame,iHighest(xSymbol,xTimeFrame,MODE_HIGH,xCount,xShift+1)); double xL=iLow(xSymbol,xTimeFrame,iLowest(xSymbol,xTimeFrame,MODE_LOW,xCount,xShift+1)); double xC=iClose(xSymbol,xTimeFrame,xShift+1); xP=(xH+xL+xC)/3; xR1=2*xP-xL; xS1=2*xP-xH; xR2=xP+(xR1-xS1); xS2=xP-(xR1-xS1); xR3=xH+2*(xP-xL); xS3=xL-2*(xH-xP);}//--+-----+----+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+--+-----+----+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+-----void CreateLine(string xObjectName,double xPrice,color xColor=Red,string xFont='微软雅黑',int xFontSize=10){ ObjectDelete(0,xObjectName); ObjectCreate(0,xObjectName,OBJ_HLINE,0,0,xPrice); ObjectSetInteger(0, xObjectName, OBJPROP_COLOR, xColor); string xLabelName=xObjectName+'_Text'; ObjectDelete(0,xLabelName); ObjectCreate(0,xLabelName,OBJ_TEXT,0,iTime(Symbol(),Period(),10),xPrice); int xDigits=StrToInteger(DoubleToStr(MarketInfo(Symbol(),MODE_DIGITS),0)); ObjectSetString(0,xLabelName,OBJPROP_TEXT,xObjectName+'('+DoubleToStr(xPrice,xDigits)+')'); ObjectSetString(0,xLabelName,OBJPROP_FONT,xFont); ObjectSetInteger(0,xLabelName,OBJPROP_FONTSIZE,xFontSize); ObjectSetInteger(0,xLabelName,OBJPROP_COLOR,xColor);}//--+-----+-----+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+---+----+-----+--+------+---------+-+---+-+---+--+-----+--+------+---------+-+---+-+-----void ChartInit(){ ObjectsDeleteAll(0,0,-1); ChartSetInteger(0,CHART_MODE,CHART_LINE); ChartSetInteger(0,CHART_SHOW_GRID,false);} 枢轴点的应用:应用1:判断市场趋势 若枢轴点向上突破,则判断市场上涨; 若枢轴点向下突破,则判断市场下跌。 需注意的是,这是一个短期的趋势判断方法,只对当前周期交易有效,下一周期枢轴点需重新计算。 应用2:入场出场信号 若突破阻力位,则入场买多,设支撑位为出场点,突破支撑位则止损; 若跌破支撑位,则入场买空,设阻力位为出场点,突破阻力位则止损。 枢轴点的延伸:Woodie's枢轴点 Woodie's枢轴点与传统枢轴点类似,但计算方式略有不同,更注重先前时段的收盘价。计算规则如下: P = (H+L+2×C)/4 R1 = (2×P)−L R2 = P+H−L S1 = (2×P)−H S2 = P−H+L Camarilla枢轴点 Camarilla枢轴点的支撑和阻力共包含八个水平。计算规则如下: R4 = (H−L)×1.1/2+C R3 = (H−L)×1.1/4+C R2 = (H−L)×1.1/6+C R1 = (H−L)×1.1/12+C S1 = C−(H−L)×1.1/12 S2 = C−(H−L)×1.1/6 S3 = C−(H−L)×1.1/4 S4 = C−(H−L)×1.1/2 DeMark's枢轴点 Tom DeMark's枢轴点是一种流行的预测未来趋势的方法。DeMark's枢轴点不能算严格意义上的枢轴点,而是预测时段高低位的方法。计算规则如下: 如果收盘价 < 开盘价,那么 X = H+2×L+C 如果收盘价 > 开盘价,那么 X = 2×H+L+C 如果收盘价 = 开盘价,那么 X = H+L+2×C 新高位= X/2-L 新低位= X/2-H |
|
来自: dushikuaile > 《缠论,支点交易》