Я пользуюсь синхронизацией 3-х периодов CCI.
Можешь добавить еще 1 период?
И возможность отключать любой из периодов?
Я пользуюсь синхронизацией 3-х периодов CCI.
Можешь добавить еще 1 период?
И возможность отключать любой из периодов?
Что значит синхронизация 3-х периудов? Я как-то наоборот пытаюсь войти когда меньший периуд противоречит более длинному т е
на откате. Поэтому поподробней пожалуйсто.
CCI с периодами 5, 12, 24
Если все ВМЕСТЕ (синхронно) в зоне больше +100 - ищем уровень для SELL (High канала, полосы Болинджера)
Если в зоне меньше -100 - ищем уровень для BUY (Low канала, полосы Болинджера)
CCI с периодами 5, 12, 24
Если все ВМЕСТЕ (синхронно) в зоне больше +100 - ищем уровень для SELL (High канала, полосы Болинджера)
Если в зоне меньше -100 - ищем уровень для BUY (Low канала, полосы Болинджера)
Нет проблем - получите
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int period_cci1=5;
extern int period_cci2=12;
extern int period_cci3=24;
extern int price=5;
extern int Control=100;
extern double DI=30;// Сколько поинтов отступать для отрисовки
//---- buffers
double UP[];
double DN[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(2);
//---- indicator lines
SetIndexStyle(0,DRAW_ARROW,EMPTY,1);
SetIndexBuffer(0,UP);
SetIndexArrow(0,225);
SetIndexStyle(1,DRAW_ARROW,EMPTY,1);
SetIndexBuffer(1,DN);
SetIndexArrow(1,226);
//---- name for DataWindow and indicator subwindow label
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Stochastic oscillator |
//+------------------------------------------------------------------+
int start()
{ double cci1,cci2,cci3,cci0;
for(int i=MathMax(Bars-1-IndicatorCounted(),1); i>=0; i--){
DN[i]=EMPTY_VALUE;
UP[i]=EMPTY_VALUE;
cci1=iCCI(Symbol(),0,period_cci1,price,i);
cci2=iCCI(Symbol(),0,period_cci2,price,i);
cci3=iCCI(Symbol(),0,period_cci3,price,i);
if(cci1>Control && cci2>Control && cci3>Control)DN[i]=High[i]+DI*Point;
if(cci1<Control*(-1) && cci2<Control*(-1) && cci3<Control*(-1))UP[i]=Low[i]-DI*Point;
}
}
Может кто нибудь добавить алерт к стрелкам?
CCI с периодами 5, 12, 24
Если все ВМЕСТЕ (синхронно) в зоне больше +100 - ищем уровень для SELL (High канала, полосы Болинджера)
Если в зоне меньше -100 - ищем уровень для BUY (Low канала, полосы Болинджера)
Нет проблем - получите
а как показать на экране сами ССІ
Рекомендация: чтоб не вводить новичков в заблуждение - ставьте точку(символ) входа на цене открытия следующего бара.
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 LimeGreen #property indicator_color2 Crimson extern int period_cci1=5; extern int period_cci2=50; extern int Control=80; double UP[], DN[]; //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_ARROW,EMPTY,3); SetIndexBuffer(0,UP); SetIndexArrow(0,159); SetIndexStyle(1,DRAW_ARROW,EMPTY,3); SetIndexBuffer(1,DN); SetIndexArrow(1,159); return(0); } //+------------------------------------------------------------------+ int start() { double cci1,cci2; for(int i=MathMax(Bars-1-IndicatorCounted(),1); i>=0; i--) { DN[i]=EMPTY_VALUE; UP[i]=EMPTY_VALUE; cci1=iCCI(Symbol(),0,period_cci1,0,i+1); cci2=iCCI(Symbol(),0,period_cci2,0,i+1); if(cci1>Control && cci2<0)DN[i]=Open[i]; if(cci1<((-1)*Control) && cci2>0) UP[i]=Open[i]; } }
Рекомендация: чтоб не вводить новичков в заблуждение - ставьте точку(символ) входа на цене открытия следующего бара.
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 LimeGreen #property indicator_color2 Crimson extern int period_cci1=5; extern int period_cci2=50; extern int Control=80; double UP[], DN[]; //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_ARROW,EMPTY,3); SetIndexBuffer(0,UP); SetIndexArrow(0,159); SetIndexStyle(1,DRAW_ARROW,EMPTY,3); SetIndexBuffer(1,DN); SetIndexArrow(1,159); return(0); } //+------------------------------------------------------------------+ int start() { double cci1,cci2; for(int i=MathMax(Bars-1-IndicatorCounted(),1); i>=0; i--) { DN[i]=EMPTY_VALUE; UP[i]=EMPTY_VALUE; cci1=iCCI(Symbol(),0,period_cci1,0,i+1); cci2=iCCI(Symbol(),0,period_cci2,0,i+1); if(cci1>Control && cci2<0)DN[i]=Open[i]; if(cci1<((-1)*Control) && cci2>0) UP[i]=Open[i]; } }
А никто и не ставит их в заблуждение, ждать когда закончится бар на котором получен сигнал или нет дело каждого,
у меня написано же не (i-5), а i, поэтому ваши предложения излишние ))))
К тому же, лично я вхожу по этому индикатору по стоп-ордеру на пробой бара на котором получен сигнал.
Это не самый лучший, но вполне профитный вариант торговли
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
CCI_arrow:
Author: Andre