Автор |
Сообщение |
Aleksandr
Зарегистрирован: 13.11.2011
Сообщения: 99
|
Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
Aleksandr писал(а): |
Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание . |
в смысле? весь код откомментировать вам? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Aleksandr
Зарегистрирован: 13.11.2011
Сообщения: 99
|
MrDrJOKER писал(а): |
Aleksandr писал(а): |
Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание . |
в смысле? весь код откомментировать вам? |
Да . Мне надо комментарии . Можно отправить в личное сообщение . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Жди неделю.
В следующее воскресенье напомни. Сделаю. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Mechanic
Зарегистрирован: 10.06.2008
Сообщения: 359
|
Олегу памятник пора ставить. ))
Вот только не надо баянистых шуток про оградку к нему. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Aleksandr
Зарегистрирован: 13.11.2011
Сообщения: 99
|
Mechanic писал(а): |
Олегу памятник пора ставить. ))
Вот только не надо баянистых шуток про оградку к нему. |
Но этот код десятилетней давности . По этому и задал вопрос . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
Код: |
CYCLES IN TIME AND MONEY
In "Cycles In Time And Money" article Stuart Belknap presents his own variation of classic MACD indicator called Universal Cycle Index (UCI). Implementing such indicator in AmiBroker Formula Language (AFL) is straightforward. Ready-to-use code is presented in Listing 1. Instead of writing separate formulas for minor, secondary and intermediate cycles we have written one parameterized formula that implements all variations and allows the user to choose period and kind (centered vs. non-centered) of the indicator directly from AmiBroker's graphical user interface.
LISTING 1
function SigomPcnt()
{
yom = 100 * ( C - Ref( MA( C, 25 ), 12 ) )/Ref( MA( C, 25 ), 12 );
avyom = MA( yom, 50 );
varyom = MA( yom ^ 2, 50 ) - avyom ^ 2;
som = Ref( sqrt( varyom ), -12 );
return MA( som, 25 );
}
function UCI( period )
{
period2 = floor( period / 2 ); // divide original period by 2
period4 = floor( period / 4 ); // half
sigom = SigomPcnt();
yme = 100 * ( EMA( C, period4 ) - EMA( C, period2 ))/EMA( C, period2 );
ymes = TSF( yme, 6 );
return 100 * ymes / sigom;
}
function CenteredUCI( period )
{
period2 = floor( period / 2 ); // divide original period by 2
period4 = floor( period / 4 ); // half
sigom = SigomPcnt();
ym = 100 * ( Ref( MA( C, period2 ), period4 ) - Ref( MA( C, period ), period2 ) ) /
Ref( MA( C, period ), period2 );
return 100 * ym / sigom;
}
period = Param("period", 25, 25, 100, 2 );
IsCentered = ParamToggle("Centered?", "No|Yes");
grid = IIf( period >= 100, 150, IIf( period >= 50, 100, 50 ) );
SetChartOptions( 0, 0, 0 );
if( IsCentered )
{
Plot( x = CenteredUCI( period ), "Centered UCI(" + period + ")", ParamColor("Color", colorRed) );
}
else
{
Plot( x = UCI( period ), "UCI(" + period + ")", ParamColor("Color", colorRed) );
}
PlotGrid( grid );
PlotGrid( 0 );
|
там в принципе несложные ф-ции. какие строки вам непонятны? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Aleksandr
Зарегистрирован: 13.11.2011
Сообщения: 99
|
[quote="MrDrJOKER"][code]
CYCLES IN TIME AND MONEY
MrDrJOKER . Спасибо что откликнулся . Всё наверное много , тогда
может первые две функции . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
Код: |
yom = 100 * ( C - Ref( MA( C, 25 ), 12 ) )/Ref( MA( C, 25 ), 12 ); |
из close вычитают значение средней (период 25) 12 баров(или полупериода) назад, делят на неё же и умножают на 100. т.е. высчитывают процентное отклонение актуального Close от уровня MA25 пол периода назад.
Код: |
avyom = MA( yom, 50 ); |
усредняют значения отклонений двойным периодом.
Код: |
varyom = MA( yom ^ 2, 50 ) - avyom ^ 2; |
усредняют квадрат процентного отклонения двойным периодом и вычитают возведенное в квадрат усредненное процентное отклонение, т.е., вроде как, пытаются усилить разницу значений в направлении тренда, как я понимаю.
Код: |
som = Ref( sqrt( varyom ), -12 ); |
выводят корень из разницы прошлых квадратов.
Код: |
return MA( som, 25 ); |
и выдают сглаженное значение за период 25.
т.е. грубо - первая ф-ция даёт разницу квадратов отконения.
как-то так. как смог |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MrDrJOKER
Зарегистрирован: 22.06.2009
Сообщения: 489
|
Цитата: |
Расчет и параметры
Для расчета используется в качестве базы две экспоненциальные скользящие средние. Их значения корректируются с учетом подчиненных циклов движения цены. Для корректировки используется стандартное отклонение расстояния в процентах между двумя скользящими средними полу-периода и четверти периода. Благодаря этому значение индикатора сопоставимо в каждом таймфрейме и во всех базовых инструментах. |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
Aleksandr
Зарегистрирован: 13.11.2011
Сообщения: 99
|
[quote="MrDrJOKER"][quote]Расчет и параметры
MrDrJOKER, Спасибо тебе за разяснение . |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|