开拓者期货期权程序化系统交易论坛
标题:
求助!!!改写pivot函数
[打印本页]
作者:
marialeng
时间:
2017-12-15 10:40:21
标题:
求助!!!改写pivot函数
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
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2