Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 41

 

Плавающие окна, конечно, здорово!

А нельзя ли добавить возможность  сворачивать терминал, но, чтобы при этом, плавающие,

вынесенные графики оставались бы активными на рабочем столе? То есть независимое сворачивание.

 

Форум по торговле, автоматизированные торговые системы и тестирование торговых стратегий

MT5: задает вопросы, проблемы и ошибки. Все о клещах.

Ален Верлейн , 2018.11.24 18:56

Сборка 1940/64 бит. Брокер A, реальный счет . EURUSD.

В этом первом пункте я не совсем уверен, что это проблема брокера, проблема с MT5 или, может быть, даже я что-то не хватает. Или смесь всех.

Tick volumes 2018

Я возьму последний месяц в качестве ссылки. Как видите, в октябре у нас есть 2 448 455 тиков.

Подтверждено на графике:

EURUSD Monthly

Однако, если вы проверяете данные тиков, если мы получим «Все тики»:

У нас есть 6 621 441 тик! Возможно, нам нужно выбрать « Bid / Ask ticks »?

Bid Ask ticks

2,920,555 тиков , ближе, но не то же самое.

Разница между «All ticks» и «Bid / Ask ticks», безусловно, обусловлена ​​тем, что этот брокер предлагает (ограниченную) глубину рынка, поэтому вы получаете галочку при каждом изменении DOM. Это нужно подтвердить, я сделаю это в будущем посте.

Я всегда думал, что «объем тика OHLC» - это реальное количество тиков, а не количество тиков, фактически полученных терминалом. Но, увидев эти цифры, я начал сомневаться. Если это реально, то почему существует более исторических тиков (500 000 - это не маленькая вещь). Почему это различие?

Для полноты, как и ожидалось, нет «последних / томов», так как это внебиржевой рынок.

Я также проверил код и получил те же результаты.

Любое объяснение?
 
Alex969:

Плавающие окна, конечно, здорово!

А нельзя ли добавить возможность  сворачивать терминал, но, чтобы при этом, плавающие,

вынесенные графики оставались бы активными на рабочем столе?


((((Как бэ и то и другое (и вынесение графиков за пределы терминала, и независимое сворачивание) давно легко реализуется в mt4 скриптом.))))

Попробовать Navossoc's MenuTools (открытый исходный код), 4t tray minimizer (бесплатная версия) или Actual Window Manager (бесплатная пробная версия).

Always-on-top, minimize-to-tray, roll-up-window - основные функции управления окном, которые отсутствуют в Windows.

 

Пытаюсь автоматизировать запуск своих UnitTests.

Есть вариант запускать через конфиг:

[StartUp]
Symbol=EURUSD
Period=M1
Script=Roffild\UnitTests\ArrayList_UnitTest
[StartUp]
Symbol=EURUSD
Period=M1
Script=Roffild\UnitTests\Serialization_UnitTest
Но выполняется только первая секция. Сейчас нельзя кинуть несколько экспертов и скриптов при запуске терминала через конфиг.
 
А появились какие-то подвижки с графикой в тестере? Надо обычную трендовую линию двигать во время визуального тестирования.
 
Alexey Volchanskiy:
А появились какие-то подвижки с графикой в тестере? Надо обычную трендовую линию двигать во время визуального тестирования.

Нет. Мне тут пришлось мультивалютника потестировать... Только теперь я понял какая недоделка этот тестер. С ним ещё работы непочатый край.

 
kypa:

Попробовать Navossoc's MenuTools (открытый исходный код), 4t tray minimizer (бесплатная версия) или Actual Window Manager (бесплатная пробная версия).

Always-on-top, minimize-to-tray, roll-up-window - основные функции управления окном, которые отсутствуют в Windows.

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

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

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

 

It is a bit confusing in the StrategyTester and the Debugger (with hist. prices, build 1950, type 1 Minute OHLC):

The close price is not what it should be :(

Here is the code snippet:

Это немного запутанно в StrategyTester и Debugger (с историческими ценами, build 1950, тип 1 Min OHLC):

Цена закрытия не такая, какая должна быть :(

Вот фрагмент кода:

void OnTick() {
...
        MqlRates r[];
        RefreshRates();
        n = CopyRates(_Symbol,_Period,0,4,r)-1; // r[0]=oldest,r[2]-youngest
        Comment("CopyRates ",r[0].time,"..",r[3].time," Cls[0..3] ",DoubleToString(r[0].close,_Digits),
                  ", ",DoubleToString(r[1].close,_Digits),", ",DoubleToString(r[2].close,_Digits),
                  ", ",DoubleToString(r[3].close,_Digits) );
    if (r[3].time >= D'2018.10.25 16:00' ) DebugBreak();
return;

}

Now this is what I get at one tick: Теперь это то, что я получаю при одном тике:

   

The recent close of the array (r[3].close) = 1.13984 see the debugger window and the Comment on the chart, while the Bid-line and the data window already show the 1.13902.

Now I get the next tick:

Недавнее закрытие массива (r [3] .close) = 1.13984 см. Окно отладчика и комментарий на диаграмме, в то время как строка Bid и окно данных уже показывают 1.13902.

Теперь я получаю следующий тик:

    

Is this a feature or a bug?

Является ли это признаком или ошибкой?


Apparently r [3] .close did not have the price 1.13902 - although it appears in the DataWindow and on the chart and then suddenly as a low?
How should one test the triggering of a trigger correctly?

По-видимому, r [3] .close никогда не была цена 1.13902 - хотя она появляется в DataWindow и на графике, а затем внезапно как низкий?
Как проверить правильность запуска триггера?

 

Просто обращаюсь к истории разных торговых инструментов


 

Уважаемые, где читать описание подобных функций?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Запуск программы через CMD средствами MQL

Alexey Volchanskiy, 2018.11.25 17:35

Уже не нужно dll, недавно метаквоты ввели поддержку WinAPI, см. папку \MQL5\Include\WinAPI

Конкретно, в файле \MQL5\Include\WinAPI\winuser.mqh видим две unicode функции

HANDLE                              FindWindowExW(HANDLE wnd_parent,HANDLE wnd_child_after,const string class_name,const string window);
HANDLE                              FindWindowW(const string class_name,const string window_name);


 


Причина обращения: