Требуется помощь в легкой модернизации индикатора циклов CG

gtr-turbo

Активный участник
Привет всем.имеется индикатор CG,суть состоит в том,чтобы изменить его отображение на зеркальное(тоесть чтобы он отображался по другому,наоборот)Прилагаю скрин,там написано в чем суть более понятно
Тоесть надо перевернуть индикатор.Чтобы при сложении двух одного измененного а другого стандартного,они выглядели как тот,что на скрине ниже желтого цвета.:)
вот код
#property copyright "Coded by Witold Wozniak"
#property link "www.mqlsoft.com"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

#property indicator_level1 0

double CG[];
double Trigger[];

extern int Length = 10;
int buffers = 0;
int drawBegin = 0;

int init() {
drawBegin = Length;
initBuffer(CG, "CG", DRAW_LINE);
initBuffer(Trigger, "Trigger", DRAW_LINE);
IndicatorBuffers(buffers);
IndicatorShortName("CG [" + Length + "]");
return (0);
}

int start() {
if (Bars <= drawBegin) return (0);
int countedBars = IndicatorCounted();
if (countedBars < 0) return (-1);
if (countedBars > 0) countedBars--;
int s, limit = Bars - countedBars - 1;
for (s = limit; s >= 0; s--) {
double Num = 0.0;
double Denom = 0.0;
for (int count = 0; count < Length; count++) {
Num += (1.0 + count) * P(s + count);
Denom += P(s + count);
}
if (Denom != 0) {
CG = -Num / Denom + (Length + 1.0) / 2.0;
} else {
CG = 0;
}
Trigger = CG[s + 1];
}
return (0);
}

double P(int index) {
return ((High[index] + Low[index]) / 2.0);
}

void initBuffer(double array[], string label = "", int type = DRAW_NONE, int arrow = 0, int style = EMPTY, int width = EMPTY, color clr = CLR_NONE) {
SetIndexBuffer(buffers, array);
SetIndexLabel(buffers, label);
SetIndexEmptyValue(buffers, EMPTY_VALUE);
SetIndexDrawBegin(buffers, drawBegin);
SetIndexShift(buffers, 0);
SetIndexStyle(buffers, type, style, width);
SetIndexArrow(buffers, arrow);
buffers++;
}
ekhihmpfcz.JPG
 
Последнее редактирование модератором:

bot14

┳━┳
Привет всем.имеется индикатор CG,суть состоит в том,чтобы изменить его отображение на зеркальное(тоесть чтобы он отображался по другому,наоборот)Прилагаю скрин,там написано в чем суть более понятно
Тоесть надо перевернуть индикатор.Чтобы при сложении двух одного измененного а другого стандартного,они выглядели как тот,что на скрине ниже желтого цвета.:)
Это просто.
Теперь колись, что ты собрался с ним делать ? Как именно хочешь использовать?
 

Вложения

  • SHOT-004.png
    SHOT-004.png
    24,8 КБ · Просмотры: 393
  • CG_mirror.mq4
    1,6 КБ · Просмотры: 105

bot14

┳━┳
Привет всем.имеется индикатор CG,суть состоит в том,чтобы изменить его отображение на зеркальное(тоесть чтобы он отображался по другому,наоборот)Прилагаю скрин,там написано в чем суть более понятно
Тоесть надо перевернуть индикатор.Чтобы при сложении двух одного измененного а другого стандартного,они выглядели как тот,что на скрине ниже желтого цвета.:)
вот код
#property copyright "Coded by Witold Wozniak"
#property link "www.mqlsoft.com"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

#property indicator_level1 0

double CG[];
double Trigger[];

extern int Length = 10;
int buffers = 0;
int drawBegin = 0;

int init() {
drawBegin = Length;
initBuffer(CG, "CG", DRAW_LINE);
initBuffer(Trigger, "Trigger", DRAW_LINE);
IndicatorBuffers(buffers);
IndicatorShortName("CG [" + Length + "]");
return (0);
}

int start() {
if (Bars <= drawBegin) return (0);
int countedBars = IndicatorCounted();
if (countedBars < 0) return (-1);
if (countedBars > 0) countedBars--;
int s, limit = Bars - countedBars - 1;
for (s = limit; s >= 0; s--) {
double Num = 0.0;
double Denom = 0.0;
for (int count = 0; count < Length; count++) {
Num += (1.0 + count) * P(s + count);
Denom += P(s + count);
}
if (Denom != 0) {
CG = -Num / Denom + (Length + 1.0) / 2.0;
} else {
CG = 0;
}
Trigger = CG[s + 1];
}
return (0);
}

double P(int index) {
return ((High[index] + Low[index]) / 2.0);
}

void initBuffer(double array[], string label = "", int type = DRAW_NONE, int arrow = 0, int style = EMPTY, int width = EMPTY, color clr = CLR_NONE) {
SetIndexBuffer(buffers, array);
SetIndexLabel(buffers, label);
SetIndexEmptyValue(buffers, EMPTY_VALUE);
SetIndexDrawBegin(buffers, drawBegin);
SetIndexShift(buffers, 0);
SetIndexStyle(buffers, type, style, width);
SetIndexArrow(buffers, arrow);
buffers++;
}
ekhihmpfcz.JPG


Это просто.
Теперь колись, что ты собрался с ним делать ? Как именно хочешь использовать?

Класс ! Выплыл из сумрака, задал вопрос и испарился. Мне никакие спасибы-лайки не нужны, но отписаться-то парой слов можно. Ведь человек тебе тоже вопрос задал. Ну народ...
 

ds3

Новичок форума
здрасте! я не знаю как там gtr-turbo это использовать собирался, но если сие творение не рисует и не глючит в плане масштабирования, то получается обычная "убойно-пробойная" ручная система.скрин прицепом.входы обвел.остальное думаю и так понятно.отрезок графика взял от фонаря,поэтому пож. без претензий по поводу точности,несовпадений и т.д.успехов!
 

Вложения

  • gbpusdm5-1.png
    gbpusdm5-1.png
    46,2 КБ · Просмотры: 286

gtr-turbo

Активный участник
Это просто.
Теперь колись, что ты собрался с ним делать ? Как именно хочешь использовать?
Спасибо,чувак.Давно не читал свою тему,так как бесит то,что пока сообщение модерацию не пройдет оно не появиться на форуме.очень долго,и неудобно.
 

gtr-turbo

Активный участник
Класс ! Выплыл из сумрака, задал вопрос и испарился. Мне никакие спасибы-лайки не нужны, но отписаться-то парой слов можно. Ведь человек тебе тоже вопрос задал. Ну народ...
Кстати,на счет этого индикатора.Желаемого из него не вышло,сигналы совсем не там,где надо возникают.Хоть он и не рисует
 

gtr-turbo

Активный участник
Так вот.Я подобрал еще один индикатор который не рисует свои показания.На основе его нужно сделать то же что и с первым индикатором.на скрине показан стрелочкой
Индикатор прилагаю
PS.Скрин во вложениях.Так как на форуме отсутствует возможность грузить картинку с компа через "вставить изображение"
 

Вложения

  • DTOsc.mq4
    2,9 КБ · Просмотры: 46
  • Безымянный43.JPG
    Безымянный43.JPG
    135,3 КБ · Просмотры: 223

bot14

┳━┳
Так вот.Я подобрал еще один индикатор который не рисует свои показания.На основе его нужно сделать то же что и с первым индикатором.на скрине показан стрелочкой
Индикатор прилагаю
PS.Скрин во вложениях.Так как на форуме отсутствует возможность грузить картинку с компа через "вставить изображение"

Чувак, на свете еще много разных кривулек, которые "не рисуют свои показания". Результат будет точно таким же, как и с твоим первым шедевром - никаким.
 

gtr-turbo

Активный участник
Рисует это индикатор что на скрине.
Вот он точно рисует.
а по типу него я хочу сделать тот,что не рисует.и необходимый индикатор для этого есть.а попытка не пытка.
 

Вложения

  • Безымянный55.JPG
    Безымянный55.JPG
    106,8 КБ · Просмотры: 98
Верх