Индикаторы: Бинарная волна (The Binary Wave) - страница 2

 
Fduch:

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

Да это собственно и есть перцептрон... ну или иными словами одна из заповедей билла вильямса - принимать решение основываясь на показаниях нескольких индикаторов

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

афтару +9 :) (+10 за оригинальность и -1 за неоригинальность:)))))

 
leman:
brici:

- LeMan,было ло бы не плохо,привязать твой индикатор к одной паре и иметь возможность в настройках менять её.И каждый сможет лепить на график инструменты, какие и сколько хочет.Спасибо.

Я немного не понял. Он и так к одной паре привязан, лепите на любую пару в разных окнах


наверное имелось ввиду опция вписывать пару,extern string

спасбо за индюк

 

Немного изменил волну OsMA:

1. Ввел возможность учитывать либо пересечение с нулем, либо наклон OsMA. Параматр MethodOsMA.

2. Ввел возможность анализировать старшие тайм-фреймы. Параметр TFOsMA.

//---- Параметры OsMA
extern int   FastOsMA   = 12;
extern int   SlowOsMA   = 26;
extern int   SignalOsMA = 9;
extern int   PriceOsMA    = 0;
extern int   TFOsMA       = 0; // 1, 5, 15, 30, 60, 240, 1440, 10080, 43200
extern int   MethodOsMA   = 0; // 0 - пересечение с нулем; 1 - наклон OsMA
//---- Определяем положение OsMa
double OsMA(int i = 0) {
   if (WeightOsMA > 0) {
      if (TFOsMA > Period()) {
         if ((Period() == 1 && TFOsMA < 240) || (Period() >= 5 && Period() < 60 && TFOsMA < 1440) || (Period() >= 60 && Period() <= 240 && TFOsMA <= 1440) ||
            (Period() >= 1440 && TFOsMA <= 43200)) {
            int b = iBarShift(NULL, TFOsMA, iTime(NULL,0,i));
         } else {
            b = i;
            TFOsMA = 0;         
         }
      } else {
         b = i;
         TFOsMA = 0;
      }
      if (MethodOsMA == 0 ) {
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b) > 0)
            return(WeightOsMA);
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b) < 0)
            return(-WeightOsMA);
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b) == 0)
            return(0); 
       } else {
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b)-iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b+1) > 0)
            return(WeightOsMA);
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b)-iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b+1) < 0)
            return(-WeightOsMA);
         if (iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b)-iOsMA(NULL,TFOsMA,FastOsMA,SlowOsMA,SignalOsMA,PriceOsMA,b+1) == 0)
            return(0);        
       }        
   } else {
      return(0);
   }
}

В start измените значение переменной max на:

int max = MathMax(MAPeriod,MathMax(SlowOsMA,MathMax(CCIPeriod,MathMax(SlowMACD,MOMPeriod))));
 

"2. Ввел возможность анализировать старшие тайм-фреймы. Параметр 2. Ввел возможность анализировать старшие тайм-фреймы. Параметр TFOsMA."

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

может старшие ТФ не смешивать с младшими или текущее положение выводить только в цифрах?

инд. на TFOsMA скажем 4Н будет изменяться на четырех Н1 барах - и в истории останется только цена закрытия Н4 бара (будет перерисовка линии соотв на 4 барах)

(просто целый МТФ - отдельно)

 

Из-за перерисовки я и не стал изменять код основногог индикатора. А это изменение выложил просто как пример возможностей модификации.

 
leman:

Из-за перерисовки я и не стал изменять код основногог индикатора. А это изменение выложил просто как пример возможностей модификации.

правильно - а в виде сигнальной таблицы (информера) - было бы здорово - конечно, очень полезное инфо

 

Индикатор хорош только до конца не показывает макс и миним, как зделать так что бы было видно на сколько пробивает уровни 7,7

 

Подскажите как сделать чтоб он на любом выбранном периоде времени, всегда отображал данные одного. К примеру я работаю на M5, а данные которые должен отображать индикатор за M15 ?

 
s05:

Подскажите как сделать чтоб он на любом выбранном периоде времени, всегда отображал данные одного. К примеру я работаю на M5, а данные которые должен отображать индикатор за M15 ?

Для этого надо изменить достаточно много строк в коде.

 
leman:
s05:

Подскажите как сделать чтоб он на любом выбранном периоде времени, всегда отображал данные одного. К примеру я работаю на M5, а данные которые должен отображать индикатор за M15 ?

Для этого надо изменить достаточно много строк в коде.

а Вы бы не могли помочь и соответствующим образом изменить его. Индюк прицепил к советнику, в целом неплохо, но режет как убыточные, так и прибыльные. Потенциал движения цены в любую сторону, перед пересечением нулевой отметки заложен выше (ниже) уровня 7.7., т.е. нулевая отметка есть (стоп), а вверх (вниз) не ограничено. НО, улучшить его можно путем установки индюка на один период, а его показания д.б. периодов выше. Сделайте пожалуйста!

Причина обращения: