|
|
#1 |
|
Новичок
Join Date: Nov 2008
Posts: 3
![]() |
Добрый всем день! Уважаемые форумчане, обращаюсь с просьбой, помогите написать индикатор. Сам в програмировании пока не селён, вот летом будет отпуск попробую разобраться. Собственно что требуется от индикатора. Внизу графика в отдельном окне, полосочка или что то типа, которая будет брать информацию из стандартного индикатора МАСD, если МАСD выше ноля то полосочка или палочка зелёного цвета например, если ниже то красного. Вот и все условия, думаю для знающих людей это не составит большого труда
Индикатор этот хочу использовать в соей работе в качестве вспомогательного. Т.к. Работаю на больших таймфреймах и только в направлении тренда, но часто пытаюсь ловить развороты и т.д. результат ненужный убыток. Надеюсь индикатор поможет соблюдать дисциплину и правила системы глянул он зелёный значит работаем только вверх и т.д. Что то похожее на систему импульсную Элдера он на семенаре так и говорит, это не система игры, а система убеждений (или как то так). Вот пожалуй и всё, единственное пожелание что бы индюк выглядел в виде одной ровной полоски, или из столбиков гистограммы одинаковой длины. Вот и всё.Спасибо, надеюсь на помошь. Last edited by joi7; 15-04-2010 at 06:06 AM. |
|
|
|
|
|
#2 | |
|
Эксперт
Join Date: Apr 2008
Posts: 1,732
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
Попробуйте, например * взять стандартный индикатор из МТ * изменить количество индикаторов - 2 * создать 2 буфера для индикации - например GreenBuffer[], RedBuffer[] * установить цвета - красный и зелёный * разместите примерно такой текст в цикле ... for(i=...){ double M=iMACD(...,i)// синтаксис смотрим-копируем-вставляем из справки if(M>0)GreenBuffer[i]=M; if(M<0)RedBuffer[i]=M; } ... Справка на русском - доступна и понятна.. В редакторе надо поставить курсор на iMACD и нажать <F1>.. Образцы индикаторов доступны в редакторе.. Last edited by EQU; 15-04-2010 at 09:35 AM. |
|
|
|
|
|
|
#3 |
|
Старожил
|
видимо что то такое нужно
__________________
Touched By The Saviour |
|
|
|
|
|
#4 |
|
Стажер
Join Date: Mar 2010
Posts: 61
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Code:
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Green
#property indicator_color3 Gray
#property indicator_maximum 1
#property indicator_minimum -1
extern int MACD_Fast_Value=12;
extern int MACD_Slow_Value=26;
extern int MACD_Averaging_Value=9;
double RedBuffer[];
double GreenBuffer[];
double GrayBuffer[];
int init()
{
SetIndexBuffer(0,RedBuffer);
SetIndexBuffer(1,GreenBuffer);
SetIndexBuffer(2,GrayBuffer);
SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, 4, Red);
SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, 4, Green);
SetIndexStyle(2, DRAW_HISTOGRAM, EMPTY, 4, Gray);
IndicatorShortName("Осциллятор MACD");
SetIndexLabel(0, "MACD Osc");
SetIndexLabel(1, "MACD Osc");
SetIndexLabel(2, "MACD Osc");
return(0);
}
int deinit()
{return(0);}
int start()
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
for (int i=0; i<=limit; i++)
{
if (iMACD(NULL,0,MACD_Fast_Value,MACD_Slow_Value, MACD_Averaging_Value, PRICE_CLOSE, MODE_MAIN,i) > 0)
{
GreenBuffer[i]=0.1;
}
if (iMACD(NULL,0,MACD_Fast_Value,MACD_Slow_Value, MACD_Averaging_Value, PRICE_CLOSE,MODE_MAIN,i) < 0)
{
RedBuffer[i]=0.1;
}
if (iMACD(NULL,0,MACD_Fast_Value,MACD_Slow_Value, MACD_Averaging_Value, PRICE_CLOSE,MODE_MAIN,i) == 0)
{
GrayBuffer[i]=0.1;
}
}
return(0);
}
__________________
Яндекс - найдётся всё! Google - ничего и не терялось! |
|
|
|
|
|
#5 | ||
|
Эксперт
Join Date: Apr 2008
Posts: 1,732
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
Это и есть - к чему надо б стремицца - красиво, понятно, аккуратно.. Единственно - предложение/замечание - нет смысла перерасчитывать несколько раз МАКД.. т.е М=МАКД, а потом сравниваем.. Хотя, честно признаю - так понятнее.. ![]() и индекс-лейблы - должны нести какую-то смысловую нагрузку.. Иначе, к чему они? SetIndexLabel(0, "MACD Osc"); SetIndexLabel(1, "MACD Osc"); SetIndexLabel(2, "MACD Osc"); ++ Quote:
Last edited by EQU; 15-04-2010 at 07:19 PM. Reason: ++ |
||
|
|
|
|
|
#6 | |
|
Новичок
Join Date: Nov 2008
Posts: 3
![]() |
Quote:
|
|
|
|
|
|
|
#7 |
|
Стажер
Join Date: Mar 2010
Posts: 61
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
__________________
Яндекс - найдётся всё! Google - ничего и не терялось! |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Broco - Брокер трейдинг на рынке форекс, futures, также cfd.