extern int Per = 6; // Период RSI extern int RSI_Price = 6; // цена :0-Close; 1-Open; 2-High; 3-Low; 4-"high+low)/2"; 5-"(H+L+C)/3"; 6-"(H+L+C+C)/4". extern int up = 70; // Уровень перекупленности индикатора RSI extern int dn = 30; // Уровень перепроданности индикатора RSI extern int N = 6; // Число баров выше уровня перекупленности/ниже уровня перепроданности, больше которого сигнал = "0"
double Buffer[];
int init() { SetIndexStyle(0,DRAW_NONE); SetIndexBuffer(0,Buffer); SetIndexLabel(0,"Sign"); return(0); }
int start() { int counted_bars=IndicatorCounted(); if (Bars <= Per+11) return(0); if (counted_bars > 0) counted_bars--; int limit = Bars-counted_bars;
for (int i=0; i<limit; i++) { double a = iRSI( NULL,0,Per,RSI_Price,i); double b = iRSI( NULL,0,Per,RSI_Price,i+1);
double Sign=1;
int count = 0; if ((a>up) || (a<dn) || (b>up && a<up) || (b<dn && a>dn)) { for (int j=0; j<=N; j++) { double R=iRSI(NULL,0,Per,RSI_Price,j); if((R>up)||(R<dn)) count++; } if (count>N) Sign=0; } Buffer[i] = Sign; } return(0); }
晚上好!
如果你能做到这一点,请告知如何做。我应该在EA的代码中写些什么,以便当你在EA的测试器中运行时,所使用的指标将在测试过程中绘制在图表上,而不是在通过历史运行后才出现?
你把它放在适当的TF和输入参数的符号图表上,以及测试的EA中,然后用与EA相同的名称保存这个模板。这就是全部。当你在策略测试器中 运行这个猫头鹰时,在整个测试过程中,所有使用的指标都会在可视化测试中显示。
2个常见问题 ,罗马人。 谢谢你!
以编程方式 - 困难,更容易在测试图表上预先加载所有使用的指标(有必要的设置),并将模板保存为tester.tpl,这个模板将被自动加载。
谢谢你!我每次都是这样做的!
你好!
信号计算 方面的问题。
如果RSI高于超买水平或低于超卖水平超过N条,信号="0",在所有其他情况下信号="1"。
也许是循环的错误 - 计数器不工作,即信号 "0 "正好发生在电平之后...
#property indicator_buffers 1
extern int Per = 6; // Период RSI
extern int RSI_Price = 6; // цена :0-Close; 1-Open; 2-High; 3-Low; 4-"high+low)/2"; 5-"(H+L+C)/3"; 6-"(H+L+C+C)/4".
extern int up = 70; // Уровень перекупленности индикатора RSI
extern int dn = 30; // Уровень перепроданности индикатора RSI
extern int N = 6; // Число баров выше уровня перекупленности/ниже уровня перепроданности, больше которого сигнал = "0"
double Buffer[];
int init()
{ SetIndexStyle(0,DRAW_NONE); SetIndexBuffer(0,Buffer); SetIndexLabel(0,"Sign");
return(0);
}
int start()
{ int counted_bars=IndicatorCounted();
if (Bars <= Per+11) return(0); if (counted_bars > 0) counted_bars--; int limit = Bars-counted_bars;
for (int i=0; i<limit; i++)
{ double a = iRSI( NULL,0,Per,RSI_Price,i);
double b = iRSI( NULL,0,Per,RSI_Price,i+1);
double Sign=1;
int count = 0;
if ((a>up) || (a<dn) || (b>up && a<up) || (b<dn && a>dn))
{ for (int j=0; j<=N; j++)
{ double R=iRSI(NULL,0,Per,RSI_Price,j);
if((R>up)||(R<dn)) count++;
}
if (count>N) Sign=0;
}
Buffer[i] = Sign;
}
return(0);
}
下午好,你能告诉我哪个指标可以用来显示成交量,但不显示成交量吗?
下午好,请您告诉我,可以用哪个指标来显示成交量,但不显示成交量?
下午。见这 篇文章。
在屏幕顶部 - 菜单栏 -TA 标签。
这里有一篇文章
https://www.mql5.com/ru/code/9376
但网站有问题,有人遇到过类似的情况吗?