#property indicator_chart_window // Индик. рисуется в основном окне#property indicator_buffers 2// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииdouble Buf_0[],Buf_1[]; // Объявление массивов (под буферы индикатора)//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0,Buf_0); // Назначение массива буферуSetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линииSetIndexBuffer(1,Buf_1); // Назначение массива буферуSetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);// Стиль линииreturn; // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i,// Индекс бара
Counted_bars; // Количество просчитанных баров //--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1;
// Индекс первого непосчитанногоwhile(i>=0) // Цикл по непосчитанным барам
{
Buf_0[i]=High[i]; // Значение 0 буфера на i-ом баре
Buf_1[i]=Low[i]; // Значение 1 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
//--------------------------------------------------------------------return; // Выход из спец. ф-ии start()
}
#property indicator_chart_window // Индик. рисуется в основном окне#property indicator_buffers 2// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииdouble Buf_0[], Buf_1[]; // Объявление массивов (под буферы индикатора)//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0, Buf_0); // Назначение массива буферуSetIndexStyle (0, DRAW_SECTION);
SetIndexBuffer(1, Buf_1); // Назначение массива буферуSetIndexStyle (1, DRAW_SECTION);
return; // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i,// Индекс бара
Counted_bars; // Количество просчитанных баров //--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
return(0);
i = Bars-Counted_bars-1;
// Индекс первого непосчитанногоwhile(i >= 0) // Цикл по непосчитанным барам
{
if (MathMod(i, 2) == 0)
{
Buf_0[i] = High[i]; // Значение 0 буфера на i-ом баре
Buf_1[i] = Low[i]; // Значение 1 буфера на i-ом баре
}
i--; // Расчёт индекса следующего бара
}
//--------------------------------------------------------------------return; // Выход из спец. ф-ии start()
}
你好!我已经开始学习mquel4。我将使用一个简单指标的例子,该指标计算最大和最小的蜡烛价格,并通过屏幕上的两个缓冲区在蜡烛极端点画线。
那么,如何使缓冲线穿过两个(三个等)烛台而不是每个烛台?
那么,我如何使缓冲线穿过两个(三个等)蜡烛,而不是每个蜡烛?
首先,学习如何使用 "SRC "按钮在代码中正确插入信息,使其具有可读的形式,看起来就像在MetaEditor中。
第二步将是你尝试将Counted_bars变量与if语句联系起来。
比如说。
我们将每隔一个柱状图输入指标计算(跳过奇数的,留下偶数的)。
在这里你可以看到关于函数MathMod() 的信息。但你不一定要用它。你可以在if语句中插入任何条件。
但别忘了,这样的代码修改会造成缓冲区内一些数值的丢失。你是否需要它,我不知道。一切都将取决于你的任务。
我有点糊涂了。我试着让循环步数等于2(我想你会有同样的意思),但这并不可行。我不需要具体通过一个,而是通过任意数量的蜡烛。我的理解是,结构应该是这样的。
缓冲区数组[1]= 烛台数组[1]
缓冲区数组[2]=烛台数组[2]
缓冲区数组[3]=烛台数组[4]
...
缓冲区数组[5]= 烛台[x]的数组等等。但这并不奏效。
我没有看到缓冲指数 和烛台指数之间的模式......。
如果你能附上你想得到的东西的照片,那就更好了。
它是这样的
而且我需要这样的东西。
但不要特别执着于被画在一支蜡烛上的线条,它们可以被画在两支,或三支,等等。
我想我应该把这个带到心灵感应者那里,而不是在这里。
他只是在跟我们开玩笑。
看一下代码,你可以看到没有空格的地方,发送订单 的结果,其错误代码和仪器的数字。
那么你就必须使用类似 "之 "字形的指标(我的观点)。
我想你可以弄清楚这些变化。我唯一错误的是,最好使用Bars参数 而不是IndicatorCounted()作为要计算的柱子的索引。
你现在的任务是把分割器变成一个外部参数。它将等于通过的烛台数量。
只要看一下代码,你就可以看到没有空格的地方,发送订单的结果,它的错误代码和仪器的数字。
正是如此。这就是为什么我们在谈论心灵感应。
你之前给我们的代码。
我没有翻看代码,但不幸的是,我没能找到这个错误......。我没有编写多货币专家顾问 的经验。我只是知道一些原则,仅此而已。
很明显,-1129是一个错误代码,你在哪里看到错误号码1292?
任何事情都可能发生...
你只在一个DC上测试你的EA吗?129号错误 是否需要很长时间才能出现?或者在几次请求后,订单才打开?