Советники: AK47_A1 - страница 2

 

да, не плохой советник, не плохой...

я без оптимизации прогнал на всех тиках

с 1.01.2000 по 5.01.2008 Евро\Йена на М5

Впечатляет.

Я не программер, но доработка нужна

 

у меня почемуто он нормально работает только до 29 ноября этого года потом просто провал и фсё никаких сделок дальше

 
stace:
Можно вашу версию посмотреть?
А то нету в этой версии чего то Демаркер период и WPR - period
Конечно могу выложить исправленный вариант. Но правильно было бы сначала спросить разрешение у автора.
В принципе изменения не существенны. Введены два новых внешних параметра, которые можно настраивать при старте советника.
И в коде, в том месте, где программа запрашивает:
demarkerv[ib] = iDeMarker(NULL, 0, DeMarkPer, ib) DeMarkPer - это и есть внешняя переменная. В оригинале стояла цифра 14
wprv[ib] = -iWPR(NULL, 0, WPR_Per, ib+1) / 100; WPR_Per- это есть внешняя переменная для настройки WPR. В оригинале стояла цифра 13
Объявить эти внешние переменные можно примерно так в начале программы
extern int DeMarkPer = 14;
extern int WPR_Per = 14;
 

Ну наверное уже вдоволь нахвалили автора, подняли рейтинг советника на сайте.

А теперь разрешите немного критики и пару конструктивных замечаний.

Начнем с конструктивных замечаний:

1. Изучение сделок позволяет выявить ряд четких ошибочных сделок:

1. Сделка открывается без проверки какое положение занимает текущая цена относительно челюсти аллигатора (синий мувинг).

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

2. Отсуствует временной промежуток (выдержка) между закрытием сделки и новым открытием в одну и ту же сторону.

Для примера: Если открыта длинная позиция, то при тейк профите около 100, как Вы понимаете, на EUR вы будете очень близки к суточному пику. Поэтому чаще всего сделка закрывается где- то на последнем подъеме. Далее, если этот подъем еще продолжается, советник открывает новую длинную позицию. А дальше лось... Подъем не поднимается выше первого Трейлинга и разворачивается на коррекцию. А так как Стоп лосс у данного советника большой, то и лось очень чувствительный.

Выводы и рекомендации:

1. Ввести проверку текущей цены относительно челюсти аллигатора и открывать сделки только в ту сторону по которую находится текущая цена.

Раз уж советник использует елементы Дедушки Вильямса, то можно быть последовательным и использовать другие елементы Вильямся, а именно АО и АС, как дополнительный фильтр, и открывать позиции в согласии с цветными рекомендациями дедушки Вильямса.

2. Ввести временную выдержку между закрытием сделки и открытием новой в том же направлении. Для минуток этот промежуток может составлять от 20 до 40 баров.

Общие критические замечания:

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

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

По моему мнению, автор будет (или уже сделал) более детально алгоритмизировать массив значений Демарка и WPR, так как более глубокий анализ этих значений позволить значительно улучшить точку входа.

 
Ставлю настройки на М1 EURNZD:
Lots=0
LotsRiskReductor=1
MaxOrders=3
MaxLots=1
TakeProfit=105
StopLoss=50
TrailingStop=70
SpanGator=1
SlipPage=3
DeMarkPer=54
WPR_Per=14

Не торгует:

16:29:26 2007.02.12 13:42 AK47_A1 EURNZD,M1: OrderSend error 138
16:29:26 2007.02.12 13:43 AK47_A1 EURNZD,M1: Alligator Jaw error = 138; desc = requote
16:29:26 2007.02.12 13:46 AK47_A1 EURNZD,M1: OrderSend error 138
16:29:26 2007.02.12 13:47 AK47_A1 EURNZD,M1: Alligator Jaw error = 138; desc = requote
16:29:26 2007.02.12 13:57 AK47_A1 EURNZD,M1: OrderSend error 138
16:29:26 2007.02.12 13:58 AK47_A1 EURNZD,M1: Alligator Jaw error = 138; desc = requote
16:29:26 2007.02.12 14:03 AK47_A1 EURNZD,M1: OrderSend error 138

Меняю SlipPage на 20:

 
Lukyanov:
Ставлю настройки на М1 EURNZD:
Lots=0
LotsRiskReductor=1
MaxOrders=3
MaxLots=1
TakeProfit=105
StopLoss=50
TrailingStop=70
SpanGator=1
SlipPage=3
DeMarkPer=54
WPR_Per=14

Правильно делает, что не торгует. Однако Вы правильно заметили, что дело тут в SlipPage.

Автор советника приравнял SlipPage к спреду валютной пары. Если не ошибаюсь у вашей пары спред 7 или 10 ( не знаю, проверьте). Поэтому ставьте в SlipPage спред Вашей пары.

Вы увеличили до 20. Ну уж это слишком.

Кроме того, перед началом сделайте оптимизацию параметров для Вашей пары, а уж потом тестируйте.

Чтобы не сильно загружать оптимизацию, используйте изменение следующих параметров:

1. Take Profit - от 30 до 150 шаг 10

2. Stop Loss - от 20 до 50 шаг 10

3. Trail Stop - от 30 до 100 шаг 10

4. Span Gato - от 0.5 до 6 шаг 0.5

5. Demarker - от 10 до 75 шаг 5

6. WPR - от 10 до 75 шаг 5

Приготовьтесь, что оптимизация займет около часа, а то и больше (зависит от компа)

 
asystem2000:

Уважаемый andrewsoft!

Хотелось бы отметить Ваш высоко-классный подход к программированию. Не часто встретишь такой структурированный и красивый код. Наверное Вы профи программист и при реализации этого проекта без UML не обошлось.

Однако к Вам вопрос по коду:

Функция PrepareIndicators()

Отривок:

// DeMArker and WPR

lookback = 0;

ArrayResize(demarkerv, lookback+1);
ArrayResize(wprv, lookback+1);

for(ib=0; ib<=lookback; ib++)

и далее по тексту.

Мне что-то не совсем понятно использование lookback. Вы вначале его обнуляете. Затем настраиваете Массивы demarkerv и wprv на один элемент.

Далее в коде я встречал места где Вы обращаетесь к этим массивам для выборки min,max. Но что можно выбрать из одного элемента ?...

Возможно я что-то не понимаю. Проясните ситуации.

Тестирую сейчас Ваш советник на разных валютных парах. О результатах сообщу.

Всего наилучшего

-------------------

Обошлось без UML. не так страшен черт :)

lookback возник потому что я пробовал массивы значений демаркера и wpr разной длины, остановился на массиве из одного элемента.

Такой прием позволяет менять длину массива значений индикатора, передавая один параметр.

Чего я сам не понимаю, почему советник так чувствителен к этим значениям на минутном тренде. График этих индикаторов выглядит как случайная кривая.

Думаю нет смысла оптимизировать по демаркеру и wpr, их чуть тронь и все валится. Демаркер к примеру работает строго при 0.5. Поставьте хоть 0.49, советник сливает.

 
asystem2000:

Ну наверное уже вдоволь нахвалили автора, подняли рейтинг советника на сайте.

А теперь разрешите немного критики и пару конструктивных замечаний.

Начнем с конструктивных замечаний:

1. Изучение сделок позволяет выявить ряд четких ошибочных сделок:

1. Сделка открывается без проверки какое положение занимает текущая цена относительно челюсти аллигатора (синий мувинг).

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

2. Отсуствует временной промежуток (выдержка) между закрытием сделки и новым открытием в одну и ту же сторону.

Для примера: Если открыта длинная позиция, то при тейк профите около 100, как Вы понимаете, на EUR вы будете очень близки к суточному пику. Поэтому чаще всего сделка закрывается где- то на последнем подъеме. Далее, если этот подъем еще продолжается, советник открывает новую длинную позицию. А дальше лось... Подъем не поднимается выше первого Трейлинга и разворачивается на коррекцию. А так как Стоп лосс у данного советника большой, то и лось очень чувствительный.

Выводы и рекомендации:

1. Ввести проверку текущей цены относительно челюсти аллигатора и открывать сделки только в ту сторону по которую находится текущая цена.

Раз уж советник использует елементы Дедушки Вильямса, то можно быть последовательным и использовать другие елементы Вильямся, а именно АО и АС, как дополнительный фильтр, и открывать позиции в согласии с цветными рекомендациями дедушки Вильямса.

2. Ввести временную выдержку между закрытием сделки и открытием новой в том же направлении. Для минуток этот промежуток может составлять от 20 до 40 баров.

Общие критические замечания:

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

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

По моему мнению, автор будет (или уже сделал) более детально алгоритмизировать массив значений Демарка и WPR, так как более глубокий анализ этих значений позволить значительно улучшить точку входа.

спасибо за критику, похвалы мне особо не нужны, все ради наживы делается :)

пробовал аллигатор использовать строго по дедушке, фракталы там ниже или выше :) очень мало сделок открывает однако, нет риска - нет шампанского.

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

Хотя глядя на график, видно, что алигатор открытый наоборот (губы внизу, челюсть вверху) часто возникает при спадающем тренде. Пробовал такой вариант, сливает зараза.

Пока вижу только идею ограничить количество ордеров в одну сторону. Хотя и это пробовал, тоже не дает 100 % гарантии. Ведь может быть так, что ордер, открытый глуповато,

спасает от ордера, открытого по идиотски :)

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

 
jerrimix:
Идея тут одна может быть, ты смотришь только один тайм фрейм М1, попробуй смотреть сташий таймфрейм и вставать в рынок только по направлению тренда на старшике.


а старший какого уровня? если берешь M5-M15-H1 - то он быстро меняется,

а если выше, то его трудно определить

дневной тренд можно гарантированно выявить через дней 3-5, когда поезд уже ушел.

В том то вся и загвоздка .

 
asystem2000:
stace:
Можно вашу версию посмотреть?
А то нету в этой версии чего то Демаркер период и WPR - period
Конечно могу выложить исправленный вариант. Но правильно было бы сначала спросить разрешение у автора.
В принципе изменения не существенны. Введены два новых внешних параметра, которые можно настраивать при старте советника.
И в коде, в том месте, где программа запрашивает:
demarkerv[ib] = iDeMarker(NULL, 0, DeMarkPer, ib) DeMarkPer - это и есть внешняя переменная. В оригинале стояла цифра 14
wprv[ib] = -iWPR(NULL, 0, WPR_Per, ib+1) / 100; WPR_Per- это есть внешняя переменная для настройки WPR. В оригинале стояла цифра 13
Объявить эти внешние переменные можно примерно так в начале программы
extern int DeMarkPer = 14;
extern int WPR_Per = 14;

да ради бога, выкладывайте с параметрами, что тут такого

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

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

Пока нарыл из ответов 2 способа:

1) анализ вышележащих трендов

2) ограничить кол-во ордеров в одну сторону, паузы между ордерами

если еще что то в таком духе появится - пишите, буду благодарен :)