Ошибки, баги, вопросы - страница 677

 
Что-то запамятовал. Кто подскажет ак правильно использовать #import для библиотеки которая находится в подкаталоге основной папки?
 
danielalmaty:

Здравствуйте, подскажите пожалуйста,


Разница в том, что в изначальном варианте объект описан как:

CiADX *m_ADX;

т.е. объект динамический. А у Вас:

CiADX m_ADX;

В этом случае метод должен выглядеть так:

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }
 
Interesting:
Что-то запамятовал. Кто подскажет ак правильно использовать #import для библиотеки которая находится в подкаталоге основной папки?

В MT4, у меня вот так работает: #import "TrendLine\\MemoryDLL.dll"
 

https://www.mql5.com/ru/forum/23/page15

MetaTester: Изменена работа метода тестирования "по ценам открытия". Как и раньше, OnTick эксперта запускается только на открытии бара, но вместо тиков M1 OHLC проигрываются состояния high, low, close тестируемого бара. Из-за этого стопы и отложенные ордера могут сработать не по заявленной цене. Это позволило достичь многократного ускорения при тестировании.

А старый режим можно оставить, наряду с новым? Каждый сможет выбрать компромисс между быстротой и и качеством.
 
papaklass:

Для качества режим "все тики" Вас не устроит?

В определенных случаях нет. Ну очень мне не нравится режим при котором сделки могут выполняться не по заявленной цене (при этом данное явление убудет считаться нормой).

Поэтому я лично поддержу просьбу Константина.

 
papaklass:

Что значит "не по заявленной цене"?  Уточните.

Читаем текст внимательней

MetaTester: Изменена работа метода тестирования "по ценам открытия". Как и раньше, OnTick эксперта запускается только на открытии бара, но вместо тиков M1 OHLC проигрываются состояния high, low, close тестируемого бара. Из-за этого стопы и отложенные ордера могут сработать не по заявленной цене. Это позволило достичь многократного ускорения при тестировании.

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

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

Поэтому полагаю вариант при котором будет существовать два вида тестирования "по ценам открытия" (на минутных барах и по тестируемому бару) будет вполне приемлемым решением.

 
papaklass:

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

Вопрос не в проверке, ее можно сделать при желании. Вопрос в том зачем? По факту такая реализация лично для меня сделает неприемлемым использование режима "по ценам открытия", а значит при использовании режима "все тики" по факту лично я получу офигенные тормоза. Либо фиг его знает какой результат при "быстром" прогоне.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Есть наш пример MovingAverages, который совершенно одинаково отрабатывает (на нынешнем 607 билде) как в режиме M1 OHLC, так и в режиме Open Prices. А почему? Потому что торгует строго на начале бара - специальная проверка стоит.

Поставьте аналогичное условие в Вашем эксперте и гоняйте в режиме M1 OHLC. И будет Вам щястье.

 
stringo:

Есть наш пример MovingAverages, который совершенно одинаково отрабатывает (на нынешнем 607 билде) как в режиме M1 OHLC, так и в режиме Open Prices. А почему? Потому что торгует строго на начале бара - специальная проверка стоит.

Поставьте аналогичное условие в Вашем эксперте и гоняйте в режиме M1 OHLC. И будет Вам щястье.


1. Ну да, он может и торгует как надо. Но, у него это по стратегии заложено. А у меня не заложено, у меня работа ведется по отложкам.

Да и со стопами не понятно - С КАКОГО ЭТО ПЕРЕПОЯ ОНИ ДОЛЖНЫ (МОГУТ) СРАБАТЫВАТЬ НЕ ПО ЗАЯВЛЕННЫМ ЦЕНАМ?

Так что счастье мне не будет, по крайней мере если не перейду на "Все тики".

2. А если сделать проверку на новый бар и торговать только по его открытию то то получится уже совсем другая стратегия.

А это мне нужно?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Interesting:

Ну да, он может и торгует как надо. Но, у него это по стратегии заложено. А у меня не заложено, у меня работа ведется по отложкам.

Да и со стопами не понятно - С КАКОГО ЭТО ПЕРЕПОЯ ОНИ ДОЛЖНЫ (МОГУТ) СРАБАТЫВАТЬ НЕ ПО ЗАЯВЛЕННЫМ ЦЕНАМ?

Так что счастье мне не будет, по крайней мере если не перейду на "Все тики".

2. А если сделать проверку на новый бар и торговать только по его открытию то то получится уже совсем другая стратегия.

А это мне нужно?

Да не, как я понял, Вам предложили способ "как торговать в тестере по ценам открытия, но с учётом тиков". Вам же такая опция нужна в тестере? Результаты её работы можно воспроизвести, чуть дополнив свой код и запустив его в режиме M1 OHLC (ну, типа, ввести в эксперт опцию/переключатель для тестирования). ...И даже вообще запустить в режиме "все тики".
Причина обращения: