создаю некий индикатор в котором использована функция OnArray
все нормально работает и рисует линию
затем нужно чтобы сторонний индюк делал свое построение на основе первого индюка (через iCustom естествено)
при первом запуске тоже все работает но рано или поздно iCustom получает рэндомноподобное значение для текущего бара
данная трабла возникает если в первом индюке для iMAOnArray Период усреднения состоит из нескольких баров
если period для двух баров то глюка замечено не было
можно сделать вывод что iMAOnArray не успевает усреднять?
или это iCustom виноват?
99% виноват алгоритм этого самого кастома, так что скорей всего код в студию, хотя бы тот кусок с массивом.
да собственно код ведомого индюка незатейлевый
int start()
{
for(int i = 0; i < limit; i++)
{
имя_буфера_0[i] = iCustom("EURUSD",0,"имя_индюка",0,i); // первая линия (ведущего индюка) всегда дает нормальное значение т к там Период усреднения для iMAOnArray всего 2 бара
имя_буфера_1[i] = iCustom("EURUSD",0,"имя_индюка",1,i); // вторая линия порой гонет пургу т к там Период усреднения для нескольких баров
}
limit=1;
return(0);
}
и первая и вторая линия в ведущем индюке результат усреднения одного и того же буфера
-на несколько тиков тормозит с изображением одной из линий, а если изобразил то может потерять,
-не отображается в окне тестера, но работает.
разгружаешь - все ok
плюнул я на iCustom замучил он меня
пришлось немного упростить алгоритм первичного индюка (к сожалению с небольшим ущербом качества обработки трендоследящей линии) и вставить его в виде функции
но теперь боюсь как бы не возникли траблы на следущем уровне.. т к по замыслу предпологалось иметь индюки 3 уровней.. один уровень щас упразднил..
#property indicator_separate_window
#property.......................
int limit;
//+------------------------------------------------------------------+
int init()
{
limit=WindowFirstVisibleBar();
SetIndexBuffer....................
return(0);
}
//+------------------------------------------------------------------+
int start()
{
for(int i=0; i<limit; i++)
{
.....................
}
limit=1;
return(0);
}
#property indicator_separate_window
#property.......................
int limit;
//+------------------------------------------------------------------+
int init()
{
limit=WindowFirstVisibleBar();
SetIndexBuffer....................
return(0);
}
//+------------------------------------------------------------------+
int start()
{
for(int i=0; i<limit; i++)
{
.....................
}
limit=1;
return(0);
}
Кривое решение.
...
WindowFirstVisibleBar()+период_усреднения;
...
Бл... а я уже 2 часа мучаюсь. Спасибо!
Есть вопрос. Если IMAonArray обсчитывает индикаторный буфер не весь а скажем количесвто елементов 40 то это 40 баров от 0-го бара или от Bars?
И тот же вопрос если обсчитывается не индикаторный буфер.
Бл... а я уже 2 часа мучаюсь. Спасибо!
Есть вопрос. Если IMAonArray обсчитывает индикаторный буфер не весь а скажем количесвто елементов 40 то это 40 баров от 0-го бара или от Bars?
И тот же вопрос если обсчитывается не индикаторный буфер.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
создаю некий индикатор в котором использована функция OnArray
все нормально работает и рисует линию
затем нужно чтобы сторонний индюк делал свое построение на основе первого индюка (через iCustom естествено)
при первом запуске тоже все работает но рано или поздно iCustom получает рэндомноподобное значение для текущего бара
данная трабла возникает если в первом индюке для iMAOnArray Период усреднения состоит из нескольких баров
если period для двух баров то глюка замечено не было
можно сделать вывод что iMAOnArray не успевает усреднять?
или это iCustom виноват?