您需要 登录 才可以下载或查看,没有帐号?注册
下面的图形中,后面的八个向上箭头只有最后一个才是正确的,它前面的七个全是由K 线上去后又下来的假信号留下的垃圾,变换一下周期再变回来,那七个就没了;求你解决的问题是:能否让图表自动刷新,使它只有一个箭头,条件变化之后,让不符合条件的箭头自动消失?
谢谢了!!!
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Gold
#property indicator_color2 Lime
#property indicator_color3 Lime
#property indicator_color4 Gold
extern int 均线周期2 = 2;
extern int 均线周期5 = 5;
extern int 类型1 = 0;//0-SMA; 1-EMA; 2-SMMA; 3-LWMA
extern int 类型2 = 0;//0-SMA; 1-EMA; 2-SMMA; 3-LWMA
double ibuf_1[];
double ibuf_2[];
double ibuf_3[];
double ibuf_4[];
int gi_1;
int gi_2 = 0;
datetime time_1;
//+------------------------------------------------------------------+
int init() {
IndicatorBuffers(8);
SetIndexStyle(0, DRAW_LINE,0,2);
SetIndexStyle(1, DRAW_LINE,0,2);
SetIndexStyle(2, DRAW_ARROW,0,1);
SetIndexStyle(3, DRAW_ARROW,0,1);
SetIndexArrow(2, 233);
SetIndexArrow(3, 234);
SetIndexBuffer(0, ibuf_1);
SetIndexBuffer(1, ibuf_2);
SetIndexBuffer(2, ibuf_3);
SetIndexBuffer(3, ibuf_4);
gi_1 = 0;
return (0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0); }
//+------------------------------------------------------------------+
int start() {
int counted_bars = IndicatorCounted();
if (counted_bars 0) return (-1);
if (counted_bars 0) counted_bars--;
int limit = Bars - counted_bars;
for (int i = limit; i i--) {
ibuf_1 = iMA(NULL, 0, 均线周期2, 0, 类型1, PRICE_CLOSE, i);
ibuf_2 = iMA(NULL, 0, 均线周期5, 0, 类型2, PRICE_CLOSE, i);
//+----
if (ibuf_1[i + 1] ibuf_2[i + 1] ibuf_1 ibuf_2) {
ibuf_3 = Low - 5 * Point;
}
//+----
if (ibuf_1[i + 1] ibuf_2[i + 1] ibuf_1 ibuf_2) {
ibuf_4 = High + 5 * Point;
} else gi_2 = FALSE;
}
return (0);}
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!