Некоторые признаки правильных ТС - страница 13

 
Serqey Nikitin:

Почему не отталкиваться от основного признака - прибыли?  Кому нужна правильная функция, которую Вы проверили, но не дающая прибыли?   Это что - чистая наука?

Ну привяжите эту чистую науку к необходимым трейдеру свойствам - и это свойство ТОЛЬКО ПРИБЫЛЬ!...

Давайте привяжем. Постериорно, когда функция цена (время) уже известна. Одна валютная пара. Остается лишь выбрать моменты открытия и закрытия сделок такими, чтобы прибыль была наибольшей. Назначаем эти моменты так: в момент глобального минимума открываем покупку, в момент глобального максимума закрываем ее и тут же открываем продажу, которую закрываем в момент следующего глобального минимума. И так далее. Если ходы курса при этом заметно больше накладных расходов (спред, комиссия...), то можно еще вставить точки смены направления позиции на участке отката, закрыв на это время сделку и открыв противоположную. Тогда будем собирать всю возможную прибыль, больше ее нет.

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

 
Vladimir:

Давайте привяжем. Постериорно, когда функция цена (время) уже известна. Одна валютная пара. Остается лишь выбрать моменты открытия и закрытия сделок такими, чтобы прибыль была наибольшей. Назначаем эти моменты так: в момент глобального минимума открываем покупку, в момент глобального максимума закрываем ее и тут же открываем продажу, которую закрываем в момент следующего глобального минимума. И так далее. Если ходы курса при этом заметно больше накладных расходов (спред, комиссия...), то можно еще вставить точки смены направления позиции на участке отката, закрыв на это время сделку и открыв противоположную. Тогда будем собирать всю возможную прибыль, больше ее нет.

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

Не надо брать частный случай НАСТРОЙКИ ТС на одну пару.   Это называется подгонка под историю.  Выполняется достаточно просто...

Но эти настройки не всегда делают данную ТС  ПРАВИЛЬНОЙ!

ПРАВИЛЬНАЯ ТС - это когда настройки стратегии дают прибыль по одной паре, но эти же настройки без дополнительной оптимизации дают стратегии прибыль и на других парах.

Этого добиться достаточно сложно, но можно...  И в этом случае успех зависит от САМОЙ ИДЕИ, заложенной в стратегию, а не в те или иные котировки - правильные, не правильные или измененные по какому -либо условию...

 
Vladimir:

Давайте привяжем. Постериорно, когда функция цена (время) уже известна. Одна валютная пара. Остается лишь выбрать моменты открытия и закрытия сделок такими, чтобы прибыль была наибольшей. Назначаем эти моменты так: в момент глобального минимума открываем покупку, в момент глобального максимума закрываем ее и тут же открываем продажу, которую закрываем в момент следующего глобального минимума. И так далее. Если ходы курса при этом заметно больше накладных расходов (спред, комиссия...), то можно еще вставить точки смены направления позиции на участке отката, закрыв на это время сделку и открыв противоположную. Тогда будем собирать всю возможную прибыль, больше ее нет.

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

основная торговая задача (с точки зрения абстрактных функций) : в реальном времени определение экстремума и "его локальности". То есть дать "свисток"/оценку что почти-или-уже достигнут экстремум и до противоположного экстремума есть достаточный зазор и по цене и по времени.

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

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

 
Renat Akhtyamov:

Николай, показал бы итоговую фигуру,

хоть одним глазком глянуть....

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

Фигура вся в лесах стоит.

Но я ведь говорю о признаках идеальной правильной ТС, тех, к которым надо стремиться и к которой стремлюсь сам. 
Я здесь на форуме уже много говорил на эту тему.

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

Для правильной ТС нужны правильная структура данных, база их хранения и доступа к ним.

Текущая очень громоздка и неповоротлива для создания правильных ТС.

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

Вкратце могу объяснить.

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

Потом формируется база данных минутных баров но со структурой, где к значениям Open, Close, Hight и Low добавляетя еще 4 времени для каждого из этих событий. В моей реализации такая структура занимает примерно 13 байтов на бар. Это где-то в 5 раз компактнее по сравнению со структурой MqlRates (60 байт) и при этом более информативна. Это достигается благодаря тому что хранятся только приращения и для быстрого доступа и поиска существуют дополнительно индексные массивы.

Массив минутных баров MqlRates удаляем за ненадобностью. Массив тиков еще пока оставляем (это наше львинное сжирание оперативной памяти - сотни Мб - как правило до 1 Гб)

Такая база данных уже занимает в памяти не 100-200 Мб для всей истории, а 30-40 Мб для одного символа.

Из этой базы данных легко формируется таймфрейм любого периода за считаные миллисекунды, причем более информативные за счет того, что еще известно время Open, Close, Hight и Low.

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

После этого массив тиков тоже можно удалить и из базы данных размером 30-40 Мб формируем сжатую логарифически базу данных размером до 1 Мб. В этой базе данных находится полная картина на всю многолетнюю историю символа от текущего момента. Вначале идут пару тысяч тиков, которые плавно увеличиваются до недельных баров. По такому же принципу устроено наше зрение, когда мы смотрим на пейзаж. Чем ближе предметы пейзажа, тем они более детализированы, чем дальше, тем детализация меньше за ненадобностью. Кто знает строение глаза и колличество колбочек и палочек, тот понимает что картинка у человека с идеальным зрением это где-то 100 Мегапикселей.

После этого можно удалить базу в 30-40 Мб и оставляем только базу, которая весит меньше 1 Мб. 

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

Дальше по мере торговли добавляем в нашу базу данных тики, и переупаковываем ее каждые, скажем, 30.5 минут. Дополняем и обновляем многомерную таблицу характеристик символа.

Красота ведь - 1 Мб на символ с подробнейшей исторей. С этим как раз и можно создать правильную ТС, не зависящую от таймфреймов.

Разве я не прав?

Все цифры абсолютно реальные. 

 

Nikolai Semko:

Разве я не прав?

Вопрос - зачем для продакшна нужна система хранения всей истории? )
 
TheXpert:
Вопрос - зачем для продакшна нужна система хранения всей истории? )

Для правильной ТС.

Читаем внимательней. Вся система хранения занимает меньше 1 Мб.

ТС должна видеть всю историю.

В моей ТС так и происходит. Каждый тик - это распознание образов на всей истории от тиков до недель. Я добился времени гораздо меньше 1 миллисекунды на весь цикл распозная по всей истории за счет логаримфитического сжатия и безцикловых методов расчета.

 
Nikolai Semko:

Для правильной ТС.

принцип хранения данных никоим образом не относится к "правильности" ТС )

 
TheXpert:

принцип хранения данных никоим образом не относится к "правильности" ТС )

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

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

Никому ничего не навязываю и спорить не собираюсь

 
Nikolai Semko:

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

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

Никому ничего не навязываю и спорить не собираюсь

"правильность" и вообще что такое ТС понятия индивидуальные :-) 

насколько понял посыл топика - некие торговые системы как свод мат.формул и определение моментов купил/продал не должны быть привязаны к координатам (не зависят от момента времени, только от предыдущих движений ; и не зависят абсолютных значений, а от относительного размаха цен). Вот такое вот будем звать "правильным".

Но я не хочу это звать правильным, потому что если это про рынок, то это бред. Про абстракции - это свёртки.

Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nikolai Semko:

Речь о возможности построения правильной ТС.

@TheXpert специально берет слово "правильная" в кавычки. Когда создавал топик, не сумел предвидеть, что это слово вызовет столько высказываний совсем не по теме. Тот случай, когда сила слова сыграла не в положительную сторону. Переименовать уже не могу. Да и название другое придумать - в голову ничего не идет.

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