Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите с индикатором
Хочу оставить по сути , но переделать на два буфера
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#property indicator_maximum 1.4
#property indicator_level1 0
#property indicator_minimum -1.2
//------- Внешние параметры индикатора -------------------------------
extern int CCI_Period_0 = 14; // Период CCI для текущего ТФ
extern int Level_0 = 100; // Уровень CCI для текущего ТФ
extern int TF_1 = 60; // Количество минут первого ТФ
extern int CCI_Period_1 = 14; // Период CCI для первого ТФ
extern int Level_1 = 100; // Уровень CCI для первого ТФ
extern int TF_2 = 240; // Количество минут второго ТФ
extern int CCI_Period_2 = 14; // Период CCI для второго ТФ
extern int Level_2 = 100; // Уровень CCI для второго ТФ
extern int NumberOfBars = 10000; // Количество баров обсчёта (0-все)
//------- Буферы индикатора ------------------------------------------
double buf0[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init()
{
IndicatorDigits(1);
SetIndexBuffer(0,buf0);
SetIndexLabel(0,"i-3CCI-h");
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexEmptyValue(0,0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start()
{
double cci0,cci1,cci2;
int nb1,nb2;
int LoopBegin,sh;
if(NumberOfBars==0) LoopBegin=Bars-1;
else LoopBegin=NumberOfBars-1;
LoopBegin=MathMin(Bars-1,LoopBegin);
for(sh=LoopBegin; sh>=0; sh--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False);
nb2=iBarShift(NULL, TF_2, Time[sh], False);
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);
if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;
if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf0[sh]=-1;
}
}
//+------------------------------------------------------------------+
сам тыркаюсь , пока не вышло
попробовал так
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_maximum 1.4
#property indicator_level1 0
#property indicator_minimum -1.2
//------- Внешние параметры индикатора -------------------------------
extern int CCI_Period_0 = 14; // Период CCI для текущего ТФ
extern int Level_0 = 100; // Уровень CCI для текущего ТФ
extern int TF_1 = 60; // Количество минут первого ТФ
extern int CCI_Period_1 = 14; // Период CCI для первого ТФ
extern int Level_1 = 100; // Уровень CCI для первого ТФ
extern int TF_2 = 240; // Количество минут второго ТФ
extern int CCI_Period_2 = 14; // Период CCI для второго ТФ
extern int Level_2 = 100; // Уровень CCI для второго ТФ
extern int NumberOfBars = 10000; // Количество баров обсчёта (0-все)
//------- Буферы индикатора ------------------------------------------
double ExtBuffer1[];
double ExtBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init()
{
SetIndexBuffer(0, ExtBuffer1);
SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
//----
SetIndexBuffer(1, ExtBuffer2);
SetIndexStyle(1,DRAW_HISTOGRAM,0,2);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start()
{
double cci0,cci1,cci2;
int nb1,nb2;
int LoopBegin,sh;
if(NumberOfBars==0) LoopBegin=Bars-1;
else LoopBegin=NumberOfBars-1;
LoopBegin=MathMin(Bars-1,LoopBegin);
for(sh=LoopBegin; sh>=0; sh--)
for(st=LoopBegin; st<0; st--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False);
nb2=iBarShift(NULL, TF_2, Time[st], False);
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);
if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf1[sh]=1;
if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf2[st]=-1;
ошибка такая
в конечном итоге нужно два буфера , один выше нуля -другой ниже , а то сейчас всё одним идёт
Уважаемый koziabrrr !!! Вы создали свою тему. Тем становится больше. А если кто начнет искать какую-то тему? А тем много, найти трудно. Для облегчения темы по тематике. Самая верхняя тема для помощи новичкам. Вот туда и нужно Ваш вопрос. Созданную тему удаляйте, а туда пишите с учетом моих замечаний!!! Потом Вы еще и в этой теме написали - ну это уже мания величия, преувеличенное мнение о ценности своей персоны
Чтобы привлечь внимание - нужно объяснить задачу. 1. Как выглядит индикатор = скриншот. 2. Что индикатор ДЕЛАЕТ, какая от него ПОЛЬЗА (точки входа покажет, тренд, флэт, ...). 3. Зачем два буфера, чем это будет ПОЛЕЗНЕЕ (лучше видно тренд, флэт, точки входа). Вот тогда все и бросятся его дорабатывать!!!! .... Им польза будет и Вам! Надо жить дружно, делиться
Вот переделал. Вроде показывает тренд. Но это обман
Вот через полчаса узнаем, что надо было продавать...
А что пора покупать - он молчит...
или MAinColor какую-нибудь
Вот переделал. Вроде показывает тренд. Но это обман
Вот через полчаса узнаем, что надо было продавать...
А что пора покупать - он молчит...
Да выглядит лучше , спасибо что переделали . Но как я так и не понял))
Пробую но целиком не получается скомпелировать. Хорошо когда вопросом владеешь, а когда нет то каждая мелочь это день.
Пробую но целиком не получается скомпелировать. Хорошо когда вопросом владеешь, а когда нет то каждая мелочь это день.
... и каждый день - бесценный опыт, который появляется только своим трудом - не решением на форуме.
Это Да!
STARIJ: Спасибо за помощь!!!!
Разрулил вопрос))
здравствуйте! Юрий
описание индикатора: когда начиная от 3-х свечей держались на одном уровне или почти на одном уровне.При этом посылал алерт на email и передавал звук. Еще показывал инструмент и тайм фрейм на экране пока не отменил его. Посмотрите на прикрепленные файлы пожалуйста, там примеры