Автор Тема: Gelium_Trader 2017  (Прочитано 2267 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2016
« Ответ #30 : 27 Июль 2016, 08:24:24 »
Добавил удобные макросы с кнопками в ячейке с описанием в таблицу отчетов, чтобы можно было по колонкам делать подсветку цветом и сортировать результаты:



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

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2016
« Ответ #31 : 01 Август 2016, 16:11:04 »
Исправлен баг из-за которого не учитывались проскальзывания на открытии/закрытии позиций при подсчете баланса по годам. В итоге годовая прибыль показывалась больше, так как не учитывались проскальзывания.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2016
« Ответ #32 : 14 Ноябрь 2016, 14:19:50 »
Добавлены параметры для определения сильного импульса:

p_Impuls_Rollback(0), // Размер отката против движения, который сбрасывает флаг наличия импульса.
p_Impuls_Start(0), // Размер движения в одном направлении без откатов больше p_Impuls_Rollback, достижение которого включает флаг сильного импульса.
Дополнительный стоп StopQ на базе адаптивной скользящей Кауфмана Ama_Q.

Формула расчета скользящей:

Ama_Q = IFF(CurrentBar <= p_Period, p_Price, Ama_Q[1] + Power(((AbsValue(p_Price - p_Price[p_Period]) / Summation(AbsValue(p_Price - p_Price[1]),p_period) * .6022) + .0645),2) * (p_Price - Ama_Q[1]));
Параметры скользящего стопа на базе Ama_Q:

p_StopQ(0), // Число баров для расчета Ama_Q. Если значение меньше или равно нулю, StopQ не используется.
p_StopQ_Start(0), // Размер разницы между текущим значением Ama_Q и значением в момент последнего пересечения с ценой, по достижению которого начинает использоваться StopQ.
p_StopQ_Price(c), // Цена для расчета скользящей. Например, вместо Close можно ввести (H+L)/2.
p_StopQ_Impuls(0), // 0 - фильтр импульса игнорируется, 1 - использовать StopQ только при наличии сильного импульса, 2 - не использовать StopQ во время сильного импульса.

Аналогичные параметры для использования фильтра импульса добавлены для фиксированного профита и StopRT:

p_Profit_Impuls(0), // 0 - импульс игнорируется, 1 - использовать во время импульса, 2 - не использовать во время импульса
p_StopRT_Impuls(0), // 0 - импульс игнорируется, 1 - использовать во время импульса, 2 - не использовать во время импульса

Комбинирование разных способов фиксации прибыли, при наличии или отсутствия даже простейшего определения наличия импульса, может увеличить доходность стратегии.

В статье про индикаторы я написал свое мнение о пользе искажающих индикаторов для тех, кто торгует самостоятельно. Своё мнение не менял. Использование Ama_Q в механической стратегии не относится к самостоятельному прогнозированию рынка и служит инструментом, польза которого доказывается или опровергается с помощью расчетов и статистики.

Кроме добавления параметров внесены мелкие поправки.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2016
« Ответ #33 : 22 Ноябрь 2016, 15:56:17 »
Добавлен параметр:

p_RiscPrc_NoLossReserve = 0 - при расчете объема сделки учитывается возможный убыток по текущим открытым позициям, 1 - при расчете объема сделки учитывается только объем реализованной прибыли или убытка (старый режим по умолчанию).

По умолчанию теперь используется режим учета возможных убытков, так как при пирамидинге в этом режиме доходность возрастает, так как StopZero или StopQ не только ограничивают объем возможных убытков, но и добавляют гарантированную прибыль по открытым позициям к общему размеру депозита. Например, имеем три коротких позиции по евро, стопы которых уже передвинуты по StopQ на уровень гарантированной прибыли. При расчете очередной сделки эта прибыль добавляется к объему депозита, вследствие чего объем очередной сделки увеличивается. В случае получения убытка размер убытка составит процент RiscPrc. В случае прибыли, доход будет больше за счет реинвестирования гарантированной прибыли по еще открытым позициям.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2017
« Ответ #34 : 15 Январь 2017, 17:03:05 »
Сервисные возможности G_Trader замедляют работу стратегий в 4-20 раз по сравнению с минимальным кодом для генерации сигнала. Чем меньше лишних возможностей/переменных/массивов, тем быстрее работает отдельная стратегия на базе G_Trader. Самая быстрая работа сигнала - мизерный код без сервисной обвязки. Поэтому по возможности буду выкладывать отдельный стратегии на базе G_Trader с минимально необходимым набором функций, чтобы желающие делать оптимизацию на базе G_Trader минимально теряли в скорости.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2017
« Ответ #35 : 13 Февраль 2017, 07:57:18 »
Прилагаю версию, которая поддерживает исполнение ордеров с использованием тиковой базы. Рабочий лист с настройками прилагаю.
Тиковую базу и минутные данные ECN Альпари для золота можно скачать отсюда: http://download.gelium.net/120/xau-a-tick.7z
Это склейка доступных тиковых баз ECN Альпари. В настройках Puls нужно указать путь к папке с тиковыми базами. Текстовый файл минуток можно размещать где угодно.

В настройках стратегии нужно включить параметр p_TickBase=1 и прописать название тиковой базы p_TickBaseFile="xau-a-tick". Чарт надо построить на базе XAU-A-TICK.TXT. После первого подключения в серию Puls XHL_XAU-A-Tick-xxxx сохранятся параметры баров, нужные для установки ордеров на базе тиков. После этого сохранения ордера смогут ставится уже по тикам. Поэтому стратегию надо включить/выключить и после этого будет видна разница.

Пример без тиков:



То же самое, но уже с тиками:


Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2017
« Ответ #36 : 13 Февраль 2017, 10:13:41 »
Чуть более полная версия, с фильтром импульса и StopQ.

Оффлайн Gelium

  • Администратор
  • Сообщений: 6 310
    • Просмотр профиля
    • Gelium.net
Gelium_Trader 2017
« Ответ #37 : 06 Март 2017, 18:40:45 »
Поправки:

1. Исправлен баг при работе с p_MaxEntryCount=0.
2. Исправлен баг повторного открытия позиций с p_MaxEntryCount>1 из-за того, что иногда не запоминалось наличие уже закрытой прибыльной позиции по одному и тому же сигналу.
3. Добавлены мелкие улучшения для экспорта позиций по рынку в файлы сигнала *-mkt.
4. Поскольку стратегия не работает на последнем незакрытом баре, а в TS 9.1 есть баг с определением последнего бара в таком режиме работы стратегии, добавлена дополнительная проверка, чтобы не было повторного экспорта сигнала не на последнем актуальном баре.
5. Исправлен баг сброса числа ордеров при p_IgnoreMP=0.