Freddie Mac
Гость
|
В новых версиях Амиброкера наткнулся на пример визуального отображения чего-либо в виде круговой диаграммы. Смотрится интересно и занимает немного места. Ниже пример 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/////////////////// |
|
|