Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 79

 
почему offline графики открытые тестером при закрытии терминала НЕ сохраняются как другие графики? столько информации потеряно..:(
 

Ребятки помогите..Недавно начал мучать mql4, с програмированием никогда не приходилось дружить.. Поэтому может вопрос покажется туповатым.. Решил создать советника, писал сам:

int start()
{
int type;
double max;
double min;

if(type==2)
{
min=Low[iLowest(Symbol(),0,MODE_LOW,6,1)]; // вычисляем минимальную цену последних 6 свечей
}
if(type==1)
{
max=High[iHighest(Symbol(),0,MODE_HIGH,6,1)]; // вычисляем максимальную цену последних 6 свечей
}


OrderSend ( Symbol (), OP_BUYSTOP, 0.1,max,3,min,max+0.0022, NULL,0,0, Red);// выставление отложенного байстопа
OrderSend ( Symbol (), OP_SELLSTOP, 0.1,min,3,max,min-0.0022, NULL,0,0, Yellow); // выставление отложенного селлстопа

return(0);
}

Смысл его такой : отслеживает последние 6 баров, и выставляет отложки по максимальной цене байстоп, по минимальной селлстоп, в определенное время..данный пример который я привел не хочет распознавать цену и стоплосс, соответственно логически исходя не понимает "min'' ''max'', хотя переменную обьявил, значение должно было высчитать в type 1 и type 2.. но поччемуто не высчитывает, может нужно добавить ордер селект где-то??? или что для этого нужно?? я еще не совсем вьежаю в их предназначение, хоть и описание функции уже везде читал, но не вьеду и все..(((((

Спасибо кто дочитал и думает как мне обьяснить что тут за проблемка =))

 
ex1m:

Ребятки помогите..Недавно начал мучать mql4, с програмированием никогда не приходилось дружить.. Поэтому может вопрос покажется туповатым.. Решил создать советника, писал сам:

int start()
{
int type;
double max;
double min;

if(type==2)
{
min=Low[iLowest(Symbol(),0,MODE_LOW,6,1)]; // вычисляем минимальную цену последних 6 свечей
}
if(type==1)
{
max=High[iHighest(Symbol(),0,MODE_HIGH,6,1)]; // вычисляем максимальную цену последних 6 свечей
}


OrderSend ( Symbol (), OP_BUYSTOP, 0.1,max,3,min,max+0.0022, NULL,0,0, Red);// выставление отложенного байстопа
OrderSend ( Symbol (), OP_SELLSTOP, 0.1,min,3,max,min-0.0022, NULL,0,0, Yellow); // выставление отложенного селлстопа

return(0);
}

Смысл его такой : отслеживает последние 6 баров, и выставляет отложки по максимальной цене байстоп, по минимальной селлстоп, в определенное время..данный пример который я привел не хочет распознавать цену и стоплосс, соответственно логически исходя не понимает "min'' ''max'', хотя переменную обьявил, значение должно было высчитать в type 1 и type 2.. но поччемуто не высчитывает, может нужно добавить ордер селект где-то??? или что для этого нужно?? я еще не совсем вьежаю в их предназначение, хоть и описание функции уже везде читал, но не вьеду и все..(((((

Спасибо кто дочитал и думает как мне обьяснить что тут за проблемка =))

1. для вставки кода есть кнопочка SRC - появляется при написании поста.

2. попробуйте словами описать алгоритм - возможно поймете чего не хватает. Подсказка выделена ;)

int start()
{
int type;//????????????????????????
double max;
double min;

if(type==2)// откуда значение ?
{
min=Low[iLowest(Symbol(),0,MODE_LOW,6,1)]; // вычисляем минимальную цену последних 6 свечей
}
if(type==1)// откуда значение ?
{
max=High[iHighest(Symbol(),0,MODE_HIGH,6,1)]; // вычисляем максимальную цену последних 6 свечей
}


OrderSend ( Symbol (), OP_BUYSTOP, 0.1,max,3,min,max+0.0022, NULL,0,0, Red);// выставление отложенного байстопа
OrderSend ( Symbol (), OP_SELLSTOP, 0.1,min,3,max,min-0.0022, NULL,0,0, Yellow); // выставление отложенного селлстопа

return(0);
}
 
VladislavVG:

1. для вставки кода есть кнопочка SRC - появляется при написании поста.

2. попробуйте словами описать алгоритм - возможно поймете чего не хватает. Подсказка выделена ;)



Спасибо Владислав!


Подсказки очень помогли понять суть!!

 

Помогите. Что нужно чтобы в этом индикаторе линии рисовались (во множестве) от каждого фрактала ко всем последующим? От верхних по верхним и от нижних по нижним.

Спасибо)

Файлы:
lfv1_3.mq4  5 kb
 
как научить эксперта определить ближайший локальный минимум и максимум? НО именно ближайший, а не самую высокую цену за указанное количество баров. Может быть быть с помощью индикатора тоже можно (который рисует точки)? Но как это сделать? В функции iCustom параметр shift указывает только на указанный бар. Как быть не знаю, помогите пожалуйста.
 
webip:
как научить эксперта определить ближайший локальный минимум и максимум? НО именно ближайший, а не самую высокую цену за указанное количество баров. Может быть быть с помощью индикатора тоже можно (который рисует точки)? Но как это сделать? В функции iCustom параметр shift указывает только на указанный бар. Как быть не знаю, помогите пожалуйста.
А что считать ближайшим минимумом/максимумом, если не привязываться к барам/времени? Предыдущий тик что-ли?
 
webip:
как научить эксперта определить ближайший локальный минимум и максимум? НО именно ближайший, а не самую высокую цену за указанное количество баров. Может быть быть с помощью индикатора тоже можно (который рисует точки)? Но как это сделать? В функции iCustom параметр shift указывает только на указанный бар. Как быть не знаю, помогите пожалуйста.

С понятиями определились? Что такое локальный минимум/максимум? Это ни что иное, как самый ближайший к текущей цене экстремум цены, либо верхний, либо нижний.

Что такое экстремум? Например верхний. Это фрактал, состоящий минимум из трёх свечей - такая формация, где из трёх свечей, идущих подряд, High средней свечи выше High свечей, находящихся справа и слева от центральной. Для поиска такого ближайшего фрактала нужно организовать цикл по барам, начиная от первого бара (нулевой ещё не сформировался) вглубь истории. Как только найдёте нужный экстремум, запоминаете номер бара и High его центральной свечи. Эти два значения будете использовать для дальнейших расчётов.

 
lottamer:
хочу присвоить переменной значение цены.



но почему-то цена рисуется четырех значная по евре 1,3360

подскажите ошибку?
Где рисуется?
 
PapaYozh:
Где рисуется?
Да надо было сразу предложить кисточку для рисования: DoubleToStr() и не спрашивать "хде?"
Причина обращения: