1минутный OHLC против каждого тика - противоположные результаты - страница 2

 
laplacianlab:

Я абсолютно согласен с ugo58. Большие бары могут вызвать событие OnTick много раз, в то время как маленькие бары будут вызывать его гораздо реже.

Это может повлиять на вашу стратегию автоматической торговли, поэтому нам, разработчикам, приходится искать решения, смягчающие тот факт, что событие OnTick может выполняться много раз за бар.

Я думаю, что то, что я отправил ранее, является лишь одним из решений. ugo50 предложил другое решение: запуск логики OnTick на последнем прошедшем баре. В любом случае, если вы хотите запустить логику OnTick на текущем баре, возможно, вы можете использовать что-то похожее на то, что я отправил ранее.

Мы пытаемся реализовать что-то вроде события OnBar.

Что вы думаете по этому поводу?

laplacianlab:
Возможно, эта ссылка также будет полезна,https://www.mql5.com/en/articles/159.

Код, который вы опубликовали, в основном такой же, как и в статье. Это не что-то новое, и это лучший подход для советника, который торгует на закрытых барах.

Хотя эта статья не имеет прямого отношения к данной теме, она, вероятно, будет вам интересна.

 
michelino:

Я получаю полностью противоположный результат при тестировании на каждом тике или 1min OHLC. советник и входные параметры точно такие же, но в случае 1min ohlc я получаю 50000 прибыли, в то время как на каждом тике я получаю -7000 убытков.

это происходит на многих парах, тестирование на периоде 2 года 0811-0813.

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

оба графика ниже

1-минутный OHLC

каждый тик

привет, количество сделок тоже должно быть очень разным, не так ли? если вы выбираете каждый тик, это означает, что ваша функция onTick выполняется примерно каждые x секунд. У меня тоже самое, плохие результаты.

2013.08.21 08:54:04    Core 1    EURUSD.e,M3: 72488 ticks (6230 bars) 



 
Florew:

привет, количество сделок тоже должно быть очень разным, не так ли? если вы выбираете каждый тик, это означает, что ваша функция onTick выполняется примерно каждые x секунд. У меня то же самое, плохие результаты.



Я пытаюсь объяснить свой способ.

Движение цены подобно сейсмографу. Наблюдаемое в самом маленьком масштабе, оно находится на полпути между хаосом и непредсказуемостью, но по мере увеличения масштаба наших наблюдений цена становится все более и более детерминированной. В любом случае, мы всегда должны помнить, что ценовые столбики - это всего лишь произвольная дискретизация движения цены.

Таково теоретическое объяснение. Что вы думаете по этому поводу? Можете опровергнуть, если хотите.

 
michelino:

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


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

Короче говоря, если для вашей стратегии очень важен путь, который движение цены определяет по барам, то режим OnTick в MQL5 просто необходим. С другой стороны, если ваша торговая стратегия движется в более крупном масштабе, так сказать, режим OnTick может быть не нужен. В этом случае вам не нужно тратить ресурсы компьютера на тестирование стратегии. Вам следует прочитать этоhttps://www.mql5.com/en/docs/runtime/testing.

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

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

С уважением!

Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
MQL5 programs / Testing Trading Strategies - Documentation on MQL5
 
laplacianlab:

Я пытаюсь объяснить свой способ.

Движение цены подобно сейсмографу. Наблюдаемое в самом маленьком масштабе, оно находится на полпути между хаосом и непредсказуемостью, но по мере увеличения масштаба наших наблюдений цена становится все более детерминированной. В любом случае, мы всегда должны помнить, что ценовые столбики - это всего лишь произвольная дискретизация движения цены.

Таково теоретическое объяснение. Что вы думаете по этому поводу? Можете опровергнуть, если хотите.


Я не специалист по процессу формирования свечей, но ваше объяснение кажется мне правильным.

Я понимаю, что симуляция советника, установленного с опцией каждого тика (не 1мин OHLC), ведет себя более или менее как в реальных рыночных условиях. Ну, разве что, если в советнике есть код, говорящий, что нужно дождаться завершения формирования 1 мин. OHLC, как я понял, вы упомянули здесь. Не уверен, что это смысл кода, я прав? )


*** EDIT ***


Ребята, какие меры предосторожности нужно предпринять, чтобы советник в условиях реального рынка (демо или истинного) вел себя так же, как и советник с опцией симуляции 1мин. OLHC (самый прибыльный)?

 
Florew:


Ребята, какие меры предосторожности нужно предпринять, чтобы советник в условиях реального рынка (демо или истинного) вел себя так же, как 1мин. OLHC (самый прибыльный)?

Возможно, вы должны спросить себя, какая симуляция является правильной? и почему? и затем вы можете воспроизвести эти симулированные данные в реальной торговле?
 
RaptorUK:
Возможно, вы должны спросить себя, какая симуляция является правильной? и почему? и затем вы можете воспроизвести эти симулированные данные в реальной торговле?


Я согласен с вами. Я получил ответ на первый и второй вопрос, но не на последний.

Нет лив этой статье ошибки по количеству точек опоры для первого примера? Я вижу только одну точку поддержки для тени открытия и тени закрытия. Сказано три :/


Если тень генерируется по трем опорным точкам и целочисленные значения 3/4 размер тени и 1/2 размер тени равны (это происходит, когда разница между Open и Low или Open и High не больше 2 пунктов), то генерация тени меняется следующим образом:


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

 
Florew:

привет, количество сделок тоже должно быть очень разным, не так ли? если вы выбираете каждый тик, это означает, что ваша функция onTick выполняется примерно каждые x секунд. У меня тоже самое, плохие результаты.



на самом деле количество сделок отличается незначительно 5-10%. но я понял почему это происходит, так как советник входит в рынок в длинную позицию, когда цена ниже скользящей средней на определенное количество пунктов (противоположность для короткой позиции) при торговле ohlc он покупает точно на минимуме, в то время как на каждом тике он покупает между минимумом и закрытием, поэтому он получает много прибыли, которой обычно не было бы.

Так что нет способа воспроизвести эту производительность, к сожалению.

 
Florew:


Нет лив этой статье ошибки по количеству точек опоры для этого первого примера? Я вижу только одну точку опоры для открывающей и закрывающей тени. Сказано, что три :/


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

В любом случае, я также думаю, что детали этого алгоритма слишком сложны для нас в том смысле, что не имеет значения, как построена историческая последовательность тиков. Это очень хорошо и интересно получить доступ к этой информации, но я хочу сказать, что мы ничего с этим не делаем! Мы только можем знать о подводных камнях компьютеров при работе с дискретными вещами. Всегда есть какая-то точка, где вы теряете некоторую точность, то же самое происходит и со значениями с плавающей запятой. Разница здесь в том, что мы также имеем дело с человеческим поведением в очень маленьком масштабе.

Кстати, мы также обсуждали тот факт, что исторические данные брокера не одинаковы, и что эта разница становится больше в короткое время.

Что вы думаете обо всем этом? Правильно ли это? Считаете ли вы, что стоит сосредоточиться на стратегиях, которые должны хорошо работать на малом промежутке времени?

 

michelino:

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


Не уверен, что понял вашу мысль. На мой взгляд, должно быть возможно воспроизвести симуляцию ле 1-минутного режима OHLC.

В документации написано :

В режиме "1 minute OHLC" последовательность тиков строится только по ценам OHLC минутных баров, количество генерируемых контрольных точек значительно сокращается - следовательно, сокращается и время тестирования. Запуск функции OnTick () производится на всех контрольных точках, которые построены по ценам OHLC минутных баров.

Затем

Для тестирования торговой стратегии нам необходима последовательность тиков, на которых будет имитироваться работа советника. Таким образом, для каждого минутного бара мы знаем 4 контрольные точки, где цена точно была. Если бар имеет всего 4 тика, то этой информации достаточно для проведения тестирования, но обычно тиковый объем больше 4.

Вопрос: сколько контрольных точек в минутных барах OHLC и как модифицировать функцию onTick(), чтобы она работала на каждой из них?

По тексту в обеих цитатах я понимаю, что ответ на первый вопрос всегда 4, потому что если бар имеет более 4 тиков, то это "значительно" сокращает время тестирования. Что касается следующего вопроса, то дело в том, чтобы определить 4 контрольные точки минутных OHLC баров в реальных рыночных условиях, а затем попросить функцию onTick() работать на них.

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