Sidus v.2指标代码及使用说明

6iTrade 分析团队
资深外汇分析师
阅读 收藏
专业分析

指标代码:

//#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官网找到更多讨论。

效果示意图:

Sidus v.2指标代码及使用说明(图1)

参数说明:TBars,用于设定需要绘制多少个实时价格变动数据点。

借助此指标,您可以轻松地将实时变动数据应用于其他技术分析工具,例如使用 iMAOnArray 函数计算基于变动数据的移动平均线。

使用提示:当您首次加载本指标或在参数列表中修改参数后,平台会重新初始化。由于平台未提供历史实时数据数组,指标将从初始化时刻开始收集数据。初始化时,历史部分会暂时使用当前周期的收盘价进行填充。因此,指标加载后需要经过一段时间的运行,才能积累足够的数据供您观察和分析。

6iTrade 分析团队

资深外汇分析师

由多名资深外汇分析师组成的专业团队,拥有平均15年以上的市场分析经验,擅长技术分析和基本面分析相结合的交易策略。

相关分析

立即开启您的外汇交易之旅

加入我们的交易社区,享受专业的交易服务和优惠活动