hrenfx / Публикации
Коды
Dejavu для MetaTrader 4
Поиск паттернов. Лишь вершина айсберга
EXP_Relogin для MetaTrader 4
Переподключение к торговому счету по заданному событию в журнале терминала
OptimalCommission для MetaTrader 4
Вычисление наиболее выгодной для брокера комиссии
FastHistory для MetaTrader 4
Увеличение скорости тестирования/оптимизации в разы и десятки раз. Нелинейное преобразование
IND_Potential для MetaTrader 4
Потенциальная прибыль - альтернативный критерий оценки торговых условий
Correlations2 для MetaTrader 4
Нахождение и сортировка наиболее стабильной корреляции для всех парных сочетаний символов из "Обзора рынка"
GetAccountGain для MetaTrader 4
Наиболее корректный расчет производительности (Gain) торгующей на счете системы
GetTickerHistory для MetaTrader 4
Получение в MT4 исторических данных почти по любому фин. инструменту мира
Recycle2 для MetaTrader 4
Лишь вершина айсберга: Статистический арбитраж
IND_Correlation для MetaTrader 4
Мгновенный расчет и визуализация динамики изменения коэффициента корреляции (автокорреляции)
Форум
Алгоритм ЗигЗага одновременно по OHLC-барам Bid и Ask
Речь пойдет о ЗигЗаге всего с одним входным параметром - размер колена не меньше N (пипсов или процентов - не суть важно). Для удобства назовем множество точек ЗигЗага через ZZ(N) . Очевидно, если строить ЗигЗаг по тиковым данным, где вершинки будут браться из значения Bid-цены, а низинки -
Интерактивный индикаторный буффер
Позволил себе развить идею изменения входных параметров индикатора на ходу : индикатор не только пересчитывается на ходу, но и визуально трансформируется . Для реализации задумки написал универсальный интерактивный индикаторный буффер. В приложенном архиве исходники + пример двух интерактивных
Событие CHARTEVENT_OBJECT_DRAG в индикаторах
Из справки : CHARTEVENT_OBJECT_DRAG - Перетаскивание графического объекта. Хочется двигать графический объект и получать соответствующее событие. Однако, оно в индикаторе генерируется только тогда, когда мышкой отпускаешь объект. Как обойти ограничение без древних костылей, чтобы результат стал
return всегда (нужно ли всегда?) вызывает оператор "=" - возникает проблема его перегрузки
Проблема в том, что при перегрузке (не переопределении) оператора "=" зачем-то прекращает существовать соответствующий оператор разработчиков, который переопределить универсально невозможно. Проще всего показать на примере: #property strict struct STRUCT { int Tmp; const STRUCT operator -( void
Терминал не закачивает историю котировок
Народ, поделитесь рабочим не геморройным рецептом получения в терминале истории котировок! Мягко-говоря, меня утомило это форменное издевательство работы терминала на протяжении многих лет. Пример: Простая рабочая ситуация. Написал ТС, хочу исследовать ее на различных котировках. Например, решил
Возможность ускорения работы ArrayCopy
ArrayCopy реализована не оптимально, отсюда появляются возможности иногда существенно ускорить ее работу. Демонстрация: #property strict int Benchmark( const bool Flag ) { double Dest[]; double Src[]; ArrayResize (Dest, 1000000 ); ArrayResize (Src, ArraySize (Dest) + 1 ); const int
Неудобства с template-перегрузками
Довольно часто сталкиваюсь с неудобством, которое проще всего показать на примере: #property strict struct STRUCT { int Tmp; }; class CLASS { private : int Tmp[]; public : const int operator []( const int Pos ) const { return ( this .Tmp[Pos]); } }; template < typename T> void Func1(
Некомпилируемый корректный код, вызывающий краш метаэдитора
См. комментарии в коде. Ошибки компиляции и сам краш воспроизводятся на Win XP SP3 x86, Win7 SP1 x64, metaeditor build 1150-1163 (другие не пробовал). Код, конечно, странноватый, но сделан специально для демонстрации сразу двух ошибок компиляции и краш, в качестве бонуса. Если не воспроизводится
Свопы
Прочел замечательную статью от TheXpert. Огромная благодарность автору за доходчивое изложение! Форки, как минимум, заставляют мыслить о вещах, о которых мало кто задумывался когда-либо. В данном случае речь идет об устройстве маржинальной торговли и, соответственно, свопов. Сам сдулся описывать
Анализ сантимента
Обратил внимание на фриланс-ТЗ . После чего посмотрел быстро контекст. Понятно, что парсер написать элементарно, и даже появилось желание наваять себе сборщик для последующего анализа. Однако, нашел толковые мысли и уже собранную историю здесь (M5 за год, но не все данные - см. ниже). Сам еще не