Новая версия платформы MetaTrader 5 build 3550: улучшения и исправления - страница 26

 
fxsaber #:

Ни в коем случае. Кастомные символы используются шире, чем хранения цен для Тестера.

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

Я за одинаковое поведение тестера и терминала.

 

elibrarius #:
Ну в тестере вы все равно получите откорректированные тестером данные. А только для терминала что-то там еще хранить зачем?

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

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

Я за одинаковое поведение тестера и терминала.

Просто привыкнете, что цену перед записью нужно нормализовывать.

 
fxsaber #:

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

Просто привыкнете, что цену перед записью нужно нормализовывать.

философское отступление - "каким тех.процессом на стороне отправителя может получаться ненормализованная цена" (если разумеем сервера MQ)

 
Maxim Kuznetsov #:

философское отступление - "каким тех.процессом на стороне отправителя может получаться ненормализованная цена" (если разумеем сервера MQ)

Например, источником цены служит MT4 или POSITION_PRICE_OPEN.

ЗЫ

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

Ненормализованные цены в MT4

fxsaber, 2019.02.20 23:03

А вот ситуация гораздо хуже, и при этом на MQ-Demo
// 15326434
// wmefo5sa
// MetaQuotes-Demo
void OnStart()
{
  const double Price1 = HistoryOrderSelect(356138100) ? HistoryOrderGetDouble(HistoryOrderGetTicket(0), ORDER_PRICE_CURRENT) : 0;
  const double Price2 = PositionSelectByTicket(356138100) ? PositionGetDouble(POSITION_PRICE_OPEN) : 0;  
  
  Print(Price1 - Price2); // -2.220446049250313e-16
}


Цена открытия текущей позиции не равна цене своих ордера/сделки.

 
fxsaber #:

Например, источником цены служит MT4 или POSITION_PRICE_OPEN.

Прогнал скрипт на первом попавшемся счете со свежей историей торговли. DEAL_PRICE-цены ненормализованы в Терминале.

Ненормализованные цены в MT4 - Ненормализованные цены в истории торгов отличают от нормализованных всегда на DBL EPSILON.
Ненормализованные цены в MT4 - Ненормализованные цены в истории торгов отличают от нормализованных всегда на DBL EPSILON.
  • 2019.02.20
  • www.mql5.com
ЗЫ Два разных числа преобразуются в string одинаково. где-то при вычислениях округления происходят по разным правилам. равна весу МЗР мантиссы при данном значении порядка. Нормальное поведение двоичного представления чисел с плавающей точкой
 

В Metaeditor не сохраняются панели.

Вид-инструменты, навигатор, панели инструментов, статусная строка.

При перезапуске Едитора всё сброшено. Закрытие Едитора осуществляю через Файл-выход.

 

begDayBar= iBarShift(_Symbol,_Period,begDayTime,false)  по документации  функция возвращает, в зависимости от exact параметра, -1 или ближайшее смещение бара.

а сегодня почему-то если begDayTime=2023.01.26 00:00:00 возвращает  -1хотя такие бары есть и они не последние

2023.02.15 15:19:23.254    !indDAY_WSOWROhLine (EURRUB_TOM,M15)    begDayTime=2023.01.26 00:00:00 endDayTime=2023.01.27 00:00:00 begDayBar=-2 endDayBar=-1 indATR=0 Q5days=0

как то неустойчиво работает может вернуть -1 а может правильный бар

Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev #:

В Metaeditor не сохраняются панели.

Вид-инструменты, навигатор, панели инструментов, статусная строка.

При перезапуске Едитора всё сброшено. Закрытие Едитора осуществляю через Файл-выход.

У Вас скорее всего включен полноэкранный режим. Не помню F11 или F12
 
fxsaber #:

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

Вы им без тестера пользуетесь? В терминале?
Если вам нужно больше знаков после запятой - можно установить например 15. Хотя шаг спреда тоже соответствует цене и тоже имеет обычно 5 знаков после запятой.

 
elibrarius #:

Вы им без тестера пользуетесь? В терминале?

Да.