Авторское - страница 7

 

Возможно, плохо уловил идею (по коду), т.к. слабо разбираюсь в синтаксисе MQL5:

CopyBuffer(handle_sampler,0,bars_future,1,sigbuy); // получаем результат паттерна для покупки
CopyBuffer(handle_sampler,1,bars_future,1,sigsell); // получаем результат паттерна для продажи
Особенно, когда касается дело индикаторов и их буфферов. Можете переписать логику без этих наворотов?
Документация по MQL5: Основы языка / Синтаксис
Документация по MQL5: Основы языка / Синтаксис
  • www.mql5.com
Основы языка / Синтаксис - Документация по MQL5
 
hrenfx:

Возможно, плохо уловил идею (по коду), т.к. слабо разбираюсь в синтаксисе MQL5:

Особенно, когда касается дело индикаторов и их буфферов. Можете переписать логику без этих наворотов?

Без этого сложно будет, этот индикатор ранее в базу выкладывал. Правда немного модифицировал с тех пор, но смысл думаю будет понятен.

Там несколько способов получения сигналов и разные настройки, в советнике настройки тоже присутствуют, это секция -----параметры учителя (sampler)-----

 
Понял теперь, спасибо. Выходит, идею совсем другую себе представлял.
 
hrenfx:
Понял теперь, спасибо. Выходит, идею совсем другую себе представлял.

Какую другую? Может достаточно будет поменять параметры в настройках. Настройки очень гибкие.

Грубо говоря это попытка научить советника торговать как на картинке, где индикатор.

И речь в ветке вроде о том же шла.  

Как представляете себе принадлежность паттерна к какому либо классу? Если есть конкретное предложение - сделаю без индикатора. 

 

В моем представлении обучения, как такового нет. Есть всего один массив Patterns[index], элементы которого увеличиваются на единицу каждый раз, как index нового бара меняет значение. Забывчивость на каждом баре также учитываем по всему массиву.

В итоге получаем некоторый набор наиболее частых паттернов.

Массив PatternsNorm[]  - нормализация Patterns[] (среднее (элементов > MinPorog) к нулю, СКО = 1).

Далее по сигнальному порогу PatternsNorm[index] совершаем торговые действия.

 
her.human:

Понятно.

СОМ распределяет паттерны по каким то своим признакам. Как их потом интерпретировать для мне пока понятно.

Даже посчитав все паттерны на истории непонятно, что делать с ними потом. Если текуший паттерн, на истории показывал в большинстве случаев на покупку - покупать или наоборот продавать.

 

Делал советника (в прицепе).  

Что делает советник:

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

  всего получилось 2^10=1024 различных комбинаций сигналов, отдельно складываются сигналы на покупку и продажу для каждого паттерна,

- старые паттерны постепенно забываются, по мере поступления новых (забывание регулируется в настройках), 

- вычисляется отношения сигналов для каждого паттерна, типа какой перевешивает (покупка или продажа), формируется сигнал в диапазоне от -1 до +1,

- далее принимается решение вход, выход, переворот, 

  (здесь пока не знаю как лучше  сделать, может чего подскажете как лучше),

В общем считает паттерны прямым путем без ГА и обобщений СОМ. 

 

Можно добавить вариантов сигналов, количество сигналов на входе (увеличить  размер входного вектора), или даже на вход подать выходы из СОМа. 

Кому не лень попробуйте, может возникнут мысли по улучшению.

Красивые картинки рисовать не буду, сами попробуйте.) 


 

 

Спасибо господин Human.

А откуда берутся трактовки сигналов "лонг" и "шорт", вы сами их прописали в коде? 

 
her.human:
Можно подробнее, как вам удалось определить  35/40/25%? И что это может дать для торговли в будущем?

Определить удалось при помощи индикатора) Но, дело даже не в цифрах - должен быть фильтр по состоянию рынка (рабочей пары), чтобы не обучать НС поиску трендового паттерна на участке СБ или флетовом. Либо не торговать на СБ. Идентифицировать состояние можно и НС - как у Ивана, например, Кохоненом.

Как-то так. Все ИМХО.

 
hrenfx:

В моем представлении обучения, как такового нет. Есть всего один массив Patterns[index], элементы которого увеличиваются на единицу каждый раз, как index нового бара меняет значение. Забывчивость на каждом баре также учитываем по всему массиву.

В итоге получаем некоторый набор наиболее частых паттернов.

Массив PatternsNorm[]  - нормализация Patterns[] (среднее (элементов > MinPorog) к нулю, СКО = 1).

Далее по сигнальному порогу PatternsNorm[index] совершаем торговые действия.

Похоже вы не разобрались с советником, именно это он и делает.
 

Ага, не разобрался. Хотя тогда не понятна эта мысль:

her.human:

Без этого сложно будет, этот индикатор ранее в базу выкладывал. Правда немного модифицировал с тех пор, но смысл думаю будет понятен.

Вроде, по моему описанию безындикаторные советник написать очень просто. Да и подход немного иной - нет arr_buy и arr_sell.
 
hrenfx:

Ага, не разобрался. Хотя тогда не понятна эта мысль:

Вроде, по моему описанию безындикаторные советник написать очень просто. Да и подход немного иной - нет arr_buy и arr_sell.

Допустим нашли наиболее  частый паттерн, о чем говорит этот паттерн? Что надо делать дальше, покупать или продавать?

Без разделения на buy и sell невозможно посчитать общее количество паттернов а следовательно и среднее.

Индикатор только упрощает код, дает возможность визуального контроля, и расширяет возможности, ничего лишнего он не делает.  

Вы предлагаете всего один способ интерпретации паттернов, с помощью индикатора - сразу несколько способов плюс дополнительные настройки.

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

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
Причина обращения: