Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 845

 
MrVIS:

Для того, чтобы провести вертикальную линию между барами...

Заходите в настройки и ставите эту галку. Все, теперь все вертикальные линии, что будете создавать через MQL, не будут привязаны к барам.

Как можно не замечать полноценный ответ на свой вопрос - не понимаю.

ЗЫ Вот анимашка, где в верхнем окне границы коричневого прямоугольника (объект стандартный) между барами двигаются программно.

 
fxsaber:

Заходите в настройки и ставите эту галку. Все, теперь все вертикальные линии, что будете создавать через MQL, не будут привязаны к барам.

Как можно не замечать полноценный ответ на свой вопрос - не понимаю.

ЗЫ Вот анимашка, где в верхнем окне границы коричневого прямоугольника (объект стандартный) между барами двигаются программно.

Спасибо, fxsaber. Очень признателен за Ваше разъяснение. Извините, сразу не сообразил, что можно задавать точкам привязки значения, не совпадающие со временем конкретного бара. Может подскажите еще, как  из-под MQL5 установить галку "Точная шкала времени"?

 
MrVIS:

как  из-под MQL5 установить галку "Точная шкала времени"?

Никак. Это настройка всего Терминала.

 

Вопрос:


В МТ5,  в тестере, когда щелкаю мышкой в OBJ_EDIT после ввода текста, он исчезает. 


Это нормальное поведение?

Мне уже писали что графика в тестере не работает

 
Sergey Likho:

Вопрос:


В МТ5,  в тестере, когда щелкаю мышкой в OBJ_EDIT после ввода текста, он исчезает. 


Это нормальное поведение?

Мне уже писали что графика в тестере не работает

Вполне. Не нужно щёлкать в тестере в "Поле ввода" =)

 

Помогите)

Есть несколько переменных типа  Symbol_1, Symbol_2 и тд.  Хочу перебрать их в цикле.

Пробовал код:


     for(int i=1;i<NUMBER_OF_SYMBOLS+1;i++)
     { 
         string s=("Symbol_"+IntegerToString(i));
         SomeFunc(s);
     }

Но он не работает. s содержит текст Symbol_1, Symbol_2 , а мне нужно значение переменной с именем Symbol_1, Symbol_2 и тд.

Как можно преобразовать строку в значение переменной с таким именем?



 
xFFFF:

Помогите)

Есть несколько переменных типа  Symbol_1, Symbol_2 и тд.  Хочу перебрать их в цикле.

Пробовал код:


Но он не работает. s содержит текст Symbol_1, Symbol_2 , а мне нужно значение переменной с именем Symbol_1, Symbol_2 и тд.

Если нужно значение переменной, то присваивайте напрямую:

string s = Symbol_1;

Зачем такой обход?

Как можно преобразовать строку в значение переменной с таким именем?

Никак.

Если есть несколько переменных, значения которых нужно опросить в цикле, то создается массив, а не несколько переменных.

 

Подскажите, это профилирование

Что так много потребляет, приведение типа, или сам return?

 
Vitaly Muzichenko:

Подскажите, это профилирование

Что так много потребляет, приведение типа, или сам return?

Использование конкатенации строк

8 микросекунд * 176 миллионов обращений

Так как все значения строк известны и основаны на константах input, то

Создайте массив (глобальный) string, заполните его будущими значениями в OnInit()

А в функции вызывайте готовые значения не считая их 175 миллионов раз

Можно и без функции обойтись, а просто считывать по индексу из массива, но если не можете контролировать type (будущий индекс массива), то в функции делаете так

switch(type)

(

case 1: return(Array[1]);

case 2: return(Array[2]);

...

default: return(Array[0]);//Unknown trailing

)
 

Подскажите можно ли с нулем так сравнивать значение тиков. Тики стандартные, а не  custom. 

if( Tick[i].bid==0 )

Или есть вероятность того, что стандартных  котировках тиков будет лежать какое нибудь 0.0000000000000000001 ?