Скачать MetaTrader 5

Пара вопросов по особенностям MQL5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаете ли вы, что MQL5 является объектно-ориентированным языком?
Андрей Шелихов
589
Андрей Шелихов 2012.11.14 06:38 

1 В приведённом ниже примере части советника при компиляции пишется что при вычислении целочисленного ( int) хвоста величины спреда  (SP):

  Bid0= last_tick.bid ;

     Ask0= last_tick.ask ;

     sp= Ask0- Bid0 ;

      Sp = sp*100000 ;

компилятор пишет,что данные могут быть потеряны.

Может кто то подскажет корректный  способ преобразования целочисленного значения спреда в пипсах?

Я бы не запаривался-программа работает,но периодически слетает-может дело в вышеуказанной проблеме. 

 

2 При отключении режима торговли  программа продолжает работать.. Возможно блокируются торговые операции-но такого в МТ4 Нет. 

 

3 Может кто то посоветает ДЦ,который предоставляет торговлю в МТ5..мой Альпари так и не разродился в этом вопросе.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
Файлы:
Ihor Herasko
9056
Ihor Herasko 2012.11.14 06:43  
shelandr:


компилятор пишет,что данные могут быть потеряны.


Это просто предупреждение. Компилятор не знает, заметил программист приведение типов или нет. Вот и предупреждает. Чтобы его не было, нужно дать понять компилятору, что приведение производится намеренно:

Sp = (int)sp*100000;

  

Андрей Шелихов
589
Андрей Шелихов 2012.11.14 06:48  

Ещё вопрос:

напрямую советника ввести в МТ5 невозможно? Только через хранилище или с этого сайта??

Андрей Шелихов
589
Андрей Шелихов 2012.11.14 06:52  
Scriptong:

Это просто предупреждение. Компилятор не знает, заметил программист приведение типов или нет. Вот и предупреждает. Чтобы его не было, нужно дать понять компилятору, что приведение производится намеренно:

  

Получилось,спасибо.

Но слетать из за этого программа ведь не должна?

Вообще она более нежная чем МТ4..там где в Т4 прокатывало-здесь нет. 

Ilyas
1205
Ilyas 2012.11.14 08:02  
ИМХО, тут неправильно приводить операнд -
Sp = (int)sp*100000;

нужно приводить результат!
Sp = (int)(sp*100000);

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий