MarketData.GetBars -- Update bars issue
Created at 20 Mar 2025, 02:04
MarketData.GetBars -- Update bars issue
20 Mar 2025, 02:04
It is found that the opening and closing high and low points of the historical K-line obtained from this interface exist, but the four indicators of the bar updated by on bar are all the same number.
The log and code below(test code)
17/03/2025 08:00:00.000 | Info | CBot instance [Test, EURUSD, m5] started.
17/03/2025 08:00:00.089 | Info | 历史K线数据:
17/03/2025 08:00:00.089 | Info | K线 1: 开:1.08807 高:1.08823 低:1.08798 收:1.08800
17/03/2025 08:00:00.089 | Info | K线 2: 开:1.08801 高:1.08807 低:1.08747 收:1.08757
17/03/2025 08:00:00.089 | Info | K线 3: 开:1.08757 高:1.08789 低:1.08757 收:1.08789
17/03/2025 08:00:00.089 | Info | K线 4: 开:1.08788 高:1.08819 低:1.08788 收:1.08816
17/03/2025 08:00:00.089 | Info | K线 5: 开:1.08816 高:1.08848 低:1.08816 收:1.08846
17/03/2025 08:00:00.089 | Info | K线 6: 开:1.08844 高:1.08855 低:1.08837 收:1.08846
17/03/2025 08:00:00.089 | Info | K线 7: 开:1.08847 高:1.08849 低:1.08814 收:1.08815
17/03/2025 08:00:00.089 | Info | K线 8: 开:1.08820 高:1.08846 低:1.08812 收:1.08844
17/03/2025 08:00:00.089 | Info | K线 9: 开:1.08843 高:1.08855 低:1.08830 收:1.08831
17/03/2025 08:00:00.089 | Info | K线 10: 开:1.08832 高:1.08835 低:1.08824 收:1.08827
17/03/2025 08:00:00.089 | Info | K线 11: 开:1.08828 高:1.08845 低:1.08813 收:1.08838
17/03/2025 08:00:00.089 | Info | K线 12: 开:1.08838 高:1.08848 低:1.08837 收:1.08838
17/03/2025 08:00:00.089 | Info | K线 13: 开:1.08839 高:1.08849 低:1.08831 收:1.08832
17/03/2025 08:00:00.089 | Info | K线 14: 开:1.08833 高:1.08841 低:1.08828 收:1.08832
17/03/2025 08:00:00.089 | Info | K线 15: 开:1.08831 高:1.08834 低:1.08819 收:1.08833
17/03/2025 08:00:00.089 | Info | K线 16: 开:1.08834 高:1.08839 低:1.08806 收:1.08838
17/03/2025 08:00:00.089 | Info | K线 17: 开:1.08840 高:1.08840 低:1.08814 收:1.08826
17/03/2025 08:00:00.089 | Info | K线 18: 开:1.08826 高:1.08830 低:1.08815 收:1.08826
17/03/2025 08:00:00.089 | Info | K线 19: 开:1.08825 高:1.08826 低:1.08793 收:1.08796
17/03/2025 08:00:00.089 | Info | K线 20: 开:1.08797 高:1.08797 低:1.08797 收:1.08797
17/03/2025 08:00:00.089 | Info | 历史K线数据加载完成,共加载 20 根K线
17/03/2025 08:05:00.069 | Info | 新K线到来:
17/03/2025 08:05:00.069 | Info | 时间: 2025/3/17 08:05:00
17/03/2025 08:05:00.069 | Info | 开盘价: 1.08808
17/03/2025 08:05:00.069 | Info | 最高价: 1.08808
17/03/2025 08:05:00.069 | Info | 最低价: 1.08808
17/03/2025 08:05:00.069 | Info | 收盘价: 1.08808
17/03/2025 08:05:00.069 | Info | 当前K线列表概要:
17/03/2025 08:05:00.069 | Info | K线数量: 20
17/03/2025 08:05:00.069 | Info | 第一根K线时间: 2025/3/17 06:30:00
17/03/2025 08:05:00.069 | Info | 最后一根K线时间: 2025/3/17 08:05:00
17/03/2025 08:10:03.137 | Info | 新K线到来:
17/03/2025 08:10:03.137 | Info | 时间: 2025/3/17 08:10:00
17/03/2025 08:10:03.137 | Info | 开盘价: 1.08805
17/03/2025 08:10:03.137 | Info | 最高价: 1.08805
17/03/2025 08:10:03.137 | Info | 最低价: 1.08805
17/03/2025 08:10:03.137 | Info | 收盘价: 1.08805
17/03/2025 08:10:03.137 | Info | 当前K线列表概要:
17/03/2025 08:10:03.137 | Info | K线数量: 20
17/03/2025 08:10:03.137 | Info | 第一根K线时间: 2025/3/17 06:35:00
17/03/2025 08:10:03.137 | Info | 最后一根K线时间: 2025/3/17 08:10:00
17/03/2025 08:15:00.000 | Info | 新K线到来:
17/03/2025 08:15:00.000 | Info | 时间: 2025/3/17 08:15:00
17/03/2025 08:15:00.000 | Info | 开盘价: 1.08781
17/03/2025 08:15:00.000 | Info | 最高价: 1.08781
17/03/2025 08:15:00.000 | Info | 最低价: 1.08781
17/03/2025 08:15:00.000 | Info | 收盘价: 1.08781
17/03/2025 08:15:00.000 | Info | 当前K线列表概要:
17/03/2025 08:15:00.000 | Info | K线数量: 20
17/03/2025 08:15:00.000 | Info | 第一根K线时间: 2025/3/17 06:40:00
17/03/2025 08:15:00.000 | Info | 最后一根K线时间: 2025/3/17 08:15:00
17/03/2025 08:20:00.535 | Info | 新K线到来:
17/03/2025 08:20:00.535 | Info | 时间: 2025/3/17 08:20:00
17/03/2025 08:20:00.535 | Info | 开盘价: 1.08770
17/03/2025 08:20:00.535 | Info | 最高价: 1.08770
17/03/2025 08:20:00.535 | Info | 最低价: 1.08770
17/03/2025 08:20:00.535 | Info | 收盘价: 1.08770
17/03/2025 08:20:00.535 | Info | 当前K线列表概要:
17/03/2025 08:20:00.535 | Info | K线数量: 20
17/03/2025 08:20:00.535 | Info | 第一根K线时间: 2025/3/17 06:45:00
17/03/2025 08:20:00.535 | Info | 最后一根K线时间: 2025/3/17 08:20:00
17/03/2025 08:25:01.221 | Info | 新K线到来:
17/03/2025 08:25:01.221 | Info | 时间: 2025/3/17 08:25:00
17/03/2025 08:25:01.221 | Info | 开盘价: 1.08781
17/03/2025 08:25:01.221 | Info | 最高价: 1.08781
17/03/2025 08:25:01.221 | Info | 最低价: 1.08781
17/03/2025 08:25:01.221 | Info | 收盘价: 1.08781
17/03/2025 08:25:01.221 | Info | 当前K线列表概要:
17/03/2025 08:25:01.221 | Info | K线数量: 20
17/03/2025 08:25:01.221 | Info | 第一根K线时间: 2025/3/17 06:50:00
17/03/2025 08:25:01.221 | Info | 最后一根K线时间: 2025/3/17 08:25:00
17/03/2025 08:30:00.414 | Info | 新K线到来:
17/03/2025 08:30:00.414 | Info | 时间: 2025/3/17 08:30:00
17/03/2025 08:30:00.414 | Info | 开盘价: 1.08796
17/03/2025 08:30:00.414 | Info | 最高价: 1.08796
17/03/2025 08:30:00.414 | Info | 最低价: 1.08796
17/03/2025 08:30:00.414 | Info | 收盘价: 1.08796
17/03/2025 08:30:00.414 | Info | 当前K线列表概要:
17/03/2025 08:30:00.414 | Info | K线数量: 20
17/03/2025 08:30:00.414 | Info | 第一根K线时间: 2025/3/17 06:55:00
17/03/2025 08:30:00.414 | Info | 最后一根K线时间: 2025/3/17 08:30:00
17/03/2025 08:35:00.178 | Info | 新K线到来:
17/03/2025 08:35:00.178 | Info | 时间: 2025/3/17 08:35:00
17/03/2025 08:35:00.178 | Info | 开盘价: 1.08795
17/03/2025 08:35:00.178 | Info | 最高价: 1.08795
17/03/2025 08:35:00.178 | Info | 最低价: 1.08795
17/03/2025 08:35:00.178 | Info | 收盘价: 1.08795
17/03/2025 08:35:00.178 | Info | 当前K线列表概要:
17/03/2025 08:35:00.178 | Info | K线数量: 20
17/03/2025 08:35:00.178 | Info | 第一根K线时间: 2025/3/17 07:00:00
17/03/2025 08:35:00.178 | Info | 最后一根K线时间: 2025/3/17 08:35:00
17/03/2025 08:40:00.189 | Info | 新K线到来:
17/03/2025 08:40:00.189 | Info | 时间: 2025/3/17 08:40:00
17/03/2025 08:40:00.189 | Info | 开盘价: 1.08787
17/03/2025 08:40:00.189 | Info | 最高价: 1.08787
17/03/2025 08:40:00.189 | Info | 最低价: 1.08787
17/03/2025 08:40:00.189 | Info | 收盘价: 1.08787
17/03/2025 08:40:00.189 | Info | 当前K线列表概要:
17/03/2025 08:40:00.189 | Info | K线数量: 20
17/03/2025 08:40:00.189 | Info | 第一根K线时间: 2025/3/17 07:05:00
17/03/2025 08:40:00.189 | Info | 最后一根K线时间: 2025/3/17 08:40:00
17/03/2025 08:45:00.356 | Info | 新K线到来:
17/03/2025 08:45:00.356 | Info | 时间: 2025/3/17 08:45:00
17/03/2025 08:45:00.356 | Info | 开盘价: 1.08771
17/03/2025 08:45:00.356 | Info | 最高价: 1.08771
17/03/2025 08:45:00.356 | Info | 最低价: 1.08771
17/03/2025 08:45:00.356 | Info | 收盘价: 1.08771
17/03/2025 08:45:00.356 | Info | 当前K线列表概要:
17/03/2025 08:45:00.356 | Info | K线数量: 20
17/03/2025 08:45:00.356 | Info | 第一根K线时间: 2025/3/17 07:10:00
17/03/2025 08:45:00.356 | Info | 最后一根K线时间: 2025/3/17 08:45:00
17/03/2025 08:50:00.000 | Info | 新K线到来:
17/03/2025 08:50:00.000 | Info | 时间: 2025/3/17 08:50:00
17/03/2025 08:50:00.000 | Info | 开盘价: 1.08765
17/03/2025 08:50:00.000 | Info | 最高价: 1.08765
17/03/2025 08:50:00.000 | Info | 最低价: 1.08765
17/03/2025 08:50:00.000 | Info | 收盘价: 1.08765
17/03/2025 08:50:00.000 | Info | 当前K线列表概要:
17/03/2025 08:50:00.000 | Info | K线数量: 20
17/03/2025 08:50:00.000 | Info | 第一根K线时间: 2025/3/17 07:15:00
17/03/2025 08:50:00.000 | Info | 最后一根K线时间: 2025/3/17 08:50:00
17/03/2025 08:55:01.220 | Info | 新K线到来:
17/03/2025 08:55:01.220 | Info | 时间: 2025/3/17 08:55:00
17/03/2025 08:55:01.220 | Info | 开盘价: 1.08787
17/03/2025 08:55:01.220 | Info | 最高价: 1.08787
17/03/2025 08:55:01.220 | Info | 最低价: 1.08787
17/03/2025 08:55:01.220 | Info | 收盘价: 1.08787
17/03/2025 08:55:01.220 | Info | 当前K线列表概要:
17/03/2025 08:55:01.220 | Info | K线数量: 20
17/03/2025 08:55:01.220 | Info | 第一根K线时间: 2025/3/17 07:20:00
17/03/2025 08:55:01.220 | Info | 最后一根K线时间: 2025/3/17 08:55:00
using System.Collections.Generic;
using System.Linq;
using cAlgo.API;
using cAlgo.API.Internals;
namespace cAlgo.Robots
{
[Robot(TimeZone = TimeZones.ChinaStandardTime, AccessRights = AccessRights.None)]
public class TestBot : Robot
{
private List<Bar> _bars;
protected override void OnStart()
{
// 初始化K线列表
_bars = new List<Bar>();
// 获取最后20根K线
var history = MarketData.GetBars(TimeFrame);
var lastBars = history.TakeLast(20).ToList();
Print("历史K线数据:");
// 打印历史K线数据
for (int i = 0; i < lastBars.Count; i++)
{
var bar = lastBars[i];
Print($"K线 {i+1}: 开:{bar.Open:F5} 高:{bar.High:F5} 低:{bar.Low:F5} 收:{bar.Close:F5}");
_bars.Add(bar);
}
Print("历史K线数据加载完成,共加载 " + _bars.Count + " 根K线");
}
protected override void OnBar()
{
// 获取最新K线
var lastBar = Bars.LastBar;
// 添加到K线列表
_bars.Add(lastBar);
// 保持列表只有20根K线
while (_bars.Count > 20)
_bars.RemoveAt(0);
// 打印最新K线数据
Print("新K线到来:");
Print($"时间: {lastBar.OpenTime}");
Print($"开盘价: {lastBar.Open:F5}");
Print($"最高价: {lastBar.High:F5}");
Print($"最低价: {lastBar.Low:F5}");
Print($"收盘价: {lastBar.Close:F5}");
// 打印当前所有K线的简要信息
Print("当前K线列表概要:");
Print($"K线数量: {_bars.Count}");
Print($"第一根K线时间: {_bars.First().OpenTime}");
Print($"最后一根K线时间: {_bars.Last().OpenTime}");
}
protected override void OnStop()
{
Print("测试机器人已停止");
}
}
}