![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я пропустил параметр "length of the pattern" указания длины для числового паттерна (этот параметр используется только для режима оптимизации).
И сразу защита - если в режиме оптимизации выбран строковый тип паттерна - советник будет возвращать "INIT_PARAMETERS_INCORRECT"
Надо сразу все предусмотреть, что бы потом не переделывать.
....
Опят же если вернутся к паттерну "вечерняя звезда" то его можно рассматривать, как бычья-мелкая свеча-медвежья и как бычья-медвежье поглощение. То есть получается составной паттерн состоящий из бычьей свечи и медвежьего поглощения. А если все три свечи из паттерна суммировать то опять получается пин бар.
Позвольте мне вставить свои 5 копеек.
Такой задачи не ставилось, и предусмотреть сразу все невозможно, в таком случае теряется изначальная концепция, которая и была задумана как основная: пользователь составляет последовательность бычьих и медвежьих свечей, а программа ищет эти последовательности и торгует, зачем суммировать свечи в один паттерн?
Позвольте мне вставить свои 5 копеек.
Такой задачи не ставилось, и предусмотреть сразу все невозможно, в таком случае теряется изначальная концепция, которая и была задумана как основная: пользователь составляет последовательность бычьих и медвежьих свечей, а программа ищет эти последовательности и торгует, зачем суммировать свечи в один паттерн?
Зачем суммировать. Ну например для простоты модели. И вообще это было дано для примера.
Почему не возможно? Все часто встречающие комбинации японских свечей можно тем или иным способом закодировать. Другое дело, что 1-го бита (об этом я выше писал) не достаточно, надо минимум использовать 2 бита и их тоже не достаточно если не суммировать (упрощать) модель паттерна.
Пока Morse code version "1.003": можно вручную задавать строковое описание паттерна и даже прогонять в тестере одиночные проходы.
Программой будет пользоваться обычный пользователь, не программист (об этом было сказано выше и не один раз) - и для него "101" и "5" это две разные цифры, при этом для него "5" вообще никакой информации о взаимном расположении свеч не несёт, а вот "101" четко говорит "бычья, медвежья,бычья".
Что-то я не вполне пойму - тут программисты или лохи ?
Зачем что-то там переводить куда-то ???
Если нам нужен код 101 - то это обычное значение 5. Все. Какие проблемы ? Перевести мысленно десятичный в двоичный ???
Я подобные эксперименты проводил, только у меня свеча еще имела четыре размера - от маленького до большого. Соответственно, восемь вариантов свечей. И, стало быть, три бита. В паттерне пишем число (ulong) - сетка больше, чем на двадцатибарный паттерн.
Проблема, на мой взгляд, надуманна.
Вы сначала разберитесь а потом критикуйте. Вот вам на подумать задача:
Закодируйте числом int следующие комбинации свечей:
Подсказка: это разные комбинации.
Понял. Ну, тогда - строка символов и парсер. По-моему, самый гибкий вариант.
Еще раз: оптимизатор_не_оптимизирует_строковые_параметры. Как Вы будете искать комбинацию прибыльных паттернов без оптимизатора?
Если нужен оптимизатор - то, на мой взгляд, пользователь должен быть достаточно "подкован", чтобы перевести число в двоичный код (хотя бы с помощью обычного калькулятора Windows).
У вас, друзья, противоречивый запрос. Если пользователь такой дуб, что не в состоянии воспользоваться калькулятором для перевода двоичного кода в десятичный - то оптимизацию он не осилит в любом случае. Максимум - прогонит один раз, для нахождения наилучшего значения.
Если же пользователь достаточно продвинут, чтобы пользоваться оптимизацией - то входные параметры вполне разумно кодировать обычным беззнаковым лонгом,
Вы сначала разберитесь а потом критикуйте. Вот вам на подумать задача:
Закодируйте числом int следующие комбинации свечей:
Подсказка: это разные комбинации.
Более того - они различны по длине. Первая комбинация - включает в себя четыре шестиразрядных.
Вторая комбинация - включает в себя две шестиразрядных.
Соответственно, при оптимизации - просто брать 64 шестиразрядных комбинации.
Причем, последняя - является подмножеством первых двух вариантов, а предпоследняя - подмножеством первого варианта.
То есть, в момент регистрации последней комбинации - у нас должны одновременно опознаваться и вторая, и первая комбинация. На мой взгляд, это явно некорректный запрос.
Соответственно, при оптимизации - просто брать 64 шестиразрядных комбинации.
Вопрос: какова вероятность появления на рынке комбинации совпадающей с требуемой в 64 разрядах? Ответ: (1/2^64)*BarsCount. Т.е. с вероятностью близкой к 100% такой комбинации найдено не будет. Т.е. очевидно, что одно только число int или long не способно полностью описать паттерн, поэтому требуется дополнительный параметр, указывающий длину паттерна.
Рассуждая такими небольшими шагами Вы скоро придете к тому, что было озвучено мной еще на второй странице.