Sidus v.2指标源码[MT4公式]
外汇小助手EA指标 2019-07-26 10:37:36 交流微信号:FX263cn 指标源码 MT4公式
Fx263.com|全球中文外汇网
源码:
#property copyright "Copyright ?2007, FXunion.com"
#property link "http://www.FXunion.com"
//#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
//---- input parameters
extern int Tbars = 1000; //只记录最近1000点
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function tick |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
double nows=0;
int num=0,i=0;
int start()
{
int Ncounted_bars = Bars-IndicatorCounted();
if (Ncounted_bars == Bars) //首次,复制close数据 并且有时多数据变化,MT仅调用指标一次
{
num = Ncounted_bars;
for (int i=num;i>0;i--)
ExtMapBuffer1[i]= Close[i-1]; //以队列方式记录ticks 价格
return(0);
}
nows = MarketInfo(Symbol(),MODE_BID);//MarketInfo(Symbol(),MODE_ASK);//+MarketInfo(Symbol(),MODE_BID))/2.0;
SetLevelValue(0, nows) ;
if (Ncounted_bars>1) //有时多数据变化,MT仅调用指标一次,需填充空白 由于MT的数据更新方式
{
for ( i=Ncounted_bars;i>0;i--)
ExtMapBuffer1[i-1]= ExtMapBuffer1[i]; //以队列方式记录ticks 价格
}
if (num>0)
{
if (nows == ExtMapBuffer1[0]) return (0);//只记录有变化的数据
if (num>Tbars)num = Tbars;
for ( i=num;i>0;i--)
{
ExtMapBuffer1[i]= ExtMapBuffer1[i-1]; //以队列方式记录ticks 价格
}
}
ExtMapBuffer1[0] = nows;
num++;
WindowRedraw( ) ;
return(0);
}
描述:
tick数据指标,没错,是tick数据指标。tick数据是超级短线交易员必须的数据。
可惜,MT自身提供的tick数据和市场报价表窗口一样大小,在下单平仓改仓窗口的tick图大小固定,显示的数据很有限,仅能勉强满足观察当前很短时间的tick数据。
本指标实际记录tick数据(BID或ASK价),象指标一样显示在主窗口或辅窗口。可设置记录数据点数。
唯一要注意的是, MT不允许控制X轴坐标和Y轴坐标范围,所以我们没法改变X轴。
tick数据,是价格变动的记录,X轴坐标,常规图上的一个bar对应一次数据变动。
另外,MT不是总是优先处理图示窗口刷新,也不是一有价格变化就更新的(虽然更新了那根价格横线)。所以,tick数据有时会有一个点的丢失,本指标通过复制上次数据来填充数据漏洞。
图像:
参数:TBars, 设置记录绘制多少个tick价格
源码:
#property copyright "Copyright ?2007, FXunion.com"
#property link "http://www.FXunion.com"
//#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
//---- input parameters
extern int Tbars = 1000; //只记录最近1000点
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function tick |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
double nows=0;
int num=0,i=0;
int start()
{
int Ncounted_bars = Bars-IndicatorCounted();
if (Ncounted_bars == Bars) //首次,复制close数据 并且有时多数据变化,MT仅调用指标一次
{
num = Ncounted_bars;
for (int i=num;i>0;i--)
ExtMapBuffer1[i]= Close[i-1]; //以队列方式记录ticks 价格
return(0);
}
nows = MarketInfo(Symbol(),MODE_BID);//MarketInfo(Symbol(),MODE_ASK);//+MarketInfo(Symbol(),MODE_BID))/2.0;
SetLevelValue(0, nows) ;
if (Ncounted_bars>1) //有时多数据变化,MT仅调用指标一次,需填充空白 由于MT的数据更新方式
{
for ( i=Ncounted_bars;i>0;i--)
ExtMapBuffer1[i-1]= ExtMapBuffer1[i]; //以队列方式记录ticks 价格
}
if (num>0)
{
if (nows == ExtMapBuffer1[0]) return (0);//只记录有变化的数据
if (num>Tbars)num = Tbars;
for ( i=num;i>0;i--)
{
ExtMapBuffer1[i]= ExtMapBuffer1[i-1]; //以队列方式记录ticks 价格
}
}
ExtMapBuffer1[0] = nows;
num++;
WindowRedraw( ) ;
return(0);
}
描述:
tick数据指标,没错,是tick数据指标。tick数据是超级短线交易员必须的数据。
可惜,MT自身提供的tick数据和市场报价表窗口一样大小,在下单平仓改仓窗口的tick图大小固定,显示的数据很有限,仅能勉强满足观察当前很短时间的tick数据。
本指标实际记录tick数据(BID或ASK价),象指标一样显示在主窗口或辅窗口。可设置记录数据点数。
唯一要注意的是, MT不允许控制X轴坐标和Y轴坐标范围,所以我们没法改变X轴。
tick数据,是价格变动的记录,X轴坐标,常规图上的一个bar对应一次数据变动。
另外,MT不是总是优先处理图示窗口刷新,也不是一有价格变化就更新的(虽然更新了那根价格横线)。所以,tick数据有时会有一个点的丢失,本指标通过复制上次数据来填充数据漏洞。
图像:
参数:TBars, 设置记录绘制多少个tick价格
【版权声明】
本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。
【风险提示】
请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。