拋物線轉向公式照搬后編譯不起???? [開拓者 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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容