Особенности языка mql5, тонкости и приёмы работы - страница 72

 

Поле MqlRates.spread содержит минимальное значение спреда за бар. Полная глупость для бэктеста. Исправить ее каждый может через кастомные символы следующим образом

spread = LowAsk - LowBid; // условный код - не показывает обработку некоторых нюансов

При таком спреде советники на тех же лимитных ордерах великолепно (по качеству и скорости) тестируются в режиме "по ценам открытия".

 

Запуск агента тестирования с возможностью использования папки FILE_COMMON и OpenCL:

metatester64.exe /local /password:tester /address:0.0.0.0:2000
 
Комментарии, не относящиеся к этой теме, были перенесены в "Обсуждение статьи "Визуализируем оптимизацию торговой стратегии в MetaTrader 5"".
 

Основным преимуществом MT4 является его интуитивность и простота  в  программном коде
Нет необходимости в предварительном определении того, что вы хотите сделать, есть встроенные массивы как


    iTime("USDCHF",PERIOD_H1,0),", ",  iOpen("USDCHF",PERIOD_H1,0),", ",
       iHigh("USDCHF",PERIOD_H1,0),", ",  iLow("USDCHF",PERIOD_H1,0),", ",
  iClose("USDCHF",PERIOD_H1,0),", ", iVolume("USDCHF",PERIOD_H1,0));


К настоящем времени для МТ5 очен много классы да и библиотек

Разве так невозможно сделать несколько такие классы да и библиотек, которые позволяет программировать в МТ5 как это делается в МТ4 
 
Stefan Stoyanov:

Основным преимуществом MT4 является его интуитивность и простота  в  программном коде
Нет необходимости в предварительном определении того, что вы хотите сделать, есть встроенные массивы как


    iTime("USDCHF",PERIOD_H1,0),", ",  iOpen("USDCHF",PERIOD_H1,0),", ",
       iHigh("USDCHF",PERIOD_H1,0),", ",  iLow("USDCHF",PERIOD_H1,0),", ",
  iClose("USDCHF",PERIOD_H1,0),", ", iVolume("USDCHF",PERIOD_H1,0));


К настоящем времени для МТ5 очен много классы да и библиотек

Разве так невозможно сделать несколько такие классы да и библиотек, которые позволяет программировать в МТ5 как это делается в МТ4 

Есть очень много библиотек, которые позволяют в мт5 писать код именно так, как писали в мт4.

 
Stefan Stoyanov:

Разве так невозможно сделать несколько такие классы да и библиотек, которые позволяет программировать в МТ5 как это делается в МТ4

Вот fxsaber откинется, попросите его написать библиотеку чтобы можно было писать как на mql3 и тогда можно будет вообще не писать. Не кажется-ли вам что пора уже взрослеть???

 

Как узнать время терминала, нужно выяснить сдвиг в часах между терминальным, и локальным?

Есть TimeGMTOffset(), но она по-настоящему бесполезная.

Вот сейчас терминал показывает 23:58, локальное 16:54. Но нужно узнать с каким сдвигом работает терминал по GMT. С понедельника по пятницу можно выяснить при помощи бубна.

Жду ответы, Спасибо!

 
Vitaly Muzichenko:

Как узнать время терминала, нужно выяснить сдвиг в часах между терминальным, и локальным?

Есть TimeGMTOffset(), но она по-настоящему бесполезная.

Вот сейчас терминал показывает 23:58, локальное 16:54. Но нужно узнать с каким сдвигом работает терминал по GMT. С понедельника по пятницу можно выяснить при помощи бубна.

Жду ответы, Спасибо!

Терминал в обзоре рынка показывает время прихода последнего тика сервера брокера по времени брокера.

Сравнивать можно по цене закрытия свечей инструмента у неизвестного брокера со временем закрытия этих же свечей известного.

Вычислять разницу во времени.

 
Kirill Belousov:

Терминал в обзоре рынка показывает время прихода последнего тика сервера брокера по времени брокера.

Сравнивать можно по цене закрытия свечей инструмента у неизвестного брокера со временем закрытия этих же свечей известного.

Вычислять разницу во времени.

Но так свечи покажут так-же время сервера.

Предположим, сейчас запустил терминал от любого дилинга, котировок нет, но есть последнее зафиксированное в обзоре рынка 23:58, но с каким сдвигом по GMT он работает - не известно.

Или Я уже туплю, и это можно выяснить очень просто?

P.S. Предположим, Я потерялся во времени и перестал различать день/ночь, дни недели, время.

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

Вижу такое решение, но не вижу как это реализовать, не имея в наличии время торгового сервера:

if( TimeCurrent()<TimeServer()+60 ) return( "нет котировок уже 1 минуту" );
 
Vitaly Muzichenko:

Но так свечи покажут так-же время сервера.

Предположим, сейчас запустил терминал от любого дилинга, котировок нет, но есть последнее зафиксированное в обзоре рынка 23:58, но с каким сдвигом по GMT он работает - не известно.

Или Я уже туплю, и это можно выяснить очень просто?

P.S. Предположим, Я потерялся во времени и перестал различать день/ночь, дни недели, время.

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

По цене закрытия найти свечу в независшем ДЦ на истории, у которого вы знаете GMTOffset. Разница между временем свечей даст разницу между ДЦ. Сложите с разницей GMT известного - получите разницу GMT у неизвестного

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

Удобнее просто по часовым свечам.