здрасти всем вот пробую составлять програмки и возникла
проблема не могу понять почему не получается помогите разобраться
можно и разжевать :-)
хочу зделать чтобы линия меняла цвет в зависимости от тренда так скажем(примитивный индюк)
она вроде меняет но появляются пропуски как будто в расчете пропускает бар
вчем моя ошибка
//-------------------------------------------------------------------- #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue // Цвет первой линии #property indicator_color2 Red // Цвет второй линии
double Buf_0[],Buf_1[]; // Открытие индикаторных массивов //-------------------------------------------------------------------- int init() // Специальная функция init() { //-------------------------------------------------------------------- SetIndexBuffer(0,Buf_0); // Назначение массива буферу SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии //-------------------------------------------------------------------- SetIndexBuffer(1,Buf_1); SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2); //-------------------------------------------------------------------- return; } //-------------------------------------------------------------------- int start() { int i,Counted_bars; //-------------------------------------------------------------------- Counted_bars=IndicatorCounted(); // Количество просчитанных баров i=Bars-Counted_bars-1; // Индекс первого непосчитанного while(i>=0) // Цикл по непосчитанным барам { double a=(High[i]+Low[i])/2; double b=(High[i+1]+Low[i+1])/2; if (a=>b) Buf_0[i]=a; //меняем или не меняем цвет if (a<b) Buf_1[i]=a; i--; } //-------------------------------------------------------------------- return; } //--------------------------------------------------------------------
Здравствуйте!!! Подскажите пожалуйста, как реализовать это в код? Надо чтоб после 3 (Кол-во задается отдельно) убыточных ордеров по sl открылось дава ордера, на покупку и на продажу. Растояние между ними задовалось отдельной переменной.
Здравствуйте, хочу посчитать 'исторический внутридневной ATR' (т.е. скажем, среднее для каждого часа в течении последних 30 дней ) и хочется верить, что что-то такое уже должно быть - может как-то по-другому называется индикатор или как-то можно настроить имеющиеся? если кто знает, подскажите пожалуйста!
Top2n: Здравствуйте!!! Подскажите пожалуйста, как реализовать это в код? Надо чтоб после 3 (Кол-во задается отдельно) убыточных ордеров по sl открылось дава ордера, на покупку и на продажу. Растояние между ними задовалось отдельной переменной.
Заводим переменную, равную нулю и при убыточности закрывшейся позиции увеличиваем её на 1. Как только она достигнет требуемого значения, открываем нужные позиции. Вот и вся логика...
Гляньте пожалуйста на код, а то не могу понять почему ордера не закрываются
интересная конструкция: if (Bid>max) max=Bid; if (Ask<min) min=Ask;
а Вы уверенны, что если цена, скажем, идет вверх, то if ((max-Bid)>=lim*Point) выполнится?
я бы сделал так - в секции init(), к примеру запомнил бы цену при старте советника ( можно и не в инит) - и потом бы от этой цены и плясал бы, можно запомнить цену при выставлении ордера
а как у Вас вроде получается, что Вы по тикам будете раздвигать свои min и maх и в этом коридоре будете контролировать свои ордера
А как вы думаете определяться - откат это или разворот? Или на каждом откате будете открывать по две позиции? Это слив...
Для начала я хотел бы чтоб это заработало, а потом погонять "советник" в тестере, чтоб подобрать размер параметра lim.
проблема не могу понять почему не получается помогите разобраться
можно и разжевать :-)
хочу зделать чтобы линия меняла цвет в зависимости от тренда так скажем(примитивный индюк)
она вроде меняет но появляются пропуски как будто в расчете пропускает бар
вчем моя ошибка
//--------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue // Цвет первой линии
#property indicator_color2 Red // Цвет второй линии
double Buf_0[],Buf_1[]; // Открытие индикаторных массивов
//--------------------------------------------------------------------
int init() // Специальная функция init()
{
//--------------------------------------------------------------------
SetIndexBuffer(0,Buf_0); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
//--------------------------------------------------------------------
SetIndexBuffer(1,Buf_1);
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2);
//--------------------------------------------------------------------
return;
}
//--------------------------------------------------------------------
int start()
{
int i,Counted_bars;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанного
while(i>=0) // Цикл по непосчитанным барам
{
double a=(High[i]+Low[i])/2;
double b=(High[i+1]+Low[i+1])/2;
if (a=>b) Buf_0[i]=a; //меняем или не меняем цвет
if (a<b) Buf_1[i]=a;
i--;
}
//--------------------------------------------------------------------
return;
}
//--------------------------------------------------------------------
Для начала я хотел бы чтоб это заработало, а потом погонять "советник" в тестере, чтоб подобрать размер параметра lim.
Здравствуйте!!! Подскажите пожалуйста, как реализовать это в код? Надо чтоб после 3 (Кол-во задается отдельно) убыточных ордеров по sl открылось дава ордера, на покупку и на продажу. Растояние между ними задовалось отдельной переменной.
Вот и вся логика...
Можете пасаветовать роботы которые работают 15 дней и которые не отличаются по прибыли с гепардом 2.5?
Прошу сылку или сайт и т д.
Зарание благодарю за патраченое время
А вы его к ATR прицепите. Будет динамика и подгонять не нужно - от волатильности рынка всё зависеть будет
Гляньте пожалуйста на код, а то не могу понять почему ордера не закрываются
Гляньте пожалуйста на код, а то не могу понять почему ордера не закрываются
интересная конструкция:
if (Bid>max) max=Bid;
if (Ask<min) min=Ask;
а Вы уверенны, что если цена, скажем, идет вверх, то if ((max-Bid)>=lim*Point) выполнится?
я бы сделал так - в секции init(), к примеру запомнил бы цену при старте советника ( можно и не в инит) - и потом бы от этой цены и плясал бы, можно запомнить цену при выставлении ордера
а как у Вас вроде получается, что Вы по тикам будете раздвигать свои min и maх и в этом коридоре будете контролировать свои ордера