请选择 进入手机版 | 继续访问电脑版
楼主: 点宽DigQuant
855 1

[其他] 【点宽专栏】——Pivot Point交易法 [推广有奖]

  • 0关注
  • 4粉丝

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.5552
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
990 点
帖子
35
精华
0
在线时间
34 小时
注册时间
2020-12-14
最后登录
2023-3-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


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) - L
P = (H + L + C) / 3
S1 = (P x 2) - H
S2 = 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 here
HandleList=traderGetHandleList();
TargetList=traderGetTargetList();
global TT
global eprice
if 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
   end
end
end

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分钟级别回测


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Pivot Point int 交易法 Explanation

已有 1 人评分经验 收起 理由
wwqqer + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

duojinian 发表于 2021-2-1 15:20:17 |显示全部楼层 |坛友微信交流群
增加成交量,可信度更高。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 07:30