指标代码:
//#property indicator_chart_window
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_color2 Aqua
#property indicator_color3 CornflowerBlue
#property indicator_color4 Gold
#property indicator_color5 SkyBlue
//---- 输入参数
extern int Tbars = 1000; //仅记录最近1000个数据点
//---- 缓冲区
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| 自定义指标初始化函数 |
//+------------------------------------------------------------------+
int init()
{
//---- 指标设置
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
return(0);
}
//+------------------------------------------------------------------+
//| 自定义指标反初始化函数 |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| 自定义指标迭代函数 |
//+------------------------------------------------------------------+
double nows=0;
int num=0,i=0;
int start()
{
int Ncounted_bars = Bars-IndicatorCounted();
if (Ncounted_bars == Bars) //首次运行,复制收盘价数据,并处理多数据变化时MT仅调用一次指标的情况
{
num = Ncounted_bars;
for (int i=num;i0;i--)
ExtMapBuffer1[i]= Close[i-1]; //以队列方式记录实时价格变动
return(0);
}
nows = MarketInfo(Symbol(),MODE_BID);//获取当前买入价
SetLevelValue(0, nows) ;
if (Ncounted_bars1) //处理数据更新时可能出现的空白区域
{
for ( i=Ncounted_bars;i0;i--)
ExtMapBuffer1[i-1]= ExtMapBuffer1[i]; //以队列方式保存实时价格序列
}
if (num0)
{
if (nows == ExtMapBuffer1[0]) return (0);//仅记录有变化的数据点
if (numTbars)num = Tbars;
for ( i=num;i0;i--)
{
ExtMapBuffer1[i]= ExtMapBuffer1[i-1]; //以队列方式保存实时价格序列
}
}
ExtMapBuffer1[0] = nows;
num++;
WindowRedraw( ) ;
return(0);
}
功能描述:
这是一款用于追踪实时价格变动数据的指标,专门为需要细致观察市场波动的用户设计。在MT平台中,默认的报价变动数据显示区域有限,难以满足对历史变动数据的分析需求。通过此指标,您可以直观地查看更长时间的报价变动记录。
该指标能够记录实时的买入价或卖出价变动,并以指标线的形式显示在主图或副图中。您可以自由设定记录的数据点数。需要说明的是,由于MT平台的限制,我们无法调整X轴和Y轴的显示范围。
在常规图表上,每一个数据点代表一次价格变动。此外,平台并非总是优先刷新指标窗口,这可能导致偶尔的数据点缺失。本指标通过复制前一次数据来填充这些空缺,以保证数据序列的连续性。相关的技术细节,您也可以在6i官网找到更多讨论。
效果示意图:

参数说明:TBars,用于设定需要绘制多少个实时价格变动数据点。
借助此指标,您可以轻松地将实时变动数据应用于其他技术分析工具,例如使用 iMAOnArray 函数计算基于变动数据的移动平均线。
使用提示:当您首次加载本指标或在参数列表中修改参数后,平台会重新初始化。由于平台未提供历史实时数据数组,指标将从初始化时刻开始收集数据。初始化时,历史部分会暂时使用当前周期的收盘价进行填充。因此,指标加载后需要经过一段时间的运行,才能积累足够的数据供您观察和分析。
资深外汇分析师
由多名资深外汇分析师组成的专业团队,拥有平均15年以上的市场分析经验,擅长技术分析和基本面分析相结合的交易策略。