Советник FST_ABB

Abb1963

Новичок форума
Есть интересная разработка, основанная на базе исходного кода первой версии Forex Setka Trader.
Советник работает в обе стороны рынка, может работать одновременно сериями ордеров в покупку и продажу,
используя настраиваемые сигналы нескольких индикаторов на различных таймфреймах:
EMA, CCI, RSI , АС+АО, по ценам закрытия последних баров (как в исходном коде).
ММ: используются не фиксированные лоты, а % риска в сделке от текущего уровня эквити.
В качестве ограничения риска используется понятие максимального и минимального риска в сделке в % от капитала,
а так же ограничение на открытие последующих колен сетки, если они не подтверждены выбранными сигналами.
ТП так же не фиксированные, используется алгоритм увеличения шага сетки в арифметической или геометрической прогрессии по задаваемым коэффициентам.
Реализована полноценная индикация всех параметров и сигналов.
Тестирование по GBPUSD за период с 2008 по 2012 год с оптимальными параметрами показало прохождение тестов на всех сильных трендах.
Результат за 2012 год:
Баров в истории 23168
Смоделировано тиков 45336
Начальный депозит 10000.00
Чистая прибыль 106522.47
Общая прибыль 135435.87
Общий убыток -28913.40
Прибыльность 4.68
Матожидание выигрыша 298.38
Абсолютная просадка 5961.13
Максимальная просадка 21009.83 (25.01%)
Относительная просадка 68.49% (8777.36)
Всего сделок 357
Кому интересна данная разработка, обращайтесь в личку.
Могу дать на тестирование.
 

Вложения

  • GBPUSD 2012 02 01.jpg
    GBPUSD 2012 02 01.jpg
    35,3 КБ · Просмотры: 236

grisly

Местный житель
ИИИИ? а где советник? похватстаться чтоли написал?
 

Abb1963

Новичок форума
ИИИИ? а где советник? похватстаться чтоли написал?

Нет, я не похвастаться хочу, а получить новые идеи для дальнейшей доработки. Советник только проходит тестирование на демках и мини-реале и постоянно дорабатывается.
В открытый доступ пока не готов выложить.
Для начала выложу параметры советника, по которым получен результат тестирования, выложенный выше:
extern bool UseMAGIC = FALSE; // 1 - учитываем только ордера, открытые советником, 0 - учитываем все ордера
//extern string t0 = "======== Основные параметры ========";
extern double MinRisk = 2; // Риск в сделке на первом колене % от капитала (при ММ=1)
extern double MaxRisk = 20; // Максимальный риск в сделке % от капитала (при ММ=1)
extern double MinRiskExponent = 1; // Коэффициент увеличения минимального риска по сигналам МА
extern double MaxRiskExponent = 1; // Коэффициент увеличения максимального риска по сигналам МА
extern int MaxOrders = 14; // количество колен
extern int MaxOrdersStopNextStep= 8; // Максимальное колено, после которого не открываются следующие, если сигналы не совпадают
extern double MultiLotsFactor = 1.5; // К-т увеличения лота
extern double StepOrders = 12.0; // Шаг ордеров
extern double TakeProfit = 26.0; // ТП по умолчанию
extern double Slippage = 3.0;
//extern string t1 = "============ Шаг сетки =============";
extern bool Grid_Ariphmetic = TRUE; //арифметический шар сетки / TP - нет
extern bool Grid_Multiplier = FALSE; //шаг умножением
extern double Grid_Ratio = 5; //коэффициент увеличения шага сетки
extern int MagicNumber = 200;
extern string t2 = "============== Сигналы =============";
extern bool UseSignal_MA = TRUE; //использовать сигналы по МА
extern int TimeFrame_MA = 240; // Рабочий таймфрейм для определения направления по MA
extern bool UseSignal_CCI = FALSE; // Фильтр входа по CCI.
extern int TimeFrame_CCI = 15; // Рабочий таймфрейм для определения направления по CCI
extern bool UseSignal_RSI = TRUE; // Фильтр входа по RSI.
extern int TimeFrame_RSI = 15; // Рабочий таймфрейм для определения направления по RSI
extern bool UseSignal_Bars = FALSE; //использовать сигналы по ценам закрытия баров
extern int TimeFrame_Bars = 15; // Рабочий таймфрейм для определения направления по ценам закрытия баров
extern bool UseSignal_AC_AO = FALSE; //использовать сигналы по индикаторам AC AO
extern int TimeFrame_AC_AO = 15; // Рабочий таймфрейм для определения направления по индикаторам AC AO
extern string t3 = "======= Параметры индикаторов ======";
extern int Period_MA1 = 21; // Период расчётной МА1
extern int Period_MA2 = 55; // Период расчётной МА2
extern int Period_MA3 = 200; // Период расчётной МА3
extern int Period_CCI = 16; // Период CCI фильтра.
extern int Filter_CCI_Min = -200; // Минимальный уровень CCI фильтра - СИГНАЛ в BUY
extern int Filter_CCI_Max = 200; // Максимальный уровень CCI фильтра - СИГНАЛ в SELL
extern int Period_RSI = 14; // Период RSI фильтра.
extern bool Logic_RSI = TRUE; // Логика работы RSI: TRUE -> Period_RSI < Filter_RSI_Min - BUY, Period_RSI > Filter_RSI_Max - SELL
// FALSE -> Period_RSI < Filter_RSI_Max, и если Period_RSI растет - BUY
// Period_RSI > Filter_RSI_Min, и если Period_RSI падает - SELL
extern int Filter_RSI_Min = 30; // Минимальный уровень RSI фильтра
extern int Filter_RSI_Max = 70; // Максимальный уровень RSI фильтра
extern string t4 = "============ Трейлинг ==============";
extern bool UseTrailing = FALSE;
extern double TrailStart = 38.0;
extern double TrailStop = 18.0;
extern string t5 = "====== Защита от стопаута ==========";
extern bool SafeEquityStopOut = FALSE; // Если 1 - закрываем убыточные позиции, если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern double SafeEquityRisk = 40; // Максимальный дродаун Эквити в % от Баланса, после которого все убыточные закрываются
int iCloseAllLossesByDrawDown = 1; // Если 1 - закрываем все убыточные позиции (0 - по одной), если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern string t6 = "====== Отображение информации ======";
extern bool IndicationAll = TRUE; // Вкл ВСЕЙ индикации
extern bool IndicationTopLeft = TRUE; // Вкл индикации в левом верхнем углу (P/L за периоды)
extern bool IndicationTopRight = FALSE; // Вкл индикации в правом верхнем углу (деньги)
extern bool IndicationBottomLeft = TRUE; // Вкл индикации в левом нижнем углу (основные параметры)
extern bool IndicationBottomRight= TRUE; // Вкл индикации в правом нижнем углу (открытые позиции)
extern int FontSize = 10; // Размер шрифта индикации
extern string t7 = "========= Настройка цветов =========";
extern bool UseColorBlackFon = TRUE; // Настройки цветов для темного фона
extern color ColorText = Silver; // Цвет текста
extern color ColorDemo = DarkTurquoise; // Цвет текста подписи демо-счета
extern color ColorReal = MediumSpringGreen; // Цвет текста подписи реального счета
extern color ColorProfit = LimeGreen; // Цвет прибыли
extern color ColorLoss = OrangeRed; // Цвет убытка
extern color СolorNeededLong = DeepSkyBlue; // Цвет текста нехватки ордеров в BUY
extern color СolorNeededShort = DeepPink; // Цвет текста нехватки ордеров в SELL
extern color СolorFullLock = LimeGreen; // Цвет текста BUY = SELL
extern string t8= "==== Индикатор прибыли i-Profit ====";
extern bool lCalcCurrentSymbol = TRUE; // 1 - учитываем только ордера по текущему символу, 0 - учитываем все ордера
extern int iCalcPercentProfit = 5; // Расчёт процента прибыли относительно:
// 0 - текущего баланса
// 1 - баланса на начало дня
// 2 - баланса на начало недели
// 3 - баланса на начало месяца
// 4 - баланса на начало квартала
// 5 - баланса на начало года
// 6 - расчет от суммы депозитов (без учета выводов средств) - моя доработка
extern int ShiftRow = 42; // Смещение текста по вертикали
extern int StepRow = 12; // Шаг смещения текста по вертикали
extern int ShiftColumn1 = 5; //130; // Координата X первой колонки
extern int ShiftColumn2 = 105; //280; // Координата X второй колонки
extern int ShiftColumn3 = 170; //340; // Координата X третьей колонки
Вид экрана терминала при работе советника:
 

Вложения

  • Terminal FST 1 09 2012 12 25 10-20.JPG
    Terminal FST 1 09 2012 12 25 10-20.JPG
    85,1 КБ · Просмотры: 430
Последнее редактирование модератором:

Abb1963

Новичок форума
ИИИИ? а где советник? похватстаться чтоли написал?

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

Выкладываю ex4 версию 1.11 для тестирования.
Параметры оптимизированы под GBPUSD на M15
_http://forum.tradelikeapro.ru/index.php?action=dlattach;topic=3384.0;attach=19465
 

Abb1963

Новичок форума
FST_ABB_1_11.Ex4 для тестирования
 

Вложения

  • FST_ABB 1_11.ex4
    77,8 КБ · Просмотры: 135

Kainfx

Местный житель
Нет, я не похвастаться хочу, а получить новые идеи для дальнейшей доработки. Советник только проходит тестирование на демках и мини-реале и постоянно дорабатывается.
В открытый доступ пока не готов выложить.
Для начала выложу параметры советника, по которым получен результат тестирования, выложенный выше:
extern bool UseMAGIC = FALSE; // 1 - учитываем только ордера, открытые советником, 0 - учитываем все ордера
//extern string t0 = "======== Основные параметры ========";
extern double MinRisk = 2; // Риск в сделке на первом колене % от капитала (при ММ=1)
extern double MaxRisk = 20; // Максимальный риск в сделке % от капитала (при ММ=1)
extern double MinRiskExponent = 1; // Коэффициент увеличения минимального риска по сигналам МА
extern double MaxRiskExponent = 1; // Коэффициент увеличения максимального риска по сигналам МА
extern int MaxOrders = 14; // количество колен
extern int MaxOrdersStopNextStep= 8; // Максимальное колено, после которого не открываются следующие, если сигналы не совпадают
extern double MultiLotsFactor = 1.5; // К-т увеличения лота
extern double StepOrders = 12.0; // Шаг ордеров
extern double TakeProfit = 26.0; // ТП по умолчанию
extern double Slippage = 3.0;
//extern string t1 = "============ Шаг сетки =============";
extern bool Grid_Ariphmetic = TRUE; //арифметический шар сетки / TP - нет
extern bool Grid_Multiplier = FALSE; //шаг умножением
extern double Grid_Ratio = 5; //коэффициент увеличения шага сетки
extern int MagicNumber = 200;
extern string t2 = "============== Сигналы =============";
extern bool UseSignal_MA = TRUE; //использовать сигналы по МА
extern int TimeFrame_MA = 240; // Рабочий таймфрейм для определения направления по MA
extern bool UseSignal_CCI = FALSE; // Фильтр входа по CCI.
extern int TimeFrame_CCI = 15; // Рабочий таймфрейм для определения направления по CCI
extern bool UseSignal_RSI = TRUE; // Фильтр входа по RSI.
extern int TimeFrame_RSI = 15; // Рабочий таймфрейм для определения направления по RSI
extern bool UseSignal_Bars = FALSE; //использовать сигналы по ценам закрытия баров
extern int TimeFrame_Bars = 15; // Рабочий таймфрейм для определения направления по ценам закрытия баров
extern bool UseSignal_AC_AO = FALSE; //использовать сигналы по индикаторам AC AO
extern int TimeFrame_AC_AO = 15; // Рабочий таймфрейм для определения направления по индикаторам AC AO
extern string t3 = "======= Параметры индикаторов ======";
extern int Period_MA1 = 21; // Период расчётной МА1
extern int Period_MA2 = 55; // Период расчётной МА2
extern int Period_MA3 = 200; // Период расчётной МА3
extern int Period_CCI = 16; // Период CCI фильтра.
extern int Filter_CCI_Min = -200; // Минимальный уровень CCI фильтра - СИГНАЛ в BUY
extern int Filter_CCI_Max = 200; // Максимальный уровень CCI фильтра - СИГНАЛ в SELL
extern int Period_RSI = 14; // Период RSI фильтра.
extern bool Logic_RSI = TRUE; // Логика работы RSI: TRUE -> Period_RSI < Filter_RSI_Min - BUY, Period_RSI > Filter_RSI_Max - SELL
// FALSE -> Period_RSI < Filter_RSI_Max, и если Period_RSI растет - BUY
// Period_RSI > Filter_RSI_Min, и если Period_RSI падает - SELL
extern int Filter_RSI_Min = 30; // Минимальный уровень RSI фильтра
extern int Filter_RSI_Max = 70; // Максимальный уровень RSI фильтра
extern string t4 = "============ Трейлинг ==============";
extern bool UseTrailing = FALSE;
extern double TrailStart = 38.0;
extern double TrailStop = 18.0;
extern string t5 = "====== Защита от стопаута ==========";
extern bool SafeEquityStopOut = FALSE; // Если 1 - закрываем убыточные позиции, если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern double SafeEquityRisk = 40; // Максимальный дродаун Эквити в % от Баланса, после которого все убыточные закрываются
int iCloseAllLossesByDrawDown = 1; // Если 1 - закрываем все убыточные позиции (0 - по одной), если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern string t6 = "====== Отображение информации ======";
extern bool IndicationAll = TRUE; // Вкл ВСЕЙ индикации
extern bool IndicationTopLeft = TRUE; // Вкл индикации в левом верхнем углу (P/L за периоды)
extern bool IndicationTopRight = FALSE; // Вкл индикации в правом верхнем углу (деньги)
extern bool IndicationBottomLeft = TRUE; // Вкл индикации в левом нижнем углу (основные параметры)
extern bool IndicationBottomRight= TRUE; // Вкл индикации в правом нижнем углу (открытые позиции)
extern int FontSize = 10; // Размер шрифта индикации
extern string t7 = "========= Настройка цветов =========";
extern bool UseColorBlackFon = TRUE; // Настройки цветов для темного фона
extern color ColorText = Silver; // Цвет текста
extern color ColorDemo = DarkTurquoise; // Цвет текста подписи демо-счета
extern color ColorReal = MediumSpringGreen; // Цвет текста подписи реального счета
extern color ColorProfit = LimeGreen; // Цвет прибыли
extern color ColorLoss = OrangeRed; // Цвет убытка
extern color СolorNeededLong = DeepSkyBlue; // Цвет текста нехватки ордеров в BUY
extern color СolorNeededShort = DeepPink; // Цвет текста нехватки ордеров в SELL
extern color СolorFullLock = LimeGreen; // Цвет текста BUY = SELL
extern string t8= "==== Индикатор прибыли i-Profit ====";
extern bool lCalcCurrentSymbol = TRUE; // 1 - учитываем только ордера по текущему символу, 0 - учитываем все ордера
extern int iCalcPercentProfit = 5; // Расчёт процента прибыли относительно:
// 0 - текущего баланса
// 1 - баланса на начало дня
// 2 - баланса на начало недели
// 3 - баланса на начало месяца
// 4 - баланса на начало квартала
// 5 - баланса на начало года
// 6 - расчет от суммы депозитов (без учета выводов средств) - моя доработка
extern int ShiftRow = 42; // Смещение текста по вертикали
extern int StepRow = 12; // Шаг смещения текста по вертикали
extern int ShiftColumn1 = 5; //130; // Координата X первой колонки
extern int ShiftColumn2 = 105; //280; // Координата X второй колонки
extern int ShiftColumn3 = 170; //340; // Координата X третьей колонки
Вид экрана терминала при работе советника:

...интересная идея для ТС, дивер на CCI, вход на RSI после пересечения.... СПАСИБО!!
 

grisly

Местный житель
Всех с наступающим новым годом!Чтобы профиты были каждый, а коляна иван сусанин в лес отвел на всегда!
 

Abb1963

Новичок форума
Прошла оптимизация по GBPUSD за период 2012.02.01-2013.01.25 c параметрами MinRisk = 1 MaxRisk = 20
Подборка сетов с низкими рисками (просадка < 30%)
NN Прибыль Сделок ПФ МО Просадка $ Просадка % MLF StepOrders TakeProfit Grid_Ratio
88 30899.22 312 4.47 99.04 10651.12 29.03% 1.8 17 24 1
123 29515.02 310 4.77 95.21 9022.02 25.40% 1.7 17 26 1
84 27997.45 314 4.29 89.16 9880.64 28.84% 1.8 17 23 1
39 23645.16 315 3.79 75.06 8888.07 29.03% 1.8 17 21 1
143 16927.75 275 3.56 61.56 5703.26 23.91% 2.1 20 20 3
Подборка сетов с пониженными рисками (> 30% просадка < 40%)
NN Прибыль Сделок ПФ МО Просадка $ Просадка % MLF StepOrders TakeProfit Grid_Ratio
375 31444.41 268 4.6 117.33 15751.7 39.84% 2.9 20 22 5
184 30564.32 327 4.42 93.47 13234.89 35.56% 1.8 11 25 5
116 28245.53 276 4.14 102.34 14015.68 39.21% 2.6 19 21 4
282 28235.2 376 4.04 75.09 13087.75 37.64% 1.6 10 22 2
382 20494.34 388 4.23 52.82 8571.34 35.56% 1.4 10 23 1
Более подробная информация - в приложенном файле
 

Вложения

  • Optimisation GBPUSD 2013 01 26.zip
    38 КБ · Просмотры: 148
Последнее редактирование:

DIMMKKA

Новичок форума
прогнал по тестам с Вашими настройками, результат приятно удивил, поставил на демо посмотрим как пойдет дело, результаты буду выкладывать
 

perke

Интересующийся
Возможно ли изменять размер лота? Каким параметром?
 

Abb1963

Новичок форума
Возможно ли изменять размер лота? Каким параметром?
Используется понятие риска в сделке в % от депозита
Параметры MinRisk и MaxRisk определяют максимальный и минимальный размер лота в % от Эквити.
В новой версии есть возможность торговли фиксированным лотом.
 

Abb1963

Новичок форума
Сайт разработчика: _http://abbforexexperts.ru/
 
Последнее редактирование модератором:

GhostWarrior

Элитный участник
на 5 знак переходит автоматически
да заметил, но почемуто на 5 знаке сливает с вашими настройками, даже когда отключаю ММ и первый лот равен 0.01 а депо 10 к 2012 январе сливает...альпари.
 

Вложения

  • Screenshot_2.jpg
    Screenshot_2.jpg
    49,7 КБ · Просмотры: 37
  • Screenshot_3.jpg
    Screenshot_3.jpg
    71,6 КБ · Просмотры: 33

Abb1963

Новичок форума
да заметил, но почемуто на 5 знаке сливает с вашими настройками, даже когда отключаю ММ и первый лот равен 0.01 а депо 10 к 2012 январе сливает...

В январе 2012 шел сильный безоткатный тренд по фунту,который опасен для любых мартинов.
Советую протестировать с февраля 2012 г.
На сайте выложено видео с тестированием советника с комментариями:
http://zalil.ru/34291251
 

Abb1963

Новичок форума
Начинается серия форвард-тестов новой версии FST 1.16.
Основные изменения:
1. Исправлено запаздывание при открытии ордеров (должны открываться во время)
2. Должна происходить автоматическая модификация ТП при закрытии руками одного или нескольких колен сетки (будет тестироваться)
3. Добавлен планировщик для ограничения работы по времени (начало и конец торговли: день недели, час и минута)
4. Добавлен параметр FreezeAfterTP, если TRUE - сетка не будет открывать новые сделки после срабатывания ТП
5. Добавлен параметр CloseAllOrders, если TRUE - автоматически закроются ВСЕ открытые ордера по текущей паре
6. Сделана обработка ошибок брокера при модификации ордеров (повышена надежность работы для реальных счетов)
7. Убраны лишние сигналы: остались MA на H1 и RSI на М15. ПРИ РАБОТЕ МА на H1 нет такого запаздывания сигналов как на H4.
Все сильные тренды последних месяцев при бэк-тестах проходятся хорошо. Даже в сентябре 2011 г. и январе 2012 г., а так же последние тренды марта-апреля 2013 г. тесты по фунту проходятся с очень агрессивными рисками 1%/100% - просадка около 70%, с рисками 0,5%/50% - просадка 44%.
Будет проверяться надежность новой версии и доведение ее до практического использования на реале.
Новые демки:
F4u 184522833 Инвестор: ixoe5ms Плечо: 1:500 Депозит 10000$ FST 1.16 GBPUSD Risk 1%/100%, 12/10 2.2 / 29 / 20 / 4
F4u 184522848 Инвестор: ozn5pjs Плечо: 1:500 Депозит 10000$ FST 1.16 GBPUSD Risk 0.5%/50%, 12/10 2.2 / 29 / 20 / 4
FST 1.16 EURUSD Risk 0.5%/50%, 12/10 1.7 / 16 / 21 / 5
Мониторинг будет подключен завтра.
Видео о тестировании новой версии:
_http://abbforexexperts.ru/wp-content/uploads/2013/04/FST_ABB-1.16-Test-GBPUSD-MAH1-Risk-1-100-2012-2013.zip
 

Вложения

  • Blog 2013 04 14 20-17 FST 1 16 GBPUSD MA=H1 RSI=15 Risk 1-100.JPG
    Blog 2013 04 14 20-17 FST 1 16 GBPUSD MA=H1 RSI=15 Risk 1-100.JPG
    53,2 КБ · Просмотры: 51
  • Blog 2013 04 14 20-36 FST 1 16 GBPUSD MA=H1 RSI=15 Risk 0,5-50.JPG
    Blog 2013 04 14 20-36 FST 1 16 GBPUSD MA=H1 RSI=15 Risk 0,5-50.JPG
    55,9 КБ · Просмотры: 50
Последнее редактирование модератором:
Верх