Как увеличить высоту стрелки в индикаторе mql4

Я нарисовал несколько стрелок в своем индикаторе MQL4, поэтому я могу увеличить ширину стрелки, но я хочу увеличить только высоту стрелки, поэтому, пожалуйста, помогите мне.


person user3745023    schedule 18.09.2014    source источник


Ответы (2)


Символы со стрелками не имеют отдельной возможности регулировки по ширине и высоте, это просто «размер». Вариантом было бы построить наконечник стрелки, а затем нарисовать объект линии тренда вертикально над ним до нужной длины.

person whitebloodcell    schedule 18.09.2014

MQL4-решение

Индикатор может указать экземпляру Arrow увеличить размер, используя атрибут экземпляра OBJPROP_WIDTH:

{ string                        anInterimObjNAME = "S" + sSellCntr;
  ObjectCreate(                 anInterimObjNAME, OBJ_ARROW, 0,      Time[0], Bid );
  ObjectSet(                    anInterimObjNAME, OBJPROP_COLOR,     Red );
  if ( Action == 0 ) ObjectSet( anInterimObjNAME, OBJPROP_ARROWCODE, 1 );
  if ( Action <  0 ) ObjectSet( anInterimObjNAME, OBJPROP_ARROWCODE, 5 );
  ObjectSet(                    anInterimObjNAME, OBJPROP_WIDTH,     1 ); //<--
//ObjectSet(                    anInterimObjNAME, OBJPROP_WIDTH,     32 );//<--
}

Расширение New-MQL4

Начиная с билда 509+ стали появляться все новые и новые модификации синтаксиса языка MQL4. До сих пор во многих случаях открытие встроенной справочной системы запускало просто еще одно обновление языка, поэтому будьте осторожны с ограничениями кода, внезапно измененными или неподдерживаемыми элементами синтаксиса и даже проверьте несколько новых синтаксических конструкций. Это жизнь, как она идет.

Таким образом, для OBJ_ARROW есть возможность расширить его размер за пределы значения 5, что является (начиная с сборки 670) пределом для ручного ввода графического интерфейса.

Справка говорит:

        Large arrows (more than 5) can only be created
        by setting the appropriate OBJPROP_WIDTH property value
        when writing a code in MetaEditor.

Таким образом, вручную вы все равно не можете ввести больше 5, но с помощью кода MQL4 вы можете сделать БОЛЬШЕ :о)

person user3666197    schedule 23.09.2014