新寫開拓者 TB 1分鐘圖形下計算60分鐘WR的程序[開拓者公式]
- 因為編寫的策略需要用到跨周期,最近研究了論壇里面的跨周期內容集中貼里面的內容,編寫了這個WR的跨周期程序。可是剛剛接觸TB沒多久,不知道編寫有無紕漏,所以貼出來請大家指正,謝了。
1、首先使用了管理員nopain大蝦提供的用戶函數TransMinsData
Params
NumericSeries Price(1);
Numeric nMinSet(5);
Numeric MinsAgo(2);
Vars
NumericSeries barCnt;
NumericSeries MinData;
Numeric i;
Numeric j;
Numeric nIndex(0);
Begin
If(IntPart(Minute%nMinSet)==0)
{
barCnt = 1;
}Else
{
barCnt = barCnt[1] + 1;
}
MinData = Price;
If(MinsAgo == 0)
{
return MinData;
}Else
{
For i = 1 To MinsAgo
{
If( i == 1)
{
j = 0;
}Else
{
j = j + BarCnt[j];
}
If (j > CurrentBar ) Return InvalidNumeric;
nIndex = nIndex + BarCnt[j];
}
Return MinData[nIndex];
}
End
2、1分鐘圖形下計算60分鐘WR的程序
新建技術指標,命名為My60minsWR,代碼如下:
Params
Numeric Length(5);
Vars
Numeric Divisor;
Numeric PRValue;
Numeric HighestValue;
Numeric i;
Numeric LowestValue;
NumericSeries MyHigh;
NumericSeries MyLow;
NumericSeries MyClose;
Begin
MyHigh = DataConvert(High,"min",60,"High");
MyLow = DataConvert(Low,"min",60,"Low");
MyClose = DataConvert(Close,"min",60,"Close");
HighestValue = MyHigh;
LowestValue = MyLow;
For i = Length-1 DownTo 0
{
If(TransMinsData(MyHigh,60,i) > HighestValue)
HighestValue = TransMinsData(MyHigh,60,i);
}
For i = Length-1 DownTo 0
{
If(TransMinsData(MyLow,60,i) < LowestValue)
LowestValue = TransMinsData(MyLow,60,i);
}
Divisor =HighestValue - LowestValue;
If (Divisor <> 0 )
PRValue = (MyClose - HighestValue)/Divisor * 100;
else
PRValue = Divisor;
PlotNumeric("WR",PRValue);
End
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容