Советник Иван (Ivan)- лучшее от илан'а - страница 7

 

И сразу тест:

Ivan 1.004 USDJPY, M15, период с 2016.01.01 по 2017.02.13

Ivan 1.004 USDJPY, M15, период с 2016.01.01 по 2017.02.13 

 
Vladimir Karputov:

Сделаю пока вот так: Ivan version "1.003": 

  • Логика установки уровня Stop Loss: 
    • есть минимальный отступ - 50 старорежимных пунктов.
    • Stopp Loss принимает значение iMA(36) MODE_SMMA на нулевом баре (период усреднения вынесён во входные параметры).
    • если уровень Stop Loss окажется ближе к текущей цене, чем минимальный отступ - то открытие позиции не произойдёт
  • Виртуальный стоп лосс заменён на трейлинг позиций.

Работа кипит - хорошо!

Однако, я пока не могу посмотреть труды - у меня нет счета для Форекс - только от биржы, а там не работает советник.

 
-Aleks-:

Работа кипит - хорошо!

Однако, я пока не могу посмотреть труды - у меня нет счета для Форекс - только от биржы, а там не работает советник.

А у меня наоборот: сейчас нет подключения в бирже. И будет как в той песне:

Ты морячка я моряк

Ты рыбачка я рыбак

Ты на суше я на море

Мы не встретимся никак 

Добавлено:

торговля на бирже - это неттинг, а мой советник только для хеджинга (о чем сообщает распринтовка ошибки при попытке подключится к биржевому счёту:

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Поэтому биржа пролетает со свистом фанеры на Парижом. 

 
Vladimir Karputov:

А у меня наоборот: сейчас нет подключения в бирже. И будет как в той песне:

Ты морячка я моряк

Ты рыбачка я рыбак

Ты на суше я на море

Мы не встретимся никак 

Добавлено:

торговля на бирже - это неттинг, а мой советник только для хеджинга (о чем сообщает распринтовка ошибки при попытке подключится к биржевому счёту:

2017.02.26 14:04:05.291 2016.04.22 00:00:00   Hedging only!

). Поэтому биржа пролетает со свистом фанеры на Парижом. 

Да, я понял, просто Форекс у меня под четверкой - может попозже открою на демке - покидаю идеи, если будет интересно.

 
Научите меня кто нибудь с профи пользоваться тестером мт5, в голосовом режиме много времени не отберу.
 
Vitaly Muzichenko:
Научите меня кто нибудь с профи пользоваться тестером мт5, в голосовом режиме много времени не отберу.
Звоните...
 
Vladimir Karputov:

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


Ivan version "1.004": 

  • введены переменные
    • "Minimum distance from the price to stop loss (in pips)" - минимальное расстояние между ценой и уровнем Stop Loss - если это расстояние окажется меньше, то позиций не будет открыта
    • "Trailing Step (in pips)" - шаг для трейлинга
  • защита при открытии позиции:
    • для позиции BUY - если у одной из уже открытых позиций BUY цена открытия окажется ниже текущей цены - то позиция BUY открыта не будет
    • для позиции SELL - если у одной из уже открытых позиций SELL цена открытия окажется выше текущей цены - то позиция SEll открыта не будет
Да, так гораздо лучше. Я с твоими рекомендациями оптимизировал, получилось на 2 недели оптимизации аж 50%, но когда запустил тест на месяц, на столько же слил )) 
 
-Aleks-:

Работа кипит - хорошо!

Однако, я пока не могу посмотреть труды - у меня нет счета для Форекс - только от биржы, а там не работает советник.

Это просто ужасно. Чтобы открыть демо на сервере MetaQuotes-Demo, требуется потратить целых полторы минуты ))
 

Ivan version "1.005"

  • исправлена функция поиска минимальной/максимальной позиции определенного типа (поиск цены) "FindPosition":
  •                if(mode==MODE_LOW)
                     {
                      if(m_position.PriceOpen()<price)
                         price=m_position.PriceOpen();
                     }
                  }
       if(price==DBL_MIN || price==DBL_MAX)
          price=0;

       return(price);
      }
    теперь если позиция заданного типа не была задана, то будет возвращена цена "0" - раньше же был возможен возврат значения DBL_MIN или DBL_MAX.
  • исправлено функция открытия позиции Buy. Ранее был возможен такой неблагоприятный вариант - когда открывалось несколько Buy подряд, причём каждая последующая открывалась по цене хуже, чем предыдущая - в случае попадания на разворот тренда это приносило ощутимые потери:
    bad Buy's

    теперь это исправлено (да, да, да - ошибка была в знаке условия - раньше был знак "<":
  •       return;
         }
    //--- the position of BUY can't be open below the lowest
       double price_open_low=FindPosition(POSITION_TYPE_BUY,MODE_LOW);
       if(price_open_low!=0)
          if(price_open_low>m_symbol.Ask())
             return;

       sl=m_symbol.NormalizePrice(sl);
       double tp=0.0;
  • ‌‌

    Добавлено:

    Ivan 1.005

Файлы:
Ivan.mq5  45 kb
 

Ivan version "1.006"

  • введёна защита прибыли:
    • введён новый входной параметр "InpCoefProtectionProfit" - рассчитывается как m_account.Equity()/m_account.Balance() (Средства делить на Баланс). 
    • при превышении Средств над Балансом в "InpCoefProtectionProfit" раза - закрываем все позиции - таким образом защищаем прибыль:
      //--- we work only at the time of the birth of new bar
         static datetime dtPrevBars=0;
      //--- protection of profit
         if(m_account.Equity()/m_account.Balance()>InpCoefProtectionProfit)
            bCloseAll=true;

      //--- trailing stop (at every tick)
         if(!RefreshRates())
            return;
         TrailingStop();
Файлы:
Ivan.mq5  46 kb
Причина обращения: