我想用MQL5画一个折线图,这个折线图,X轴是时间,单位是分钟,Y轴是BTC的价格
时间: 2024-09-19 21:03:46 浏览: 25
在MQL5中,你可以使用`SymbolInfo()`函数获取历史数据,然后通过`Oscillator()`函数绘制折线图。以下是基本步骤:
1. 首先,需要设置要分析的资产(比如比特币,BTC)和时间段(按分钟划分)。例如,假设你想从最近的1000分钟开始获取数据:
```c++
int from = TimeCurrent() - TimePeriod(MINUTE, 1000);
```
2. 获取历史价格数据:
```c++
double[] open, high, low, close;
String symbol = "BTCUSD";
History(symbol, from, 0, timeframe_M1, ohlc); // timeframe_M1代表一分钟周期
```
3. 确保获取的数据包含你需要的字段(open, high, low, close)。然后,你可以使用这些数据创建一个折线图:
```c++
ChartWindow("My Chart", "BTC Price");
AddSeries("", Symbol(), OScillator(SER_LINE));
for(int i = 0; i < barCount; i++) {
int timeIndex = BarsCount - i - 1;
ClosePrice(timeIndex, close[i]); // 替换close[i]为实际的时间戳对应的Close值
}
```
4. 最后,调整图表的X轴(时间)和Y轴(价格),并可能添加一些样式和标签:
```c++
SetChartTimeScale(MAJOR_TICKS);
SetChartTitle("BTC Price");
SetChartLegend("Price");
// 设置X轴
SetDateTime(0, 0); // 设置图表起始时间
SetDateTime(barCount - 1, 0); // 设置图表结束时间
// 设置Y轴标题
SetChartValueAxis(0, "Price in USD");
```
完成以上操作后,你应该就能看到一个基于时间的BTC价格折线图了。