| / | Форум |
|
eddy
18.04.2010 18:07
1.ЕМА определяется путём
добавления к ЕМА[1] определенной
доли Close[0] - какой доли конкретно? (вопрос решён)
2.как найти вес клозов в текущем значении ема? |
|
Бесплатная Groupware для групп разработчиков Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение. |
12485 |
Mathemat
18.04.2010 18:09
|
|
eddy
18.04.2010 18:11
каким образом?
|
12485 |
Mathemat
18.04.2010 18:20
Загляни в индюкатор, поставляемый стандартно - Moving Average. Там будет понятнее.
Грубо говоря, твоя доля получится исходя из сравнения с периодом индюкатора примерно с таким же сглаживанием. Вот код для ЕМА (pr - твоя доля): //+------------------------------------------------------------------+ //| Exponential Moving Average | //+------------------------------------------------------------------+ void ema() { double pr=2.0/(MA_Period+1); int pos=Bars-2; if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1; //---- main calculation loop while(pos>=0) { if(pos==Bars-2) ExtMapBuffer[pos+1]=Close[pos+1]; ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr); pos--; } }А вообще почаще заглядывай в документацию, размещенную на сайте, а также в сами коды. |
|
Svinozavr
18.04.2010 18:20
ema[i]=k*Close[i] + (1-k)*ema[i+1];
где k - доля 0...1. Часто вместо доли используют период, из которого рассчитывают эту долю: k=2.0/(1+period). Т.е. EMA долей 0.5 будет соотв. период 3. |
|
eddy
18.04.2010 18:21
залез в исходник ЕМА void ema() { double pr=2.0/(MA_Period+1); // что значит период МА + 1? зачем? int pos=Bars-2; if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1; //---- main calculation loop while(pos>=0) { if(pos==Bars-2) ExtMapBuffer[pos+1]=Close[pos+1]; ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr); // Buffer[i]=Close[i]*2% + Buffer[i+1]*(1-2) непонятно: зачем ЕМА[i+1] умножается на 1-2? pos--; } } |
|
Svinozavr
18.04.2010 18:22
Mathemat >>:
Загляни в индюкатор, поставляемый стандартно - Moving Average. Там будет понятнее. Грубо говоря, твоя доля получится исходя из сравнения с периодом индюкатора примерно с таким же сглаживанием. Вот код для ЕМА (pr - твоя доля): А вообще почаще заглядывай в документацию, размещенную на сайте, а также в сами коды. Совсем народ обленился. Неужели наше косноязычие им милее выверенных формулировок в доке? ))) |
|
eddy
18.04.2010 18:25
непонятно с чего вы взяли что я не смотрел документацию, я спросил о том чего там нет
и в описании темы написал формулу, она - единственное что есть в доках |
|
Svinozavr
18.04.2010 18:29
Да ладно. Все там есть. И вычисление доли из периода тоже.
ок. Теперь-то разобрались с "долей"? |
|
eddy
18.04.2010 18:32
"Часто вместо доли используют период, из которого рассчитывают эту долю:
k=2.0/(1+period)." а 2.0 это тогда что, если не доля? ведь по твоим словам вместо доли используется период
|
12485 |
Mathemat
18.04.2010 18:36
Это формула Эйлерса, если не ошибаюсь. Но уже не помню, как она была выведена.
|
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий