Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Формула расчета EMA в Amibroker Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Mr. Foggs



Зарегистрирован: 03.07.2012
Сообщения: 5

СообщениеДобавлено: Сб Авг 25, 2012 8:18 pm Ответить с цитатой Вернуться к началу

Протестировал стратегию в Amibroker - пытаюсь перенести ее на другую систему (на C#), но, похоже в другой системе EMA считается иначе, ибо ничем другим несовпадение показателей свечей не могу объяснить на данном этапе.

Подскажите, по какой формуле в Amibroker считается EMA?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Авг 25, 2012 9:52 pm Ответить с цитатой Вернуться к началу

Код:

per = 43; // Период
p = (Per+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE[i] = C[i];
  else
  {
    MAE[i] = MAE[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

Plot(MAE, "", colorRed);

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mr. Foggs



Зарегистрирован: 03.07.2012
Сообщения: 5

СообщениеДобавлено: Вс Авг 26, 2012 8:35 am Ответить с цитатой Вернуться к началу

Спасибо. Как оказалось - в другой системе - так же. Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
Aleksandr



Зарегистрирован: 13.11.2011
Сообщения: 99

СообщениеДобавлено: Сб Сен 12, 2015 4:11 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Код:

per = 43; // Период
p = (Per+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE[i] = C[i];
  else
  {
    MAE[i] = MAE[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

Plot(MAE, "", colorRed);



Пожалуйста напишите формулу MACDи , в поиске не нашёл .
Посмотреть профиль Отправить личное сообщение
Hokum



Зарегистрирован: 15.11.2013
Сообщения: 60

СообщениеДобавлено: Сб Сен 12, 2015 4:58 pm Ответить с цитатой Вернуться к началу

Aleksandr писал(а):
000 писал(а):
Код:

per = 43; // Период
p = (Per+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE[i] = C[i];
  else
  {
    MAE[i] = MAE[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

Plot(MAE, "", colorRed);



Пожалуйста напишите формулу MACDи , в поиске не нашёл .

Вроде в стандартныъ формулах Амика он есть. Раздел Indicatros во вкладке Charts
Посмотреть профиль Отправить личное сообщение
Aleksandr



Зарегистрирован: 13.11.2011
Сообщения: 99

СообщениеДобавлено: Сб Сен 12, 2015 5:15 pm Ответить с цитатой Вернуться к началу

Hokum писал(а):
Aleksandr писал(а):
000 писал(а):
Код:

per = 43; // Период
p = (Per+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE[i] = C[i];
  else
  {
    MAE[i] = MAE[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

Plot(MAE, "", colorRed);



Пожалуйста напишите формулу MACDи , в поиске не нашёл .

Вроде в стандартныъ формулах Амика он есть. Раздел Indicatros во вкладке Charts


Мне нужна формула расчёта на AFL .
Посмотреть профиль Отправить личное сообщение
Hokum



Зарегистрирован: 15.11.2013
Сообщения: 60

СообщениеДобавлено: Ср Сен 16, 2015 10:34 am Ответить с цитатой Вернуться к началу

Код:

_SECTION_BEGIN("MACD");
r1 = Param( "Fast avg", 12, 2, 200, 1 );
r2 = Param( "Slow avg", 26, 2, 200, 1 );
r3 = Param( "Signal avg", 9, 2, 200, 1 );
Plot( ml = MACD(r1, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1, r2), ParamColor("MACD color", colorRed ), ParamStyle("MACD style") );
Plot( sl = Signal(r1,r2,r3), "Signal" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), ParamStyle("Signal style") );
Plot( ml-sl, "MACD Histogram", ParamColor("Histogram color", colorDefault ), styleNoTitle | ParamStyle("Histogram style", styleHistogram | styleNoLabel, maskHistogram ) );
_SECTION_END();

ОНО?
Посмотреть профиль Отправить личное сообщение
DMITRY



Зарегистрирован: 18.09.2009
Сообщения: 179

СообщениеДобавлено: Чт Сен 17, 2015 9:38 am Ответить с цитатой Вернуться к началу

myMACD = EMA(C,9)*(EMA(C,12) - EMA(C,26));
srMACD = EMA(myMACD,9);

Plot(myMACD,"myMACD",colorRed,styleLine);
Plot(srMACD,"",colorBlue,styleLine);
Plot(myMACD-srMACD,"",colorYellow,styleHistogram);
Посмотреть профиль Отправить личное сообщение
Aleksandr



Зарегистрирован: 13.11.2011
Сообщения: 99

СообщениеДобавлено: Пт Сен 25, 2015 10:08 am Ответить с цитатой Вернуться к началу

DMITRY писал(а):
myMACD = EMA(C,9)*(EMA(C,12) - EMA(C,26));
srMACD = EMA(myMACD,9);

Plot(myMACD,"myMACD",colorRed,styleLine);
Plot(srMACD,"",colorBlue,styleLine);
Plot(myMACD-srMACD,"",colorYellow,styleHistogram);

Ребята Спасибо Вам за ответы
Посмотреть профиль Отправить личное сообщение
Aleksandr



Зарегистрирован: 13.11.2011
Сообщения: 99

СообщениеДобавлено: Пт Сен 25, 2015 11:28 am Ответить с цитатой Вернуться к началу

Aleksandr писал(а):
DMITRY писал(а):
myMACD = EMA(C,9)*(EMA(C,12) - EMA(C,26));
srMACD = EMA(myMACD,9);

Plot(myMACD,"myMACD",colorRed,styleLine);
Plot(srMACD,"",colorBlue,styleLine);
Plot(myMACD-srMACD,"",colorYellow,styleHistogram);

Ребята Спасибо Вам за ответы


Вот в коде не пишется разность 12 и 26 периодной , а потом вычертить её
Посмотреть профиль Отправить личное сообщение
DMITRY



Зарегистрирован: 18.09.2009
Сообщения: 179

СообщениеДобавлено: Сб Сен 26, 2015 6:04 am Ответить с цитатой Вернуться к началу

Код:
per1 = 12; // Период
p = (Per1+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE1[i] = C[i];
  else
  {
    MAE1[i] = MAE1[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

//Plot(MAE1, "MAE1", colorRed);

per2 = 26; // Период
p = (Per2+1)/2;

for( i = 1; i < BarCount; i++ )
{
  if(i == 1)
    MAE2[i] = C[i];
  else
  {
    MAE2[i] = MAE2[i-1]*(1 - 1/p) + C[i]*(1/p);
  }
}

//Plot(MAE2, "MAE2", colorBlue);
Plot(MAE1-MAE2,"",colorGreen,styleLine);
Посмотреть профиль Отправить личное сообщение
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Чт Ноя 05, 2015 6:44 pm Ответить с цитатой Вернуться к началу

А простую "MA" как рассчитать на AFL ?

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Ноя 05, 2015 10:02 pm Ответить с цитатой Вернуться к началу

А зачем и чем не нравится встроенная функция MA(Array, Period)?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Пт Ноя 06, 2015 12:11 am Ответить с цитатой Вернуться к началу

Для эксперимента. Встроенная функция - это чужая работа, работа - механизм которой нужно знать.

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Ноя 06, 2015 1:05 am Ответить с цитатой Вернуться к началу

Код:
Period = 10;
MyMA = Sum(C, Period)/Period;

Расчет простой МАшки прост как жопа. Какие там могут быть разночтения?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen