开拓者期货期权程序化系统交易论坛

标题: 求转折Pivot函数使用 [打印本页]

作者: yk1234    时间: 2007-11-19 22:31:29     标题: 求转折Pivot函数使用

LeftStrength 转折点左边需要的Bar数目,必须小于Length;
RightStrength 转折点右边需要的Bar数目,必须小于Length;

PivotPrice 引用参数,转折点的Price值,这句该如何理解?
PivotBar 引用参数,转折点出现的Bar到当前Bar的回溯周期索引,这句该如何理解?

请举例说明
作者: pwqzc    时间: 2007-11-20 08:55:55

首先要明白什么是引用参数拉
这个东西很难理解的
作者: nopain    时间: 2007-11-20 09:13:15

所谓转折点,一定一个K线左边,右边比中间的高/低,至于多高/低算转折呢。
就通过LeftStrength,RightStrength 来设置。
都设置为2的情况下,表明一个K线,左右各需要两个K线比他高/低。
后面两个参数是引用参数,就是返回值。
作者: jvya    时间: 2007-11-20 13:20:17

哦,这个东东,不错。
有没有也能设置转折的幅度的函数呢?
作者: xiaoshansanzhi    时间: 2011-10-19 10:10:43

虚心学习,积沙成塔
作者: 蔡宛宏    时间: 2011-12-16 23:34:07

要是能够使用非未来函数逼近这个指标就好了
作者: lnyuanming    时间: 2012-6-26 16:03:45

:o:o:o:o
作者: caobing    时间: 2013-9-27 08:58:09

nopain 发表于 2007-11-20 09:13
所谓转折点,一定一个K线左边,右边比中间的高/低,至于多高/低算转折呢。
就通过LeftStrength,RightStren ...

整个论坛也没有找到关于转折函数的详细解释。管理员能把思路说的更具体些吗?
作者: zcy123    时间: 2013-11-11 16:08:38

nopain 发表于 2007-11-20 09:13
所谓转折点,一定一个K线左边,右边比中间的高/低,至于多高/低算转折呢。
就通过LeftStrength,RightStren ...

请问设置为2的情况下,必须左右两边的k线比他高/低,可以等于吗?

作者: YLBZ    时间: 2013-11-11 17:22:16

本帖最后由 YLBZ 于 2013-11-11 17:23 编辑

有很多函数的应用,系统中没有解释。比如相关系数、皮尔森相关系数的用法。最高、最低值是多少,包含什么含义?TB应当详细说明!
应当在函数的说明中进一步阐明。
作者: ST振翔    时间: 2013-11-12 08:52:02

正好有个例子:
  1. Params
  2.         Numeric Leftstrength(3);
  3.         Numeric Rightstrength(3);
  4.     Numeric Length(100);        

  5. Vars
  6.     Numeric HighValue1;
  7.         Numeric HighValue2;
  8.         Numeric HighValueBar1;
  9.         Numeric HighValueBar2;
  10.         Numeric LowValue1;
  11.         Numeric LowValue2;
  12.         Numeric LowValueBar1;
  13.         Numeric LowValueBar2;
  14.         Bool Value1(True);
  15.         Bool Value2(True);
  16.         Numeric offset;
  17.        
  18. Begin
  19.          Offset = 0.15 * Average(TrueRange(), 5 ) ;
  20.                  
  21.                  if (SwingHighBar(1,H,Rightstrength+1,Length)<>-1 && SwingLowBar(1,L,Rightstrength+1,Length)<>-1)
  22.                  {
  23.                  Pivot(High,Length,Leftstrength,Rightstrength,1,1,HighValue1,HighValueBar1);
  24.                  Pivot(High,Length,Leftstrength,Rightstrength,2,1,HighValue2,HighValueBar2);
  25.                  Pivot(Low,Length,Leftstrength,Rightstrength,1,-1,LowValue1,LowValueBar1);
  26.                  Pivot(Low,Length,Leftstrength,Rightstrength,2,-1,LowValue2,LowValueBar2);
  27.                  }
  28.                  if(HighValue2 <> -1)
  29.                  {
  30.                     if(( HighValue1 >= HighValue2 - Offset ) && ( HighValue1 <= HighValue2 + Offset ))
  31.                          {
  32.                          PlotString("Swing","DT",H[HighValueBar1]+ Offset,Yellow,HighValueBar1);
  33.                      Value1 = False;
  34.                         }
  35.                     else if((HighValue1 > HighValue2 && value1))
  36.             {
  37.                         PlotString("Swing","HH",H[HighValueBar1]+ Offset,Green,HighValueBar1);
  38.                         }       
  39.             else if((HighValue1 < HighValue2 && value1))
  40.             {
  41.                         PlotString("Swing","LH",H[HighValueBar1]+ Offset,Red,HighValueBar1);
  42.                         }       
  43.             Value1 = True;                               
  44.                  }                           
  45.                                
  46.                        
  47.                 if(LowValue2 <> -1 )
  48.                  {
  49.                         if(( LowValue1 >= LowValue2 - Offset ) && ( LowValue1 <= LowValue2 + Offset ) )
  50.                         {
  51.                         PlotString("Swing","DB",L[LowValueBar1] - Offset,Yellow,LowValueBar1);
  52.                         Value2 = False;
  53.                         }
  54.                         else if(LowValue1 < LowValue2 &&  value2)
  55.                         {
  56.                         PlotString("Swing","LL",L[LowValueBar1] - Offset,Red,LowValueBar1);
  57.                         }
  58.                         else if(LowValue1 > LowValue2 && value2)
  59.                         {
  60.                         PlotString("Swing","HL",L[LowValueBar1]- Offset,Green,LowValueBar1);
  61.                         }
  62.                         Value2 = True;       
  63.                  }
  64.                  
  65. End
复制代码

作者: YLBZ    时间: 2013-11-13 16:50:04

学习啦
作者: caobing    时间: 2013-11-19 16:52:28

额的个神呀,终于搞明白怎么个过程了。。
作者: YLBZ    时间: 2013-11-26 15:56:55

ST振翔 发表于 2013-11-12 08:52
正好有个例子:

if(HighValue2 <> -1)//为什么是不等于-1? 含义是什么?

SwingHighBar(1,H,Rightstrength+1,Length)<>-1//为什么是不等于-1? 含义是什么?

请指教!
作者: ST振翔    时间: 2013-11-26 19:17:09

本帖最后由 ST振翔 于 2013-11-26 19:18 编辑
YLBZ 发表于 2013-11-26 15:56
if(HighValue2  -1)//为什么是不等于-1? 含义是什么?

SwingHighBar(1,H,Rightstrength+1,Length)-1// ...


您好,你可以看系统自带Pivot函数的源码,里面有如下这样一段(标红文字),即条件不成立的话,这地方输出的值是-1,所以在使用Pivot函数的时候,如果转折点的值求不到,就是一个-1的值。SwingHighBar函数是Pivot函数的拓展,道理都是一样的。

If (InstanceTest )
        {
                PivotPrice = CandidatePrice ;
                PivotBar = LengthCntr ;
                Return True;
        }Else
        {
                PivotPrice = -1 ;
                PivotBar = -1 ;
                Return False;               
        }       
作者: YLBZ    时间: 2013-11-27 22:20:52

本帖最后由 YLBZ 于 2013-11-27 22:22 编辑
ST振翔 发表于 2013-11-26 19:17
您好,你可以看系统自带Pivot函数的源码,里面有如下这样一段(标红文字),即条件不成立的话,这地方输 ...


谢谢你!困扰的问题解决了。也就是讲-1没有特定的意义,等于-2也可以的?
作者: ST振翔    时间: 2013-11-28 13:41:43

YLBZ 发表于 2013-11-27 22:20
谢谢你!困扰的问题解决了。也就是讲-1没有特定的意义,等于-2也可以的? ...

恩,是的
作者: Griffin001    时间: 2016-6-13 13:37:15

pivot函数返回的是Bool类型的值,那在这里面的作用是什么?
if (SwingHighBar(1,H,Rightstrength+1,Length)<>-1 && SwingLowBar(1,L,Rightstrength+1,Length)<>-1)

23.                 {

24.                 Pivot(High,Length,Leftstrength,Rightstrength,1,1,HighValue1,HighValueBar1);

25.                 Pivot(High,Length,Leftstrength,Rightstrength,2,1,HighValue2,HighValueBar2);

26.                 Pivot(Low,Length,Leftstrength,Rightstrength,1,-1,LowValue1,LowValueBar1);

27.                 Pivot(Low,Length,Leftstrength,Rightstrength,2,-1,LowValue2,LowValueBar2);

28.                 }
不懂,请解答!!!
作者: coolnet    时间: 2016-6-14 09:07:10

pivot这个函数用起来有点困难,很难取到真实的转折点
作者: coolnet    时间: 2016-6-14 09:24:00

对了,策略星学院网站上有几个讲pivot指标的视频
作者: coolnet    时间: 2016-6-14 09:24:23

尽管程序是mc,但借鉴下还是能用的




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2