означает, что в исходном тексте индикатора нет функции, заполняющей индикаторный массив (который, кстати, и используется при рисовании)
Алгоритм, вот он:
Алгоритм, Вот он: (кстати вы его как-то на этом форуме публиковали)
/*[[
Name := Objects
]]*/
var: pos1(0),pos2(0);
//SetArrow(Time[1],Close[1],246,Red);
// находим минимальные точки
// pos1= за 450 периодов, начиная с 500 бара взад
// pos2= за 50 периодов, начиная с 50 бара взад
pos1=Lowest(MODE_LOW,500,450);
pos2=Lowest(MODE_LOW,50,50);
// создаем именованный объект(если еще не создан) 'LowTrend' и передвигаем его в точки pos1 и pos2
MoveObject("LowTrend",OBJ_TRENDLINE,Time[pos1],Low[pos1],Time[pos2],Low[pos2]);
// здесь просто выводим текст в позицию первой точки
MoveObject("MySampleText",OBJ_TEXT,Time[pos1],ASk,Time[pos1],Ask);
// находим две точки максимальных цен за 450 и 50 периодов.
pos1=Highest(MODE_HIGH,500,450);
pos2=Highest(MODE_HIGH,50,50);
// помещаем именованный объект в виде трендовой линии, являющейся сопротивлением.
MoveObject("HighTrend",OBJ_TRENDLINE,Time[pos1],High[pos1],Time[pos2],High[pos2]);
Если он не рабочий, то в чем ошибка?
Я к сожалению ее не вижу.
Алгоритм, Вот он: (кстати вы его как-то на этом форуме публиковали)
/*[[
Name := Objects
]]*/
var: pos1(0),pos2(0);
//SetArrow(Time[1],Close[1],246,Red);
// находим минимальные точки
// pos1= за 450 периодов, начиная с 500 бара взад
// pos2= за 50 периодов, начиная с 50 бара взад
pos1=Lowest(MODE_LOW,500,450);
pos2=Lowest(MODE_LOW,50,50);
// создаем именованный объект(если еще не создан) 'LowTrend' и передвигаем его в точки pos1 и pos2
MoveObject("LowTrend",OBJ_TRENDLINE,Time[pos1],Low[pos1],Time[pos2],Low[pos2]);
// здесь просто выводим текст в позицию первой точки
MoveObject("MySampleText",OBJ_TEXT,Time[pos1],ASk,Time[pos1],Ask);
// находим две точки максимальных цен за 450 и 50 периодов.
pos1=Highest(MODE_HIGH,500,450);
pos2=Highest(MODE_HIGH,50,50);
// помещаем именованный объект в виде трендовой линии, являющейся сопротивлением.
MoveObject("HighTrend",OBJ_TRENDLINE,Time[pos1],High[pos1],Time[pos2],High[pos2]);
Если он не рабочий, то в чем ошибка?
Я к сожалению ее не вижу.
пользовательский индикатор должен формировать индикаторный массив и(или) индикаторный массив 2
для этого существуют специальные функции SetIndexValue и SetIndexValue2. именно на основании данных этих массивов и рисуются индикаторы. Вы могли бы это прочитать в "особенностях написания пользовательских индикаторов" https://www.metaquotes.net/en/metatrader5/algorithmic-trading
если Вы всё же не хотите использовать данные массивов, то поставьте "пустой" вызов SetIndexValue(0,0);
для этого существуют специальные функции SetIndexValue и SetIndexValue2. именно на основании данных этих массивов и рисуются индикаторы. Вы могли бы это прочитать в "особенностях написания пользовательских индикаторов" https://www.metaquotes.net/en/metatrader5/algorithmic-trading
если Вы всё же не хотите использовать данные массивов, то поставьте "пустой" вызов SetIndexValue(0,0);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что означает запись в журнале: Expert Indicator Movy Object no any Setlndexvalue function? При этом Movy Object отказывается, что-либо рисовать.