Обновление платформы MetaTrader 4 build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ - страница 13

 
Добавьте пожалуйста в следующий build недостающие таймфреймы, такие как: Н2, Н3, Н6, Н8, Н12.
 
zlodei:
Добавьте пожалуйста в следующий build недостающие таймфреймы, такие как: Н2, Н3, Н6, Н8, Н12.
А для меня добавьте ещё М2, М3, М4, и М7.5
 
AlexeyVik:
А для меня добавьте ещё М2, М3, М4, и М7.5


Обязательно вставлять свои 5 копеек, умник?

Или я что - то смешное написал?

Или ты шутник просто? 

 
Народ, проверьте у себя следующую особенность. Создаю HST-файл с Digits = 5. Открываю его график, терминал все данные показывает (и по Ctrl+D), будто Digits = 4 (режит пятую цифру после запятой). Но стоит лишь этим HST заменить исторические данные реального символа с Digits = 5. То все показывается, как надо. Бага?
 

Просьба высказать свое мнение (особенно разрабам) к такому поведению тестера.

 

Режим "по ценам открытия". Попадаю на бар с тиковым объемом == 2. Бар вниз, т.е. Open > Close. На этом баре выставляю SellLimit на уровень Open.

 

Должен ли этот SellLimit сработать по цене Open или нет? Меня нужда распирает, чтобы он не филлился в таком случае, т.к. в некоторых тонких моментах получается небольшое заглядывание в будущее.

Тестер сейчас филлит этот SellLimit по Open. Как считаете, это принципиально? Может, разрабы сделают так, чтобы Open-цена не влияла на исполнение ордеров, что выставлены на баре? 

 

Сейчас условие исполнения SellLimit  в тестере (у разрабов) прописано следующим образом:

if (SellLimit_OpenPrice <= MathMax(High[1], Open[0]))
  Fill(SellLimit);

А надо бы так:

if ((SellLimit_OpenPrice <= Open[0]) || ((SellLimit_OpenPrice <= High[1]) && ((SellLimit_LastModifyTime < Time[1]) || (High[1] != Open[1]))))
  Fill(SellLimit);
Для BuyLimit - по аналогии. Есть возражения?
 

2014.07.22 20:08:47.768 HistoryCenter: '0' cannot login to:

Что за ошибка? И как лечится?


 

В настройках терминала выставляю левый прокси, чтобы увести его в offline. Пишет "нет связи", marketwatch заморозился.

Удаляю все HST-файлы, захожу в терминал и открываю любой график. Пишет "ожидание обновления".

Иду в меню Графики->Обновить. Вуаля:

2014.07.22 23:46:50.879 HistoryCenter: 68321 bars imported in 'EURUSD1'
2014.07.22 23:46:47.042 HistoryCenter: synchronize 'EURUSD1'

Почему идет обновление истории при "Нет связи"? Как добиться реального offline без плясок с файрволами и отрубания сети?

 

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

 

Продолжение истории. Скопировал папку терминала на флешку, перенес на другую машину. Запустил - логиниться не стал. Вроде, в оффлайне уж точно.

Жму обновить - закачивает историю с торгового сервера! Т.е. историю можно закачивать с любого торгового сервера даже не имея данных для авторизации на нем.

 

Подтвердите или опровергните. 

 
double mem1= 1000.0, mem2=600.0;
double rez = mem1 * NormalizeDouble((mem1+mem2)/mem1,0);
double rez2= 1000.0 * NormalizeDouble((1000.0+600.0)/1000.0,0);

Comment(rez,"  ",rez2);
/*
rez  = 2000;
rez2 = 2000;
*/

В справке написано 

Округление числа с плавающей точкой до указанной точности.

double  NormalizeDouble(    double  value,      // нормализуемое число    int     digits      // кол-во знаков после запятой    );

double pi=M_PI;
   Print("pi=",DoubleToString(pi,16));
      
   double pi_3=NormalizeDouble(M_PI,3);
   Print("NormalizeDouble(pi,3) = ",DoubleToString(pi_3,16))
   ;
   double pi_8=NormalizeDouble(M_PI,8);
   Print("NormalizeDouble(pi,8) = ",DoubleToString(pi_8,16));
   
   double pi_0=NormalizeDouble(M_PI,0);
   Print("NormalizeDouble(pi,0) = ",DoubleToString(pi_0,16));
/*
   Результат:
   pi= 3.1415926535897931
   NormalizeDouble(pi,3)= 3.1419999999999999
   NormalizeDouble(pi,8)= 3.1415926499999998
   NormalizeDouble(pi,0)= 3.0000000000000000

 Из чего можно сделать вывод что Округление числа с плавающей точкой до указанной точности.   что нормализуя значение 1,23 до точность 0 знаков после точки в результате мы получим 1 и при нормализации значения 1,999 до точности 0 знаков после точки мы получим в результате значение 1, но ни как не 2

Функция NormalizeDouble имеет описание digits [in]  Формат точности, число цифр после десятичной точки (0-8).  и ничего не сказано о том что число в случае 1,999 будет округлено по математическим правилам до 2х 

Считаю это багом или не верной справкой. 

 
МТ4-670 - Пытаюсь импортировать минутную историю 2001-2014, пишет что не хватает памяти.
Есть файл содержащий минутную историю 2001-2013, который более ранними версиями (до 5хх серии) грузился без проблем,
новая версия не в состоянии. Разбил файл на две части, половинка загружается, но не дело так работать, тем более что раньше проблем не возникало. WinXP SP3, 4 GB памяти.
Причина обращения: