Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Future___ - эксперт для MetaTrader 4

Просмотров:
3845
Рейтинг:
(11)
Опубликован:
2009.01.08 06:55
Обновлен:
2016.07.01 09:39
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Попытка создать сеть подтолкнула меня на это дело.

На участке истории мы берем N+M баров. Среди N баров мы записываем сигналы с индикаторов, а среди M - результат.

В результате получаем файл, который называется [последовательность сигналов индикатора с N баров].csv.

В файле результаты дальнейшей истории.

В небольшой блок мы записываем, например:

      int history [1000];
      for (int i=analiz_bars+poisk_fractals;i>poisk_fractals;i--)
         {
         history [i] = NormalizeDouble((tocnost*iMACD(NULL,0,Per_MACD/4,Per_MACD,9,PRICE_CLOSE,MODE_MAIN, i)/(100*Point)),0);
         }
На выходе получаем массив, который в дальнейшем используем здесь:
      string posledovatelnost = shethik +"_";
      for (i=analiz_bars+poisk_fractals;i>poisk_fractals;i--)
         {
         posledovatelnost =posledovatelnost+history [i]+"_";
         }
      posledovatelnost = posledovatelnost +".csv";

Затем сохраняем файл с именем [posledovatelnost].

В сам файл записываем кол-во обращений (для определения стат-веса) и результаты данного блока:

      double MaxHighPik = High [poisk_fractals]; //Начинаем сравнивать бары
      double MaxLowPik = Low [poisk_fractals];  
      for (i=poisk_fractals; i>=1; i--)
         {
         if (MaxHighPik < High [i])
            {
            MaxHighPik = High [i];     
            }
         if (MaxLowPik > Low [i])
            {
            MaxLowPik = Low [i];       
            }
         }
         
      double Fractal_Up = (MaxHighPik - Open [poisk_fractals])/Point;
      double Fractal_Down = (Open [poisk_fractals]-MaxLowPik)/Point;
здесь мы определяем направление движения следующих M баров и достигутые максимумы. Результаты записываются усредненные с возможностью придавать более поздним данным увеличенный ил уменьшенный стат-вес при помощи переменной zabyvaemost. Также усредняются и показания индюков переменной tocnost. При минимальном усреднении выдается только направление +1 или -1.

Но. Как бы все замечательно не было результаты не впечатляющие. Для примера даю два советника. Прибыльность редко поднимается выше 1.1

Пример использования МА:

Если у кого получится сделать нормального эксперта, пожалуйста - отпишитесь.

Doubler Doubler

Простейший советник, который открывает одновременно две позиции в разные стороны, при условии что стоп-лосс убыточной срабатывает на 5 пунктов раньше, чем тейк-профит прибыльной.

StohColored, StohDivergence StohColored, StohDivergence

Дивергенции Стохастика, продолжение темы дивергенций.

BO BO

Осциллятор

Открытие позиций Открытие позиций

Попытка более-менее полной автоматизации открытия Buy и Sell