Учебный шаблон советника

stawros45

Активный участник
Публикация статьи « Написать сверхприбыльный советник – это очень просто», задача которой было доказать, что написать так называемый «сверхприбыльный»советник с прибыльностью до 200% в месяц достаточно просто и по силам любому, хоть немного знакомому с языком MQL4,вызвала нешуточный интерес торгующей публики. Однако не у всех интересующихся есть желание и время копаться в учебниках по MQL и писать советник самому. Оно и понятно . Время – деньги, а деньги это сэкономленное время. Для этой категории интересующихся можем сообщить, что этот учебный шаблон советника выложен на нашем сайте .Там он выложен в качестве учебного материала с открытым кодом ,доступным для изучения и дальнейшего совершенствования,ввода дополнительных критериев и т.п ., по скромной цене обыкновенного учебника, а не дорогостоящего заумного «сверхприбыльного» советника.
 
Последнее редактирование модератором:

_Fatal_

Активный участник
Публикация статьи « Написать сверхприбыльный советник – это очень просто», задача которой было доказать, что написать так называемый «сверхприбыльный»советник с прибыльностью до 200% в месяц достаточно просто и по силам любому, хоть немного знакомому с языком MQL4,вызвала нешуточный интерес торгующей публики. Однако не у всех интересующихся есть желание и время копаться в учебниках по MQL и писать советник самому. Оно и понятно . Время – деньги, а деньги это сэкономленное время. Для этой категории интересующихся можем сообщить, что этот учебный шаблон советника выложен на нашем сайте .Там он выложен в качестве учебного материала с открытым кодом ,доступным для изучения и дальнейшего совершенствования,ввода дополнительных критериев и т.п ., по скромной цене обыкновенного учебника, а не дорогостоящего заумного «сверхприбыльного» советника.


Просадка больше начального депо, при зхапуске на определённом участке сольет, и еще вопросик покупая вот это "Учебный шаблон советника 5" там будет код рабочего советника?
 

Вложения

  • сов.JPG
    сов.JPG
    114,8 КБ · Просмотры: 55
Последнее редактирование модератором:

stawros45

Активный участник
Это код того самого советника, по которому представлены графики и отчеты за январь и полгода в статье « Написать сверхприбыльный советник – это очень просто»
 

stawros45

Активный участник
Просадка больше начального депо, при запуске на определённом участке сольет
Против этого есть простое противоядие .По видимому там в настройках был просто установлен слишком большой лот,без учета волатильности рынка.Значит на высоковолатильном рынке,который был характерен для прошедшего полугодия, надо брать лот поменьше.Для сокращения рисков.В настройках по видимому не была учтена эта азбучная истина. Если установить лот не 1.0, а например 0.5, то и просадка уменьшится в два раза и слива не будет, а восходящий характер графика прибыльности сохранится.
 

Вложения

  • StrategyTester-v1-5-2.rar
    12,9 КБ · Просмотры: 25
  • StrategyTester-v1-5-2.gif
    StrategyTester-v1-5-2.gif
    7,3 КБ · Просмотры: 25
Последнее редактирование:

_Fatal_

Активный участник
Видимо где то ошибка у вас, при установке параметра Fixlot=false даже при параметре prc=1 советник сыпит ABC_Expert_v1 AUDUSD,H1: invalid lots amount for OrderSend function
ABC_Expert_v1 AUDUSD,H1: OrderSend error 4051
 

_Fatal_

Активный участник
и еще вопрос, ка кдобавить трайлинг стоп ордеров
 

stawros45

Активный участник
Разберемся.Но сразу могу сказать ,что при прогоне в тестере переменный лот уменьшал прибыльность на 50%.Это от того, что кривая роста прибыли имеет ступенчатый характер.При фиксированном лоте примененный прием открытия по 6 ордеров приводит к тому, что средняя прибыльность ордеров в 2-3 раза превышает среднюю убыточность и график ступеньками идет вверх.А вот лот в проценте от депозита при таком характере графика не имеет смысла,так как потери от закрытия по стоп-лоссам (ступеньки вниз)с ростом депозита и соответственным резким ростом лота, тоже резко возрастают,средний размер прибыльной сделки выравнивается с размером убыточной, что резко уменьшает итоговую прибыль по сравнению с фиксированным лотом.Этот блок был вставлен из другого советника для эксперимента.Но прогнав советник в тестере и убедившись, что лот в проценте от депозита в данном случае не имеет смысла,я его просто забыл удалить. Что касается причины почему тестер лепит ошибку,то обратите внимание на то, что в журнале пишет тестер до запуска советника .Если он пишет об ошибке получения данных от дата-центра то дело не в советнике.Возможно, что в некоторых терминалах по выходным дням дата-центр работает не в полном объеме.Может в этом причина.
 
Последнее редактирование:

_Fatal_

Активный участник
Разберемся.Но сразу могу сказать ,что при прогоне в тестере переменный лот уменьшал прибыльность на 50%.Это от того, что кривая роста прибыли имеет ступенчатый характер.При фиксированном лоте примененный прием открытия по 6 ордеров приводит к тому, что средняя прибыльность ордеров в 2-3 раза превышает среднюю убыточность и график ступеньками идет вверх.А вот лот в проценте от депозита при таком характере графика не имеет смысла,так как потери от закрытия по стоп-лоссам (ступеньки вниз)с ростом депозита и соответственным резким ростом лота, тоже резко возрастают,средний размер прибыльной сделки выравнивается с размером убыточной, что резко уменьшает итоговую прибыль по сравнению с фиксированным лотом.Этот блок был вставлен из другого советника для эксперимента.Но прогнав советник в тестере и убедившись, что лот в проценте от депозита в данном случае не имеет смысла,я его просто забыл удалить. Что касается причины почему тестер лепит ошибку,то обратите внимание на то, что в журнале пишет тестер до запуска советника .Если он пишет об ошибке получения данных от дата-центра то дело не в советнике.Возможно, что в некоторых терминалах по выходным дням дата-центр работает не в полном объеме.Может в этом причина.
спс, спросил про данную ошибку в соответсвующей ветке форума, косяк в коде, а на счет трелинга, я думаю будет уместно например 2 ордера закрылись у нас по профиту, дальше цена пошла не в нашу сторону и 4 лота закрываються по лосю, а если вставить трейлинг стоп то оставшиеся 4 лота не закроются по лосю а закроются в +, к сожалению я в програмировании не шарю и поэтому не знаю как это сделать. И еще 1 впоросик, я так понимаю параметры индикаторов были подобраны именно под AUDUSD? потомучто на других парах льет.
 
Последнее редактирование:

_Fatal_

Активный участник
ну еще 1 вопросик, при компиляции тут варнинг выскакивает
if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES));
empty controlled statement found ABC_Expert_v1.mq4 2290 52
38d7dc8a3c942f955accebd8863ca136.png
 
Последнее редактирование модератором:

_Fatal_

Активный участник
Вынес в настройки период RSI и кол-во фракталов, на других парах стала лучше проходить
 

stawros45

Активный участник
Я разобрался в том, почему советник дает ошибку при переменном лоте.Надо в блоке определения величины лота перенести строку MnLot1 = prc*Blc/100; на несколько строк вверх и поставить ее сразу за строкой Blc=AccountBalance();
Дело в том, что в первоначальном варианте советника строка MnLot1 = prc*Blc/100; была вписана 2 раза - первый раз в самом начале кода и второй раз в блоке определения величины лота. Поэтому ее место в этом блоке не имело особого значения, ведь эта переменная MnLot1 получала свое значение еще в начале кода.Но после того как код советника перед публикацией был почищен от лишнего мусора, эта строка вначале кода была удалена,место повтора этой строки в блоке определения величины лота приобрело важное значение и тестер начал давать сообщение об ошибке. короче код блока должен выглядеть так:
if(FixLot==true)
{
Lot=lotf;
}
if(FixLot==false)
{
Blc=AccountBalance();
MnLot1 = prc*Blc/100;
MinLot = MarketInfo( Pair,MODE_MINLOT);
MaxLot = MarketInfo( Pair,MODE_MAXLOT);
if(MinLot==0.1)
{
MnLot2 = MnLot1/100;
}
if(MinLot==0.01)
{
MnLot2 = MnLot1/10;
}
Lot=MnLot2*MinLot;
if(Lot>MaxLot)
{
Lot = MaxLot;
}
}
И все теперь работает.Но как я и говорил раньше применение переменного лота в проценте от депозита в советнике этого типа не имеет смысла. прибыльность уменьшается .Вот график при лоте в 5% от депозита.Видно , что прибыльность значительно уменьшается по сравнению с фиксированным лотом.Почему это происходит я уже говорил.Так что этот блок можно просто удалить.
 

Вложения

  • StrategyTester-v1-5-5.gif
    StrategyTester-v1-5-5.gif
    8 КБ · Просмотры: 19
Последнее редактирование:

_Fatal_

Активный участник
А что насчет трейлинга? и насчет варнинга
 

stawros45

Активный участник
и еще вопрос, как добавить трайлинг стоп ордеров
Добавить можно перенеся код трейлинг-стопа из скрипта, устанавливающего трейлинг-стоп.Таких скриптов много на сайте mql5.com в разделе code basa MT4. Но по опыту могу сказать, что наличие трейлинг-стопа прибыльность как правило не увеличивает,так как предполагается, что он будет меньше стоп-лосса, а значит будет и закрывать раньше не только убыточные, но и прибыльные сделки при незначительных коррекциях, а значит не только уменьшать потери от стоп-лосса, но и уменьшать размер прибыльных сделок.И еще неизвестно что хуже.А код при этом значительно усложнится, ведь ордеров не один , а шесть.
 

stawros45

Активный участник
А что насчет трейлинга? и насчет варнинга

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

Советник , как сказано в статье , написан для пары AUDUSD и для таймфрейма Н1.Эта пара отличается малой волатильностью, там как правило не бывает резкой реакции на новости, слухи и панику на бирже.Можно сказать, что она больше всех колеблется в соответствии с законами графического и свечного анализа. Применять советник на других парах , отличающихся повышенной волатильностью типа EURUSD(украинский кризис, греческие долги,QE) или пары с GBP,который традиционно реагирует резко на каждый чих на бирже, не имеет смысла.
 
Последнее редактирование:

_Fatal_

Активный участник
Добавить можно перенеся код трейлинг-стопа из скрипта, устанавливающего трейлинг-стоп.Таких скриптов много на сайте mql5.com в разделе code basa MT4. Но по опыту могу сказать, что наличие трейлинг-стопа прибыльность как правило не увеличивает,так как предполагается, что он будет меньше стоп-лосса, а значит будет и закрывать раньше не только убыточные, но и прибыльные сделки при незначительных коррекциях, а значит не только уменьшать потери от стоп-лосса, но и уменьшать размер прибыльных сделок.И еще неизвестно что хуже.А код при этом значительно усложнится, ведь ордеров не один , а шесть.

согласен, но если врубать трейлинг стоп только для последних 3 ордеров например или 4, допустип 2 закрылись в профит а следующие уже пошли тралиться, я понимаю вам это не надо, ибо советник продан за бесценок.
 

stawros45

Активный участник
согласен, но если врубать трейлинг стоп только для последних 3 ордеров например или 4, допустип 2 закрылись в профит а следующие уже пошли тралиться
Не думаю,что это принесет значительный выигрыш.Ведь по трейлинг-стопу на незначительных корректировках меньше 30 пунктов(которые случаются сплошь и рядом) будут преждевременно закрываться ордера 3,4,5 с самым большим тейкпрофитом, которые собственно и обеспечивают превышение средней прибыльной сделки над убыточной в два-три раза и тем самым обеспечивают в итоге подъем кривой доходности.

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

На втором графике показано каков может быть при этом результат.Не трудно посчитать, что по дополнительным ордерам,открытым 9.09 в 16:00 выигрыш в этом случае составит 30+50+100+3х50=330 пунктов. По ордерам открытым 10.09 в 5:00 выигрыш будет 30+50=80 пунктов. В итоге плюс 410 пунктов. Общий итог 694+410=1104 пункта! Прибыль возросла почти на 60%, тренд использован на все сто,как говорится.
Вот этим и следует заняться.Есть перспектива. Результат такого усовершенствования шаблона советника сообщу в этой ветке и в статье на эту тему.
 

Вложения

  • AUDUSDH1-1.png
    AUDUSDH1-1.png
    60,8 КБ · Просмотры: 55
  • AUDUSDH1-2.png
    AUDUSDH1-2.png
    64,7 КБ · Просмотры: 39
Последнее редактирование:

stawros45

Активный участник
Идея высказанная мной в предыдущем посте ,применить в советнике лавинообразное открытие ордеров на больших трендах в момент, когда тренд продолжается после кратковременной корректировки получила практическую реализацию.Вариант шаблона советника с этим усовершенствованием за период аналогичный предыдущему с 1.09.2014 по 31.01.2015 показал отличные результаты - прибыль удвоилась и достигла 610% , коэффицент прибыльности возрос с 1.5 до 1.89.Этот вариант советника будет выложен для широкой публики там же на нашем сайте.
 

Вложения

  • StrategyTester-v2-5.gif
    StrategyTester-v2-5.gif
    6,8 КБ · Просмотры: 29
  • StrategyTester-v2-5.rar
    17,2 КБ · Просмотры: 16
Верх