Помощь в кодировании - страница 58

 

стиль живописи mtf

Привет, ребята,

Можете ли вы исправить это, чтобы он продолжал рисовать так, как он выглядит, когда вы впервые загружаете его на график, с плоским левом для каждого бара htf?

вместо того, чтобы после загрузки он становился все более волнистым.

Т.е. каждый уровень на закрытии бара или обновлять на некоторое временное деление htf?

Этот индикатор из TSD, но я не знаю термина для поиска такого способа рисования mtf, если он уже был сделан.

Здоровья и удачной торговли

Файлы:
 

Используйте этот. С ним у вас не будет таких проблем.

Хороших выходных

zigflip:
Привет, ребята,

Можете ли вы исправить это, чтобы он продолжал рисовать так, как он выглядит, когда вы впервые загружаете его на график, с плоским левом для каждого бара htf?

вместо того, чтобы после загрузки он становился все более волнистым.

Т.е. каждый уровень на закрытии бара или обновлять на некоторое временное деление htf?

Этот индикатор из TSD, но я не знаю термина для поиска такого способа рисования mtf, если он уже был сделан.

будьте здоровы и удачной торговли
Файлы:
 
mladen:
Используйте этот. С ним у вас не будет таких проблем Хороших выходных

ты самый лучший!

 

Спасибо. Это советник или индикатор?

 
zigflip:
Вы самый лучший!

Привет Zigflip - у меня есть два индикатора, которые я хотел бы запрограммировать в советник, не могли бы вы помочь? Заранее большое спасибо.

 

пользовательский индикатор

Здравствуйте, друзья,

Я пытался сделать свой собственный индикатор, но не могу заставить его скомпилироваться. индикатор должен рисовать уровни поддержки и сопротивления h8 на любом графике меньше 8 часов. я планировал использовать его на таймфрейме 1м, так как устал делать это вручную, а также хотел сделать из него ea. я набираю много пунктов без потерь, так что я думаю, что это будет хороший инструмент. пожалуйста, дайте мне знать, что я делаю неправильно и исправьте это, если хотите.

спасибо

/+------------------------------------------------------------------+

//| res1 8 hr.mq4 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| Cway |

//+------------------------------------------------------------------+

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#property indicator_chart_window

#property indicator_buffers 7

#property indicator_color1 MediumBlue //---- цвет индикатора

#property indicator_color2 DarkGreen //---- цвет индикатора

#property indicator_color3 FireBrick //---- цвет индикатора

#property indicator_color4 DarkGreen //---- цвет индикатора

#property indicator_color5 FireBrick //---- цвет индикатора

#property indicator_color6 DarkGreen //---- цвет индикатора

#property indicator_color7 FireBrick //---- цвет индикатора

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[]; //---- объявлена линия индикатора

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- назначение строки индикатора

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- стиль линии индикатора

SetIndexBuffer (1,Buf_1);//---- назначение линий индикаторов

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (2,Buf_2);//---- назначение линии индикаторов

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (3,Buf_3);//---- назначение линии индикаторов

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (4,Buf_4);//---- назначение линии индикаторов

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (5,Buf_5);//---- назначение линии индикаторов

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (6,Buf_6);//---- назначение линии индикаторов

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1);

возврат;

//----

}

//+------------------------------------------------------------------+

//| Пользовательская функция деинициализации индикатора |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская функция итерации индикатора |

//+------------------------------------------------------------------+

int start()

{

if (Period() > 480) return(0); //Чарт не может быть выше H8

int counted_bars=IndicatorCounted();

if (counted_bars >0) counted_bars--;

int limit=Bars-counted_bars;

for (int i = limit-1; i>=0; i--)

int period = MathCeil(480 / Period()); //Временной интервал для рисования от H8

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = Open ;

prevC = Close;

prevH = High;

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)];

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC);

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

если X =( prevC > prevO -- ((prevH*2) + prevL + prevC)); {

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2));

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

}

}

//+------------------------------------------------------------------+

return(0);

//+------------------------------------------------------------------+

 

Полоса сдвига для пользовательского индикатора в отдельных окнах

У меня проблема, когда я добавляю опцию сдвига для индикатора, то он показывает число emty value, когда я устанавливаю shit в минусовое значение.

Как закодировать индикатор на сдвиг с текущим баром, в котором можно установить как плюсовое, так и минусовое число.

 

cway

Для чего предназначены строки типа : double X = (prevC < prevO -- prevH + (prevL*2) + prevC)?

Для начала вам придется переписать их в соответствии с правилами кодирования mql.

cway:
Здравствуйте, друзья,

Я пытался сделать свой собственный индикатор, но не могу заставить его скомпилироваться. индикатор должен рисовать уровни поддержки и сопротивления h8 на любом графике меньше 8 часов. я планировал использовать его на таймфрейме 1м, так как устал делать это вручную, а также хотел сделать из него ea. я набираю много пунктов без потерь, так что думаю, это будет хороший инструмент. пожалуйста, дайте мне знать, что я делаю неправильно и исправьте это, если хотите.

спасибо

/+------------------------------------------------------------------+

//| res1 8 hr.mq4 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| Cway |

//+------------------------------------------------------------------+

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#property indicator_chart_window

#property indicator_buffers 7

#property indicator_color1 MediumBlue //---- цвет индикатора

#property indicator_color2 DarkGreen //---- цвет индикатора

#property indicator_color3 FireBrick //---- цвет индикатора

#property indicator_color4 DarkGreen //---- цвет индикатора

#property indicator_color5 FireBrick //---- цвет индикатора

#property indicator_color6 DarkGreen //---- цвет индикатора

#property indicator_color7 FireBrick //---- цвет индикатора

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[]; //---- объявлена линия индикатора

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- назначение строки индикатора

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- стиль линии индикатора

SetIndexBuffer (1,Buf_1);//---- назначение линий индикаторов

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (2,Buf_2);//---- назначение линии индикаторов

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (3,Buf_3);//---- назначение линии индикаторов

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (4,Buf_4);//---- назначение линии индикаторов

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (5,Buf_5);//---- назначение линии индикаторов

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer (6,Buf_6);//---- назначение линии индикаторов

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1);

возврат;

//----

}

//+------------------------------------------------------------------+

//| Пользовательская функция деинициализации индикатора |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская функция итерации индикатора |

//+------------------------------------------------------------------+

int start()

{

if (Period() > 480) return(0); //Чарт не может быть выше H8

int counted_bars=IndicatorCounted();

if (counted_bars >0) counted_bars--;

int limit=Bars-counted_bars;

for (int i = limit-1; i>=0; i--)

int period = MathCeil(480 / Period()); //Временной интервал для рисования от H8

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = Open ;

prevC = Close;

prevH = High;

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)];

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC);

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

если X =( prevC > prevO -- ((prevH*2) + prevL + prevC)); {

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2));

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

}

}

//+------------------------------------------------------------------+

return(0);

//+------------------------------------------------------------------+
 

Premeus

Это нормально: применяя отрицательный сдвиг, вы сдвигаете все в прошлое, а так как вы не знаете будущих значений, то в самой правой части вашего графика должен остаться промежуток не сформированных значений.

Premeus:
У меня проблема при добавлении опции shift для индикатора, он показывает число emty value, когда я устанавливаю shit в минусовое значение. Как закодировать индикатор на сдвиг с текущим баром, в котором можно установить и плюс и минус число.
 

Мой индикатор

Спасибо, mladen.

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

Заранее спасибо.

Файлы:
shift_bars.png  10 kb
Причина обращения: