- 精华
- 0
- 在线时间
- 194 小时
- UID
- 251844
- 积分
- 115
- 帖子
- 39
- 阅读权限
- 30
- 注册时间
- 2017-5-31
- 最后登录
- 2018-2-7
- 精华
- 0
- UID
- 251844
- 积分
- 115
- 帖子
- 39
- 主题
- 19
- 阅读权限
- 30
- 注册时间
- 2017-5-31
- 最后登录
- 2018-2-7
|
pivot函数有点看不懂,我想把pivot这个函数的pivotBar(转折点出现的Bar到当前Bar的回溯周期索引)改成50,应该怎么改呢?
Params
NumericSeries Price(1);
Numeric Length(10);
Numeric LeftStrength(1);
Numeric RightStrength(1);
Numeric Instance(1);
Numeric HiLo(1);
NumericRef PivotPrice;
NumericRef PivotBar;
Vars
Numeric CandidatePrice( 0 );
Numeric LengthCntr( 0 );
Numeric StrengthCntr( 0 );
Numeric InstanceCntr( 0 );
Bool PivotTest( False);
Bool InstanceTest( False ) ;
Begin
InstanceCntr = 0 ;
InstanceTest = False ;
LengthCntr = RightStrength ;
While (LengthCntr < Length && (!InstanceTest ))
{
CandidatePrice = Price[LengthCntr] ;
PivotTest = True ;
StrengthCntr = LengthCntr + 1 ;
While (PivotTest && StrengthCntr - LengthCntr <= LeftStrength )
{
If (( HiLo == 1 And CandidatePrice < Price[StrengthCntr] ) or ( HiLo == -1 And CandidatePrice > Price[StrengthCntr] ))
PivotTest = False;
Else
StrengthCntr = StrengthCntr + 1 ;
}
StrengthCntr = LengthCntr - 1 ;
While (PivotTest && (LengthCntr - StrengthCntr) <= RightStrength )
{
If (( HiLo == 1 And CandidatePrice <= Price[StrengthCntr] ) or ( HiLo == -1 And CandidatePrice >= Price[StrengthCntr] ))
PivotTest = False;
Else
StrengthCntr = StrengthCntr - 1 ;
}
If (PivotTest)
InstanceCntr = InstanceCntr + 1 ;
If (InstanceCntr == Instance)
InstanceTest = True;
Else
LengthCntr = LengthCntr + 1 ;
}
If (InstanceTest )
{
PivotPrice = CandidatePrice ;
PivotBar = LengthCntr ;
Return True;
}Else
{
PivotPrice = -1 ;
PivotBar = -1 ;
Return False;
}
End |
|