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

 
Добрый день, нужна помощь. Есть определённый бар и цена его закрытия. Как реализовать следущий момент: сова должна открывать позицию после того как разница между текущей ценой и ценой закрытия пределённого бара станет больше заданной. У меня получается только вычислять разницу между ценой закрытия заданного и ценой закрытия текущего( а не с ценой в данный момент времени - чего и хочу добиться).
 
mmero:

Уважаемые профи!

Пожалуйста, подскажите наиболее правильный и быстрый метод расчета коэффициента перекрытия двух соседних свечей.

Подозреваю, уже давно написаны для этого индикаторы и лежат они тут же в базе, но никак не найду.

Я бы так сделал:

double coef;


if(NormalizeDouble(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]),Digits)==0)  coef = 0;   //обе свечи нулевые и на одном уровне
if(MathMin(High[i],High[i+1])<MathMax(Low[i],Low[i+1]) coef = 0;                                //свечи не перекрываются

else coef = (MathMin(High[i],High[i+1])-MathMax(Low[i],Low[i+1]))/(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]))
 
tommy27:
Добрый день, нужна помощь. Есть определённый бар и цена его закрытия. Как реализовать следущий момент: сова должна открывать позицию после того как разница между текущей ценой и ценой закрытия пределённого бара станет больше заданной. У меня получается только вычислять разницу между ценой закрытия заданного и ценой закрытия текущего( а не с ценой в данный момент времени - чего и хочу добиться).
используйте iClose(0,0,0) для получения текущей Bid цены текущего символа текущего таймфрейма
 
oDin48:

Ребят, подскажите, пожалуйста, код, чтобы какое то действие совершалось после изменения на какое-то кол-во пунктов за какое-то время.

Пример. Открыть бай если цена изменилась на 20 пунктов за 10 минут.

формулируйте точнее:

1. ровно на 20 пунктов ровно за 10 минут

2. не менее, чем на 20 пунктов за последние 10 минут

3. за последние 10 минут изменение хотя бы раз достигало значения 20 пунктов

...

???

 
alsu:
используйте iClose(0,0,0) для получения текущей Bid цены текущего символа текущего таймфрейма
Спасибо, я делал и через Close и как Вы советуете,:
StartPrice1 =  iClose(0,0,0);
//StartPrice1 = Close[0];
Delta1 = MathAbs (Price0 - StartPrice1);
Comment (Delta1);
Print ("Raznica= ",Delta1);
но результат обновляется только при появлении нового бара а хотелось бы видеть и фиксировать изменения на каждом тике.
 
alsu:
используйте iClose(0,0,0) для получения текущей Bid цены текущего символа текущего таймфрейма
А можно ли определить цену закрытия текущего бара iClose(0,0,0) если он ещё не закрылся? По моему shift надо >0.
 
Подскажите.Возможно ли сделать применение пользовательского индикатора к пользовательскому индикатору,как это можно сделать в стандартных индюках(выбирая применить к Previous or first indicator`s data).При расчете пользовательских индикаторов нашел только применение стандартных ценовых констант(закрытие,открытие,типичная цена ...),а вот как всобачить туда расчет не цены,а индикатора так и не нашел.
 
tommy27:
Добрый день, нужна помощь. Есть определённый бар и цена его закрытия. Как реализовать следущий момент: сова должна открывать позицию после того как разница между текущей ценой и ценой закрытия пределённого бара станет больше заданной. У меня получается только вычислять разницу между ценой закрытия заданного и ценой закрытия текущего( а не с ценой в данный момент времени - чего и хочу добиться).
int bar=1; // заданный бар
int raznica=10; 
if (MathAbs(iClose(0,0,bar)-Bid)>raznica*Point)
   { OrderSend(...)
     ...
   }

Только учтите, что надо поставить дополнительное какое-то ограничение чтобы после исполнения этого условия советник на каждом тике не открывал позиции..

 
paladin80:
А можно ли определить цену закрытия текущего бара iClose(0,0,0) если он ещё не закрылся? По моему shift надо >0.

при shift=0 возвращает текущую цену

 
paladin80:
А можно ли определить цену закрытия текущего бара iClose(0,0,0) если он ещё не закрылся? По моему shift надо >0.

Цена закрытия у нулевого бара есть всегда, но с приходом нового тика она меняется.
Причина обращения: