抛物线转向公式照搬后编译不起???? [开拓者 TB]
- 咨询内容:
抛物线转向公式ParabolicSAR复制粘贴后编译不起,不知道什么原因???显示return语句返回值不符。
//------------------------------------------------------------------------
// 简称: ParabolicSAR
// 名称: 求抛物线转向
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
Numeric AfStep(0.02);
Numeric AfLimit(0.2);
NumericRef oParClose;
NumericRef oParOpen;
NumericRef oPosition;
NumericRef oTransition;
Vars
NumericSeries Af(0);
NumericSeries ParOpen(0);
NumericSeries Position(0);
NumericSeries HHValue(0);
NumericSeries LLValue(0);
Begin
If (CurrentBar == 0)
{
Position = 1 ;
oTransition = 1 ;
Af = AfStep ;
HHValue = High ;
LLValue = Low ;
oParClose = LLValue ;
ParOpen = oParClose + Af * ( HHValue - oParClose) ;
If (ParOpen > Low)
{
ParOpen = Low ;
}
}Else
{
oTransition = 0 ;
If (High > HHValue[1])
{
HHValue = High;
}Else
{
HHValue = HHValue[1];
}
If (Low < LLValue[1])
{
LLValue = Low;
}Else
{
LLValue = LLValue[1];
}
If ( Position[1] == 1)
{
If ( Low <= ParOpen[1])
{
Position = -1 ;
oTransition = -1 ;
oParClose = HHValue ;
HHValue = High ;
LLValue = Low ;
Af = AfStep ;
ParOpen = oParClose + Af * ( LLValue - oParClose ) ;
If (ParOpen < High)
{
ParOpen = High ;
}
If (ParOpen < High[1])
{
ParOpen = High[1] ;
}
}Else
{
Position = Position[1];
oParClose = ParOpen[1] ;
If (HHValue > HHValue[1] and Af[1] < AfLimit )
{
If(Af[1]+AfStep > AfLimit)
{
Af = AfLimit ;
}Else
{
Af = Af[1]+AfStep;
}
}Else
{
Af = Af[1];
}
ParOpen = oParClose + Af * ( HHValue - oParClose ) ;
If (ParOpen > Low)
{
ParOpen = Low ;
}
If (ParOpen > Low[1])
{
ParOpen = Low[1];
}
}
}Else
{
If (High >= ParOpen[1])
{
Position = 1 ;
oTransition = 1 ;
oParClose = LLValue ;
HHValue = High ;
LLValue = Low ;
Af = AfStep ;
ParOpen = oParClose + Af * ( HHValue - oParClose) ;
If (ParOpen > Low)
{
ParOpen = Low ;
}
If (ParOpen > Low[1])
{
ParOpen = Low[1];
}
}Else
{
Position = Position[1];
oParClose = ParOpen[1];
If (LLValue < LLValue[1] And Af[1] < AfLimit )
{
If(Af[1]+AfStep > AfLimit)
{
Af = AfLimit ;
}Else
{
Af = Af[1]+AfStep;
}
}Else
{
Af = Af[1];
}
ParOpen = oParClose + Af * ( LLValue - oParClose ) ;
If (ParOpen < High)
{
ParOpen = High ;
}
If (ParOpen < High[1])
{
ParOpen = High[1] ;
}
}
}
}
oParOpen = ParOpen;
oPosition = Position;
Return True;
End
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 版权所有 TradeBlazer Software 2003-2010
// 更改声明 TradeBlazer Software保留对TradeBlazer平
// 台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ - TB技术人员:
亲 你这是函数 不是公式
- TB客服: 学习了,多谢!!!
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容