Анонс обновления MetaTrader 4 build 507: Быстрая регистрация сигнала и задание спреда при тестировании - страница 2

 
ruslanchik:
попробовал 2 способа обновления, обновился в обоих случаях до 506 билда

У меня Альпари стал подсовывать мне 482, но странный какой-то ...


 

Это анонс 507 билда, который выйдет на этой неделе.

Пока мы проводим бета-тестирование 506 билда на своем демо-сервере. 

 
artmedia70:

У меня Альпари стал подсовывать мне 482, но странный какой-то ...

Чтобы обновиться до последнего билда, можете выделить демо-счет на сервере demo.metaquotes.net:443

Все новые версии терминалов совместимы со старыми торговыми серверами. 

 
В билде 500, если есть открытая позиция, попытка смещения уровня на котором она была открыта приводит к изменению уровня TP. Причем это происходит не мгновенно, а спустя секунд 5-10. Т.е. можно случайно изменить положение уровня который обязан быть строго зафиксированным (позиция открыта и цена открытия не может быть изменена), переключить  внимание на что-то другое, а в это время изменится значение Профита сделки.
 
chief2000:
В билде 500, если есть открытая позиция, попытка смещения уровня на котором она была открыта приводит к изменению уровня TP. Причем это происходит не мгновенно, а спустя секунд 5-10. Т.е. можно случайно изменить положение уровня который обязан быть строго зафиксированным (позиция открыта и цена открытия не может быть изменена), переключить  внимание на что-то другое, а в это время изменится значение Профита сделки.


Читайте внимательно в 507 билде будет возможность 

Terminal: Добавлена опция "Использовать клавишу Alt для перетаскивания торговых уровней" - при включенной опции перетаскивание торговых уровней производится только при нажатой клавише Alt. 

 
VOLDEMAR:


Читайте внимательно в 507 билде будет возможность 

Terminal: Добавлена опция "Использовать клавишу Alt для перетаскивания торговых уровней" - при включенной опции перетаскивание торговых уровней производится только при нажатой клавише Alt.

Читайте внимательно - вы перемещаете уровень открытия сделки, а изменяется Take Profit.
 

Сегодня возился со строками, нашел баг.

int start()
{
   string name[3] = {""};
   name[0] = "4";               // point_1
   for(int i = 0;  i < 3;  i++)
      Alert(name[i] == "");
   return(0);
}

Суть:

Если point_1 не закомментирована, то Alert'ы выглядят следующим образом:

  • Alert: 0
  • Alert: 0
  • Alert: 0

Ожидмаемое поведение:

  • Alert: 0
  • Alert: 1
  • Alert: 1
 
220Volt:

Сегодня возился со строками, нашел баг.

Суть:

Если point_1 не закомментирована, то Alert'ы выглядят следующим образом:

... 

Разве с незакомментированным  point_1 будет компилироваться? :-)

А так работает:

void start()
 {
  string name[3] = {""};
  name[0] = "4";
  for(int i = 0; i < 3; i++) Alert(name[i]);
 }
Наверно, какие-то лишние символы при сравнении присутствуют.

Точно! Так работает:

void start()
 {
  string name[3] = {""};
  name[0] = "4";
  for(int i = 0; i < 3; i++) Alert(StringTrimRight(name[i]) == "");
 }
 
220Volt:

Сегодня возился со строками, нашел баг.

Суть:

Если point_1 не закомментирована, то Alert'ы выглядят следующим образом:

  • Alert: 0
  • Alert: 0
  • Alert: 0

Ожидмаемое поведение:

  • Alert: 0
  • Alert: 1
  • Alert: 1

Где баг? У вас после инициализации массив выглядит как {"", NULL, NULL}; Конечно будет обрабатывать не так как вы хотите.

Инициализируйте так: {"", "", ""};

 
TheXpert:

Где баг? У вас после инициализации массив выглядит как {"", NULL, NULL}; Конечно будет обрабатывать не так как вы хотите.

Инициализируйте так: {"", "", ""};



Да дело не в инициализации, при дефолтовом конструкторе стринговый буфер должен быть пустым. Можно переписать так:

string name[3];
name[0] = "4";               // point_1
for(int i = 0;  i < 3;  i++)
   Alert(name[i] == "");

Работает неверно. Да что там мое мнение, посмотрим на MSVC: 

string name[3];
name[0] = "4";               // point_1
for(int i = 0;  i < 3;  i++)
   cout<<(name[i] == "")<<"\n";

cout: 0

cout: 1

cout: 1

Или наблюдали где-то мусор в стрингах после создания?