МТ4 Ошибки, Баги, Вопросы - страница 3

 
Yurixx:

Как заставить MetaEditor помнить свою конфигурацию ?

Каждый раз при  открытии приходится руками восстанавливать панель инструментов, статусную строку и окно навигатора.

Хотя открытые в нем файлы он запоминает нормально.

Тоже акте иногда бывает. Когда захожу в второй профиль ос а потом обратно. 
 
При запуске терминала, после того, как все графики по очереди сгенерируют первую цепочку событий (OnInit, OnChartEvent и OnCalculate), каждый график генерирует ещё одно событие OnCalculate в связи с подгрузкой новых данных (даже если их нет).
Но это второе событие OnCalculate, сгенерированное на одном графике поступает и на все остальные, затем следующий график подгружает данные и генерирует OnCalculate снова всем графикам.
Это нормальное поведение МТ4?
#property strict
#property indicator_chart_window
int oi = 0, oc = 0, oe = 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
   oi++;
   Print(" On Init | ", oi);
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   oc++;
   Print(" On Calculate | ", oc);
   return(rates_total);
}
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
   oe++;
   Print(" On Chart Event | ", oe);
}
Запуск терминала
 

НЕПРАВИЛЬНАЯ ПЕЧАТЬ СИМВОЛОВ ИЗ ТАБЛИЦЫ СИМВОЛОВ

Почему терминал неправильно печатает символы из таблицы:

Alt-кодСимволAlt-кодСимволAlt-кодСимволAlt-кодСимволAlt-кодСимволAlt-кодСимволAlt-кодСимвол
1ț21§41)61=81Q101e121y
2☻22▬42*62>82R102f122z
3♥23↨43+63 ?83S103g123{
4♦24↑44,64@84T104h124|
5♣25↓45-65A85U105i125}
6♠26→46.66B86V106j126~
7•27←47/67C87W107k127⌂
8◘28∟48068D88X108l
9○29↔49169E89Y109m
10◙30▲50270F90Z110n
11♂31▼51371G91[111o
12♀32<пробел>52472H92\112p
13♪33 !53573I93]113q
14♫34"54674J94^114r
15☼35#55775K95_115s
16►36$56876L96`116t
17◄37 %57977M97a117u
18↕38&58:78N98b118v
19‼39'59 ;79O99c119w
2040(60<80P100d120x

Простой пример, если мы хотим напечатать стрелочки "↑" и "↓":

//+------------------------------------------------------------------+
//|                                                Print Symbols.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("\24", " ", "\25");
   Print("\x2191", " ", "\x2193");      
   Print("\x0018", " ", "\x0019");
  }
//+------------------------------------------------------------------+

То, к сожалению, почему-то стрелочка "вверх" определиться и напечатается, а вот вместо стрелочки "вниз" будет другой символ.

Но стрелочки - это только один из примеров. Неразбериха также и по другим символам. Почему-то одни символы подменяются другими, а те, которые нужны, их вообще нет.

Что здесь можно сделать?

 
Вы путаете между собой значение юникод символа в строке (https://unicode-table.com/ru/#control-character).
И отображение этого символа под призмой шрифта на экран. 

Ваша таблица - это отображение определенного шрифта (не помню как называется, что-то типа Wind.....).
 
Добрый день. Кто видел подобное исполнение ордеров? Кто может объяснить?
Файлы:
tda_1.jpg  508 kb
 
Bogun_aleksandr:     Добрый день. Кто видел подобное исполнение ордеров? Кто может объяснить?

Вы имеете ввиду проскальзывание? Видел такой рекорд: проскальзывание при открытии 511

20180808
0    07:14:18.717    pending order buy limit 0.17 EURUSD at 1.15062 sl: 0.00000 tp: 0.00000
0    07:14:18.826    order was opened : #5361 buy limit 0.17 EURUSD at 1.15062 sl: 0.00000 tp: 0.00000

20180810
0    08:17:02.713    order #5361 buy limit 0.17 EURUSD at 1.15062 activated at price 1.14551
 
Bogun_aleksandr:
Добрый день. Кто видел подобное исполнение ордеров? Кто может объяснить?

Открыли селл, цена пошла вверх, переместили ТП. Теперь он в убыточной зоне (но все еще ниже текущей цены).

 
Konstantin Erin:

Вы имеете ввиду проскальзывание? Видел такой рекорд: проскальзывание при открытии 511

20180808
0    07:14:18.717    pending order buy limit 0.17 EURUSD at 1.15062 sl: 0.00000 tp: 0.00000
0    07:14:18.826    order was opened : #5361 buy limit 0.17 EURUSD at 1.15062 sl: 0.00000 tp: 0.00000

20180810
0    08:17:02.713    order #5361 buy limit 0.17 EURUSD at 1.15062 activated at price 1.14551

Это не проскальзывание. Время открытия сделки 14:33. Цена в тот момент 1.13717. Цена открытия сделки - 1.13613. Фактическая цена в момент открытия сделки отличается от цены по которой открылась сделка на 100 пунктов. То есть сделка открылась сразу с убытком в 100 пунктов. Как это вообще возможно?

 
Bogun_aleksandr:

Это не проскальзывание. Время открытия сделки 14:33. Цена в тот момент 1.13717. Цена открытия сделки - 1.13613. Фактическая цена в момент открытия сделки отличается от цены по которой открылась сделка на 100 пунктов. То есть сделка открылась сразу с убытком в 100 пунктов. Как это вообще возможно?


Это называется повышение спреда.

 
Vladislav Andruschenko:


Это называется повышение спреда.

Так рынок спокойный, спред 5 пунктов.