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



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

СообщениеДобавлено: Ср Мар 19, 2014 6:23 pm Ответить с цитатой Вернуться к началу

Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание .
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Ср Мар 19, 2014 11:23 pm Ответить с цитатой Вернуться к началу

Aleksandr писал(а):
Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание .


в смысле? весь код откомментировать вам?
Посмотреть профиль Отправить личное сообщение
Aleksandr



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

СообщениеДобавлено: Чт Мар 20, 2014 5:52 am Ответить с цитатой Вернуться к началу

MrDrJOKER писал(а):
Aleksandr писал(а):
Здравствуйте . На www.Amibroker.com нашёл код, Заглавие перевёл
через Гугл переводчик , а нужен комментарий к строкам кода, а то смотрю на него вслепую . Может где есть . Надо бы описание .


в смысле? весь код откомментировать вам?

Да . Мне надо комментарии . Можно отправить в личное сообщение .
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Мар 22, 2014 8:55 pm Ответить с цитатой Вернуться к началу

Жди неделю.
В следующее воскресенье напомни. Сделаю.

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



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

СообщениеДобавлено: Пн Мар 24, 2014 2:40 pm Ответить с цитатой Вернуться к началу

Олегу памятник пора ставить. ))

Вот только не надо баянистых шуток про оградку к нему. Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
Aleksandr



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

СообщениеДобавлено: Пн Мар 24, 2014 4:54 pm Ответить с цитатой Вернуться к началу

Mechanic писал(а):
Олегу памятник пора ставить. ))

Вот только не надо баянистых шуток про оградку к нему. Smile

Но этот код десятилетней давности . По этому и задал вопрос .
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

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

Код:

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

СообщениеДобавлено: Вт Мар 25, 2014 7:39 am Ответить с цитатой Вернуться к началу

[quote="MrDrJOKER"][code]
CYCLES IN TIME AND MONEY
MrDrJOKER . Спасибо что откликнулся . Всё наверное много , тогда
может первые две функции .
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Ср Мар 26, 2014 2:52 am Ответить с цитатой Вернуться к началу

Код:
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.

т.е. грубо - первая ф-ция даёт разницу квадратов отконения.

как-то так. как смог Laughing
Посмотреть профиль Отправить личное сообщение
MrDrJOKER



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

СообщениеДобавлено: Ср Мар 26, 2014 3:13 am Ответить с цитатой Вернуться к началу

Цитата:
Расчет и параметры
Для расчета используется в качестве базы две экспоненциальные скользящие средние. Их значения корректируются с учетом подчиненных циклов движения цены. Для корректировки используется стандартное отклонение расстояния в процентах между двумя скользящими средними полу-периода и четверти периода. Благодаря этому значение индикатора сопоставимо в каждом таймфрейме и во всех базовых инструментах.
Посмотреть профиль Отправить личное сообщение
Aleksandr



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

СообщениеДобавлено: Ср Мар 26, 2014 7:22 am Ответить с цитатой Вернуться к началу

[quote="MrDrJOKER"][quote]Расчет и параметры
MrDrJOKER, Спасибо тебе за разяснение .
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen