拋物線轉(zhuǎn)向公式照搬后編譯不起????
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2014年12月13日
- 咨詢內(nèi)容:
拋物線轉(zhuǎn)向公式ParabolicSAR復(fù)制粘貼后編譯不起,不知道什么原因???顯示return語(yǔ)句返回值不符。
//------------------------------------------------------------------------
// 簡(jiǎn)稱: ParabolicSAR
// 名稱: 求拋物線轉(zhuǎn)向
// 類別: 用戶函數(shù)
// 類型: 內(nèi)建函數(shù)
// 輸出: 數(shù)值型
//------------------------------------------------------------------------
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
// 版權(quán)所有 TradeBlazer Software 2003-2010
// 更改聲明 TradeBlazer Software保留對(duì)TradeBlazer平
// 臺(tái)每一版本的TradeBlazer公式修改和重寫(xiě)的權(quán)利
//------------------------------------------------------------------------
- TB技術(shù)人員:
親 你這是函數(shù) 不是公式
- TB客服:
學(xué)習(xí)了,多謝!!!