[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 316

 
GarKain:
получилось так что на новом баре открывается неограниченное количество ордеров. раньше было что все они сразу открывались а теперь один открылся ожидается новый бар и все остальные открываются.


Вы что, пытаетесь править чужой код? Если так, то придётся разобраться в нём от и до, чтоб каждая буква понятной стала. В противном случае Вам будет ещё труднее. А ещё лучше написать свой код. В этом случае понимаешь, что у тя к чему, где может возникнуть ошибка, как её отловить и как исправить.

Если такие пробелемы у Вас со СВОИМ кодом, то значит я правильно поступил - качайте курс Роша (ссылка выше) и начинайте с создания скриптов. Быстрее не получится. А Вашу работу за Вас делать ни кто не будет. Если нет желания учиться - тогда это прямая дорога либо отказаться от затеи, либо нанять программера.

 
в Метатрейдере существует 6 видов масштаба по временной шкале. Существует ли функция, которая возвращает номер масштаба?
 
silhouette:
в Метатрейдере существует 6 видов масштаба по временной шкале. Существует ли функция, которая возвращает номер масштаба?

Period() - смотрите тут и тут
 

Здравствуйте! Индикатор рисует стрелки при пересечении кривых, этот сигнал через iCustom я перенес в советник. Но позиции открываются либо вверх, либо вниз-

в зависимости от Проверки на сигнал: сначала и на buy и на sell было db/ub == 0 открывает только длинные сделки, после сигнал стал db!=1 и ub!=0 открывает только короткие позиции

ставлю db!=0 и ub!=!0 сделок не открывает вообще. Честное слово не знаю что делать, перелопатил индикатор, советник - но причины "недуга" найти не могу.

Дайте совет, пожалуйста!

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   
 
drknn:

Period() - смотрите тут и тут

Нет, я имею ввиду лупу (+, -) - масштаб по горизонтальной шкале.
 
silhouette:

Нет, я имею ввиду лупу (+, -) - масштаб по горизонтальной шкале.

Не, в MQL4 нету
 
skyjet:

Здравствуйте! Индикатор рисует стрелки при пересечении кривых, этот сигнал через iCustom я перенес в советник. Но позиции открываются либо вверх, либо вниз-

в зависимости от Проверки на сигнал: сначала и на buy и на sell было db/ub == 0 открывает только длинные сделки, после сигнал стал db!=1 и ub!=0 открывает только короткие позиции

ставлю db!=0 и ub!=!0 сделок не открывает вообще. Честное слово не знаю что делать, перелопатил индикатор, советник - но причины "недуга" найти не могу.

Дайте совет, пожалуйста!


Довольно странная проверка

//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }

if(db!=1)? то это шортовый сигнал. А если при этом в db будет содержаться ноль? Ведь неравенство станет истинным и это тож будет сигнал?

Как можно дать совет, если ни кто не знает что там у Вас в коде? А кусочек, кторорый Вы привели - это всего лишь инициализация переменных значениями индикатора. Ну вот смотрите, отрисовалась стрелка вверх. По идее индикаторный буффер "стрелок вверх" должен содержать цену установки стрелки, а другой (буффер "стрелок вниз") должен быть на этой свечке пустой (по идее). Но что там у Вас в реальности - одному Богу известно...

 
drknn:


Довольно странная проверка

if(db!=1)? то это шортовый сигнал. А если при этом в db будет содержаться ноль? Ведь неравенство станет истинным и это тож будет сигнал?

Как можно дать совет, если ни кто не знает что там у Вас в коде? А кусочек, кторорый Вы привели - это всего лишь инициализация переменных значениями индикатора. Ну вот смотрите, отрисовалась стрелка вверх. По идее индикаторный буффер "стрелок вверх" должен содержать цену установки стрелки, а другой (буффер "стрелок вниз") должен быть на этой свечке пустой (по идее). Но что там у Вас в реальности - одному Богу известно...

Да, у индикатора 2 буфера с ценами стрелок, из которых я и пытаюсь получить сигнал. Но тщетно, ибо какую бы комбинацию я не испытывал, открываются либо только длинные позиции, либо

только короткие, либо никаких. У индикатора всего 2 внешние переменные, коими и являются буферы цен стрелок.

Я никак не могу понять, как возможны открытия сделок в одну сторону, но не в две.

if( bs==1 && bs!=EMPTY_VALUE )
 {
  BuySignal=true;
 }
if( ss==1 && ss!=EMPTY_VALUE )
 {
  SellSignal=true;
 }
 
double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх

if( ub!=0 && bs!=EMPTY_VALUE ) //стрелка вверх не равна нулю или пустому значению (то есть,она существует)
 {
  BuySignal=true;
 }
if( db!=0 && ss!=EMPTY_VALUE )//стрелка вниз не равна нулю или пустому значению (то есть,она существует)
 {
  SellSignal=true;
 }
А так пробовали?
 
granit77:
А так пробовали?

Да, это один из вариантов, когда никакие сделки не открываются. У меня вопрос, влияет ли порядок занесения цен стрелое в стрелочные буферы на iCustom. Я имею ввиду, если индикатор сначала

определяет нисходящее движение, а потом восходящее?

Причина обращения: