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





СообщениеДобавлено: Пн Дек 01, 2008 3:31 pm Ответить с цитатой Вернуться к началу

В новых версиях Амиброкера наткнулся на пример визуального отображения чего-либо в виде круговой диаграммы. Смотрится интересно и занимает немного места. Ниже пример Random Walk Index. Это всего лишь пример ни на что не претендующий.

//////////////////Индикатор Random Walk Index//////////////////////////////
/////////////////////Формула индикатора///////////////////////////////
minperiodsRWIHi = Param( "Min Periods", 1, 1, 33, 1 );
maxperiodsRWIHi = Param( "Max Periods", 33, 1, 33, 1 );

minperiodsRWILo = Param( "Min Periods", 1, 1, 33, 1 );
maxperiodsRWILo = Param( "Max Periods", 33, 1, 33, 1 );

Ground = RWIHi( minperiodsRWIHi, maxperiodsRWIHi);
Sky = RWILo( minperiodsRWILo, maxperiodsRWILo);
////////////////////////Конец формулы/////////////////////////////////

GfxSetOverlayMode(2);

HGround = IIf(SelectedValue(Ground) < 0, SelectedValue(Ground) * -33.333, SelectedValue(Ground) * 33.333);
HSky = IIf(SelectedValue(Sky) < 0, SelectedValue(Sky) * -33.333, SelectedValue(Sky) * 33.333);

function DrawPiePercent( x, y, radius, startpct, endpct )
{
PI = 3.1415926;
sa = 2 * PI * startpct / 100;
ea = 2 * PI * endpct / 100;
xsa = x + radius * sin( sa );
ysa = y + radius * cos( sa );
xea = x + radius * sin( ea );
yea = y + radius * cos( ea );

GfxPie( x - radius, y - radius, x + radius, y + radius, xsa, ysa, xea, yea);
}

//////////////////////Прорисовка графика//////////////////////////////
radius = 0.11 * Status("pxheight");
textoffset = 2.4 * radius;

GfxSelectSolidBrush(colorDarkGreen);
DrawPiePercent( 1.1 * radius, 1.1 * radius, radius, HSky + HGround, 100);
GfxSelectSolidBrush(colorSeaGreen);
DrawPiePercent( 1.1*radius, 1.1*radius, radius, HGround, HSky + HGround);
GfxSelectSolidBrush(colorDarkRed);
DrawPiePercent( 1.1*radius, 1.1*radius, radius, 0, HGround);

GfxSetBkMode(1);
GfxSelectFont("Tahoma", 10, 700, True);
GfxSetTextColor(colorLavender);
GfxTextOut("Random Walk Index.", textoffset, 0);
GfxSelectFont("Tahoma", 10);
GfxTextOut("Возможные зоны:", textoffset + 140, 0);

GfxSetTextColor(colorDarkGreen);
GfxTextOut("уверенной покупки = " + (100 - (HSky + HGround)) + "%;", textoffset + 15, 15);
GfxSetTextColor(colorSeaGreen);
GfxTextOut("возможной покупки = " + HSky + "%;", textoffset + 15, 30);
GfxSetTextColor(colorDarkRed);
GfxTextOut("удержания или продажи = " + HGround + "%.", textoffset + 15, 45);
/////////////////////Конец прорисовки///////////////////////////////////
//////////////////////Конец Random Walk Index///////////////////
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen