Интересная тема для многих: что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - страница 68

 

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

 

GaryKa:
Пример можно. Не догоняю когда может возникнуть ситуация при которой открытие/закрытие/коректировку позиции выгоднее делать рыночными ордерами. На ум приходит только арбитражная ситуация - чтобы успеть. Но где здесь связь между трендом и маркет ордерами?

 пример простой, вам просто не зальют лимитом на трендовом рынке в нужном месте и вы будете без позы. А вот когда пойдёт против вашей лимитной позы, то зальют по полной

 
 
MetaDriver:

Я понимаю, что реальная торговля всегда будет отличаться от тестовой, в части исполнения.  Но таки при разработке ТС трейдер-программист так или иначе держит в голове какие-то идеи-ориентиры. "Идеалы", если угодно.  Естественно, что он понимает (если не дурак), что в реале его система будет сталкиваться с всевозможными факторами ослабляющими расчётную производительность конструкции.  И, если, опять же, не дурак, должен предвидеть какие именно из его исходных соображений (идеалов) являются уязвимыми для реала и насколько. В частности, предвидеть насколько система может быть устойчивой за пределами диапазона оптимизации.  Множество систем, построенных на неудачно выбранных исходных предположениях ("идеалах") не проходят именно этот тест - безбожно сливают на OutOfSample, показывая превосходные заработки внутри диапазона оптимизации...

Вот не хотелось "левые" (с точки зрения Ивана) аргументы использовать, но таки стейты hrenfix'a убедительно показывают, что выбор "сферических коней" у него весьма удачен....

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

Остальное не понял - как  вот эта сказочная система на вершинах ЗЗ даёт вам что-то полезное? Ну как индикатор сумм колен ЗЗ ещё можно понять, но чтобы на её основе делать какие-то выводы о том как надо или не надо торговать это хрен знает))

 
Avals:

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

Остальное не понял - как  вот эта сказочная система на вершинах ЗЗ даёт вам что-то полезное? Ну как индикатор сумм колен ЗЗ ещё можно понять, но чтобы на её основе делать какие-то выводы о том как надо или не надо торговать это хрен знает))

ОК, давай на этой оптимистической ноте пока остановимся.. :)
 
Avals: ... пример простой, вым просто не зальют лимитом на трендовом рынке в нужном месте и вы будете без позы. А вот когда пойдёт против вашей лимитной позы, то зальют по полной

Ну да вопросы исполнения , неправильно (по своему) воспринял слова "выгоднее делать"
 
MetaDriver:
Ты когда-нибудь разбирал коды hrenfx'a(getch в прошлой жизни) ?  Очень рекомендую посмотреть все его работы в кодобазе 4-го форума, и пару-тройку тщательно разобрать до полного понимания алгоритмов.  И всей твоей высококонтрастной бригаде "людей высочайшего уровня профессионализма"  очень советую сделать то же самое.  Может бредить поменьше будете насчёт интеллектуальных возможностей Ивана и займётесь повышением своей собственной  квалификации.


Ни фига ты в цифрах не показал, у тебя в барах по три тика, а у него по одному - только LoAsk и HiBid - что он как раз очень долго тут и пропогандировал.  Так что если из цикла выкинуть два лишних сравнения и поотключать в компиляторе проверки диапазонов (RangeCheck), то заявленная цифра уже выглядит вполне реалистичной, даже с полезными (минимальными) расчётами внутри цикла. 

Кое что из кодов hrenfx мне действительно попадалось - код очень качественный, ничего не могу сказать. Кое что до сих пор использую. Но не надо мешать мух с котлетами. Вот и ты как и герика пишешь даже не разобравшись в предложенном мною тесте. Толи от отсутствия глубоких знаний по Си, толи еще почему-то вы делаете упор на то, что один бар для hrenfx'а это только два целочисленных long. В реальности, мы передаем указатель на структуру описывающую бар, сама структура по значению не передается, а значит включение и выключение количества элементов в баре практически ни как не сказывается на производительность. Заметь, я говорю о времени производительности самой страты, время заполнения массива я игнорирую.

Вот результат производительности, если в самой структуре оставить лишь одно значение:

 

Т.е. действительно, время на развертывание облегченной структуры, состоящий из одного значения long сократилось в разы, с 9 секунд до 2.35, но время самого исполнения  осталось почти таким же (даже чуть увеличилось, потому что в проверке if я стал вызывать rand()). Если движок, делегирует выполнение страте, что в реальности и происходит, время выполнения становится еще больше, и размер структуры описывающий бар, здесь абсолютно не причем.

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

 
C-4:

Т.е. действительно, время на развертывание облегченной структуры, состоящий из одного значения long сократилось в разы, с 9 секунд до 2.35, но время самого исполнения  осталось почти таким же

А если на 8 (ядер) поделить?
 
TheXpert:
А если на 8 (ядер) поделить?
Если поделить, достигнуть скорости в 100 000 000 баров можно, но все равно, мы рассуждаем слишком абстрактно и умозрительно. В реальном тестере, по любому, будут затраты на вызовы функций, развертывание и чтение данных с диска, математические расчеты внутри стратегий, передачу сигналов на покупку и продажу, запись и хранение промежуточных данных и много, много чего еще. Один единственный вызов функции TradeSystem() в первом примере увеличил время выполнения стратегии на 40%, несколько таких вызовов, более менее серьезный расчет и производительность упадет на порядок. Поэтому даже разделив результат на 8 мы лишь приблизимся к заявленному пределу, но ведь еще и было заявлено, что он был достигнут как бы с полпинка, не программистом, всего часов за 5. И то, мы еще долго не узнаем, имел ли в виду hrenfx производительность в многопоточном или однопоточном режиме.
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
TheXpert:
А если на 8 (ядер) поделить?
Не, у hrenfix'a  тестер однопоточный, у него в посте это прописано.
C-4:

Кое что из кодов hrenfx мне действительно попадалось - код очень качественный, ничего не могу сказать. Кое что до сих пор использую. Но не надо мешать мух с котлетами. Вот и ты как и герика пишешь даже не разобравшись в предложенном мною тесте. Толи от отсутствия глубоких знаний по Си, толи еще почему-то вы делаете упор на то, что один бар для hrenfx'а это только два целочисленных long. В реальности, мы передаем указатель на структуру описывающую бар, сама структура по значению не передается, а значит включение и выключение количества элементов в баре практически ни как не сказывается на производительность. Заметь, я говорю о времени производительности самой страты, время заполнения массива я игнорирую.

Вот результат производительности, если в самой структуре оставить лишь одно значение:

 

Т.е. действительно, время на развертывание облегченной структуры, состоящий из одного значения long сократилось в разы, с 9 секунд до 2.35, но время самого исполнения  осталось почти таким же (даже чуть увеличилось, потому что в проверке if я стал вызывать rand()). Если движок, делегирует выполнение страте, что в реальности и происходит, время выполнения становится еще больше, и размер структуры описывающий бар, здесь абсолютно не причем.

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

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

Указанная Иваном производительность близка к реальной, для лёгких стратегий, и она вполне мотивирует написание простеньких "считалок" под каждую свою стратежку.

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

 
C-4:
  не программистом, всего часов за 5. 
Не помню , что он говорил , что не программист , давно тут известен как раз как программист в т.ч.
 
MetaDriver:
Не, у hrenfix'a  тестер однопоточный, у него в посте это прописано.
У него там же написано как распарралеливать.
Причина обращения: