LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 点宽专栏——PivotPoint交易法

点宽专栏——PivotPoint交易法

2021-01-28 点宽DigQuant 来源:区块链网络

1.Pivot Point交易法

1.1枢轴点(Pivot Point)

这里先建立一个概念:

P= ( H + L + 2C ) / 4 {H代表高价位, L代表低价位, C代表收市价}

这个计算出的P值,是当时的市场绝对均价,下文用到P值公式是变体。

Pivot Point是一套非常“单纯”的阻力支持体系,至今已经广泛的用在股票、期货、国债、指数等高成交量的商品上。经典的Pivot Point是7点系统,就是7个价格组成的,目前广泛使用的13点系统,其实都是一样的,不过是多加了6个价格罢了,适用于大成交量的商品,也适用于Day Trade。

1.2原理公式:

pivot:= (high + low +?close) /?3; (用前一天的最高、最低和收盘)r1:=?2×pivot - low;s1:=?2×pivot - high;r2:= pivot + (r1-s1);s2:= pivot - (r1-s1);r3:= high - (2×(low - pivot));s3:= low - (2×(high - pivot));sm1:=(pivot+s1)/2;sm2:=(s1+s2)/2;sm3:=(s2+s3)/2;rm1:=(pivot+r1)/2;rm2:=(r1+r2)/2;rm3:=(r2+r3)/2;

pivot:= (high + low + close) / 3; (用前一天的最高、最低和收盘)

r1:= 2×pivot - low;

s1:= 2×pivot - high;

r2:= pivot + (r1-s1);

s2:= pivot - (r1-s1);

r3:= high - (2×(low - pivot));

s3:= low - (2×(high - pivot));

sm1:=(pivot+s1)/2;

sm2:=(s1+s2)/2;

sm3:=(s2+s3)/2;

rm1:=(pivot+r1)/2;

rm2:=(r1+r2)/2;

rm3:=(r2+r3)/2;

pivot是所谓的轴心,就是阻力系统的中心,其他r/s的都是阻力和支持,带m的是2条阻力的中心价。1、 pivot有吸引作用,在没有大的多头或是空头进场的情况下,价格是在r1和s1之间围绕轴心运动的,但是运动可能是没有规律的。2、 在强烈的多头或空头的推动下,价格会突破s1-r1区域,这时就有趋势了,但是还是在正常的价格运动范围之内。在这个范围内会有强烈的方向感,并且多数时间是靠近r1、r2或是s1、s2的价格运动,中间区域停留的时间不长。3、极端价格,没有特殊的利空或利好消息是不会到的。这个价格是比较重大意义的,往往伴随着特殊的情况,如单顶的v字反转等,是有可能短跑跑成马拉松的机会,一般情况是日内交易者不能放过的机会。4、 其他的带m的价格都有靠稳的作用,但做出入场的参考意义不大。

2.本文使用Pivot Point交易法原理公式的变体

使用5个关键点. 包括Pivot Point, Support 1 (支撑点1), Resistance 1 (阻力点1), Support 2 (支撑点2), Resistance 2 (阻力点2). 有些交易员使用更多的支撑和阻力点, 例如Support 3 (支撑点3) and Resistance 3 (阻力点3).

R2?= P + (H - L) = P + (R1 - S1)R1?= (P x?2) - LP?= (H + L + C) /?3S1?= (P x?2) - HS2?= P - (H - L) = P - (R1 - S1)

S 代表支撑点, R 代表阻力点, P代表pivot point, H代表高价位, L代表低价位, C代表收市价.

2.1仓位管理,出场设置改进

1.突破两种不同level的支撑(阻力)位,有不同的仓位权重。

2.出场加入滚动止盈止损

3.策略代码分

3.1策略文件

function PivotPoints( ?freq,stop_rate ?)%UNTITLED5 Summary of this function goes here% ? Detailed explanation goes hereHandleList=traderGetHandleList();TargetList=traderGetTargetList();global TTglobal epriceif?isempty(TT)||isempty(eprice)? ?TT=zeros(length(TargetList),1);? ? eprice=zeros(length(TargetList),1);end[ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit] = traderGetAccountInfo(HandleList);lags=60;for?i=1:length(TargetList)? ?%提取数据? ?[name,lastTD,Multiple,MinMove,TradingFeeOpen,TradingFeeClose,TradingFeeCloseToday,LongMargin,ShortMargin] = traderGetFutureInfo(TargetList(i).Market,TargetList(i).Code);? ? [time,open,high,low,close,volume,turnover,openinterest]=traderGetKData(TargetList(i).Market,TargetList(i).Code,'day',freq,0-lags,0,false,'FWard');? ?[Position,Frozen,AvgPrice] = traderGetAccountPosition(HandleList,TargetList(i).Market,TargetList(i).Code);? ?if?length(close)<lags? ? ? ?continue;? ?end? ?%仓位处理? ?sharenum1=floor((ValidCash+MarketCap)*0.4/length(TargetList)/close(end)/Multiple);? ?sharenum2=floor((ValidCash+MarketCap)*0.8/length(TargetList)/close(end)/Multiple);? ?%支撑阻力位描述? ?P=(high(end-1)+close(end-1)+low(end-1))/3;? ?buylin1=P+(high(end-1)-low(end-1));? ?buylin2=high(end-1)+2*(P-low(end-1));? ?selllin1=P-(high(end-1)-low(end-1));? ?selllin2=low(end-1)-2*(high(end-1)-P);? ??if?TT(i)==1? ? ? ?eprice(i)=AvgPrice;? ? ? ?TT(i)=0;? ??end? ? %交易操作? ??if?Position==0? ? ? ?if?close(end)>buylin1&&close(end)>mean(close(end-4:end))? ? ? ? ? ? orderID=traderBuy(HandleList,TargetList(i).Market,TargetList(i).Code,sharenum1,0,'Market','buy');? ? ? ? ? ??if?orderID~=0? ? ? ? ? ? ? ? TT(i)=1;? ? ? ? ? ??end? ? ? ?elseif ?close(end)>buylin2&&close(end)>mean(close(end-4:end))? ? ? ? ? ? orderID=traderBuy(HandleList,TargetList(i).Market,TargetList(i).Code,sharenum2,0,'Market','buy');? ? ? ? ? ??if?orderID~=0? ? ? ? ? ? ? ? TT(i)=1;? ? ? ? ? ??end? ? ? ?elseif close(end)<selllin1&&close(end)<mean(close(end-4:end))? ? ? ? ? ? orderID=traderSellShort(HandleList,TargetList(i).Market,TargetList(i).Code,sharenum1,0,'Market','sell');? ? ? ? ? ? ?if?orderID~=0? ? ? ? ? ? ? ? TT(i)=1;? ? ? ? ? ? ?end? ? ? ?elseif close(end)<selllin2&&close(end)<mean(close(end-4:end))? ? ? ? ? ? orderID=traderSellShort(HandleList,TargetList(i).Market,TargetList(i).Code,sharenum2,0,'Market','sell');? ? ? ? ? ? ?if?orderID~=0? ? ? ? ? ? ? ? TT(i)=1;? ? ? ? ? ??end? ? ? ?end? ?elseif Position>0? ? ? ?if?close(end)>eprice(i)*(1+3*stop_rate)? ? ? ? ? ?eprice(i)=close(end);? ? ? ?elseif close(end)<eprice(i)*(1-stop_rate)? ? ? ? ? ?traderPositionTo(HandleList,TargetList(i).Market,TargetList(i).Code,0,0,'Market','stoplong');? ? ? ?end? ?else? ? ? ?if?close(end)<eprice(i)*(1-3*stop_rate)? ? ? ? ? ?eprice(i)=close(end);? ? ? ?elseif close(end)>eprice(i)*(1+stop_rate)? ? ? ? ? ?traderPositionTo(HandleList,TargetList(i).Market,TargetList(i).Code,0,0,'Market','stoplong');? ? ? ?end? ?endendend

3.2执行文件

TargetList(1).Market =?'DCE';TargetList(1).Code =?'JM0000';TargetList(2).Market =?'SHFE';TargetList(2).Code =?'RB0000';stop_rate=0.05;freq=1;AccountList(1) = {'FutureBackReplay'};traderRunBacktest('PivotPoints',@PivotPoints,{ freq,stop_rate },AccountList(1),TargetList,'min',60,20100103,20161101,'FWard');

4.回测表现

对螺纹钢和焦煤期货自2010年1月至2016年11月进行60分钟级别回测

—-

编译者/作者:点宽DigQuant

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...