關於時間序列資料固定區間之語法
大家好:小弟近日在嘗試進行一個語法
目標是 把時間序列資料 變成每個固定區間 資料不重覆引入指標
一開始是想抓 每100個時間序列內之最高價
假設 資料是1到10000 共1萬筆
一般highest(h,100)是把h到h中最高者抓出
就如同是把1-100抓出 然後隨時間推出又抓2-101
但小弟希望的是
1-100
101-200
201-300
這個模式目前所想到是
vi=0 to 99
xi=0 to 99
f=maxlist+(100*)]]
如此之下
fv0=maxlist,,,...]
fv1=maxlist,h,...h]
不知道是否有其他寫法呢?
請大家不吝指教
Max
TrendRover哥小弟確實是想要您說的那樣 但也很感謝大家指導
還在思考怎麼寫比較接近中 感謝 Arrays: RangeHigh(0) ,RangeLow(0);
vars:Counter(1),StepGap(100),LookBack(100) ;
For Counter = 0 to 9 Begin
Value1 = Counter*StepGap;
RangeHigh = Highest(High,LookBack) ;
end ;
這樣子迴圈完成後 ,陣列內 RangeHigh ~ RangeHigh 內就會存每隔 100根K棒位置的100根K棒的最高價
謝謝 easytrader788哥晚點來研究研究 本帖最後由 TrendRover 於 16-3-4 04:01 編輯
easytrader788 發表於 16-3-3 08:49
Arrays: RangeHigh(0) ,RangeLow(0);
vars:Counter(1),StepGap(100),LookBack(100) ;
版主要得應該是 BarNumber 0-99 一直推進.
(但版主舉 High High 根本和他想要的不一樣---因為 High 永遠是the last bar非 BarNumber first )
你寫得這個會隨最後一根 bar位置變動一直調整 10個array 值 ,
不知我有想錯嗎?
本帖最後由 TrendRover 於 16-3-4 04:48 編輯
版大想要的就把當今的時間 X100當做data2 (例如1K圖 加 data2 是 100K )
然後去取
High of data2 data2 .............
這樣就排的整齊對準 每100跟,然後不滿100跟的還會一值update
小弟主要是在想處理 HighD(1)這語法他是去找昨日最高
但小弟想找的是 前100個區間最高 比方h-h找出最高是h=value1
然後隨著時間序列不停推進 當滿100個資料點後 再從前100個資料內找出最高
maxhamax 發表於 16-3-4 09:08
TrendRover哥小弟確實是想要您說的那樣 但也很感謝大家指導
還在思考怎麼寫比較接近中 感謝 ...
原本可以用BarNumber 來寫絕對的bar 0~99100~199 ,但我門設定圖時是5000 bar back fill historical or 5 day backfilled 這都表示昨天的5000 bar 和今天的5000bar 的絕對bar 0 不一樣.
所以為一精準的試時間:用時間做定位 :chart 1 sec ===> 把每次 sec 0 bar 對準 20160304 00:00 這樣然後 bar 0 ~99 改成 bar 0~59
每60跟 .
這樣就有絕對的座標 而非每天圖都在變得相對座標---回測才不回變來變去~
easytrader788 發表於 16-3-3 08:49
Arrays: RangeHigh(0) ,RangeLow(0);
vars:Counter(1),StepGap(100),LookBack(100) ;
迴圈解析
Counter = 0
Value1 = Counter*StepGap = 0 * 100 = 0
RangeHigh = Highest(High,LookBack) --> RangeHigh = Highest(High,100){最近 100根}
Counter = 1
Value1 = Counter*StepGap = 1 * 100 = 100
RangeHigh = Highest(High,LookBack) --> RangeHigh = Highest(High,100) {往前100根K棒位置的最近 100根內最高價}
Counter = 2
Value1 = Counter*StepGap = 2 * 100 = 200
RangeHigh = Highest(High,LookBack) --> RangeHigh = Highest(High,100) {往前200根K棒位置的最近 100根內最高價}
同理 .....
Counter = 9
Value1 = Counter*StepGap = 9 * 100 = 900
RangeHigh = Highest(High,LookBack) --> RangeHigh = Highest(High,100) {往前900根K棒位置的最近 100根內最高價}
這樣就取得從目前位置開始 ,每間隔 100根位置 ,區間100根K棒的最高價 ,然後BarNumber每次變動 ,就會重新再計算一次
如果在特定時間K棒記錄後 ,就固定下來 ,不要再隨著 BarNumber移動而變動 Ex 30分K, 2016/3/1 , 11:45 當根作基準
if date = 1160301 and time = 1145 then begin
For Counter = 0 to 9 Begin
Value1 = Counter*StepGap;
RangeHigh = Highest(High,LookBack) ;
end ;
end ;
那麼 2016/3/1 11:45 以後的K棒 ,都可以從陣列中取得相同的區間最高價
感恩easytrader788哥 小弟來試試 謝謝 小弟跑起來 好像沒資料
Arrays: RangeHigh(0) ,RangeLow(0);
vars:Counter(1),StepGap(100),LookBack(100) ;
if date = 1160309 and time = 0845 then begin
For Counter = 0 to 9 Begin
Value1 = Counter*StepGap;
RangeHigh = Highest(High,LookBack) ;
end ;
end ;
plot1(RangeHigh);
不知是否哪裡有誤?
一分K的起始K 時間為 0846 , 五分K的起始K棒時間是 0850 謝謝分享
頁:
[1]