int start() { int i,counted_bars=IndicatorCounted(); i=Bars-counted_bars-1; while(i>=1) { b=0; h=0; int sh=iBarsShift(Symbol(),60,Time[i]);
for(j=sh;j<sh+24;j++){ if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))>0) b++; //подсчёт количества бычьих свечей за последний день if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))<0) h++; //подсчёт количества медвежьих свечей за последний день } r=b-h; ExtMapBuffer1[i]=r; //рисование линии i--; } //---- return(0);Что-то вроде такого в первом приближении, на косяки проверяй сам.
о..спасибо большое...ща разберусь.
хоть пока также линию не рисует..но уже есть в каком направлении работать) спасибо
а ради интереса сюда его выложить не можешь? я вот с индикаторами вообще не дружу..советники ещё программирую а индюки ступор вообще.
#property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red double ExtMapBuffer[]; double ExtMapBuffer2[]; int init() { SetIndexBuffer(0,ExtMapBuffer); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_LINE); return(0); } int deinit() { return(0); } int start() { int i,counted_bars=IndicatorCounted(); i=Bars-counted_bars-1; while(i>0) { int b=0; int h=0; int sh=iBarShift(Symbol(),60,Time[i]); for(int j=sh;j>sh-24;j--){ if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))>0) b++; //подсчёт количества бычьих свечей за последний день if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))<0) h++; //подсчёт количества медвежьих свечей за последний день } ExtMapBuffer[i]=b; ExtMapBuffer2[i]=-h; i--; } return(0); }За написанием индюков в учебник, ну или разобрать любой из стандартных.
ух..чётко...спасибо..помог..прям очень
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ничего придумать не могу с индикатором(.. подскажите пожалуйста что добавить надо....индикатор ставится на дневной график, но работает с данными часового периода....суть такая - индикатор должен чертить линию по точкам, полученных в результате разности количества бычьих и медвежьих свечей за каждый день, при открытии новой дневной свечи... как диаграмма в exel. вот с этим кодом ничего не рисует...нужно реализовать как то обнуление перменных b, h вначале каждого дня..потому что к ним добавляются новые значения сейчас. хоть намекните если не трудно где это сделать и что добавить...спаисбо за терпение
int start()
{
int i,counted_bars=IndicatorCounted();
i=Bars-counted_bars-1;
while(i>=1)
{
for(j=1;j<24;j++){
if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))>0) b++; //подсчёт количества бычьих свечей за последний день
if((iClose(Symbol(),PERIOD_H1,j) - iOpen(Symbol(),PERIOD_H1,j))<0) h++; //подсчёт количества медвежьих свечей за последний день
}
r=b-h;
ExtMapBuffer1[i]=r; //рисование линии
i--;
}
//----
return(0);