Ребята, есть небольшая просьба, имеется исходник файла для расчета уровней Pivot Point. Только расчет он производит по целым числам, цифер после запятой нет, поэтому не представляется возможным расчет цен с числами после запятой такие как евро\доллар втб и т.д
Прикладываю исходник
PORTFOLIO_EX VFPivot;
DESCRIPTION VFPivot;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM
cSrc=«GR_RTS24»
cTrgt=«GR_RTS60»
FUNC Text2Date(Year,Month,Day)
if (LEN(Month) < 2)
Month = «0» & Month
end if
if (LEN(Day) < 2)
Day = «0» & Day
end if
result = Year & Month & Day
END FUNC
Func LogData(Prm1,Prm2)
output = CREATE_MAP ()
output = SET_VALUE (output, «Param0», GET_INFO_PARAM(«SERVERTIME»))
output = SET_VALUE (output, «Param1», Prm1)
output = SET_VALUE (output, «Param2», Prm2)
ADD_ITEM (CurLogLine, output)
CurLogLine=CurLogLine+1
End Func
FUNC MyRound(pValue)
result=floor(pValue)
label_params=create_map()
label_params=set_value(label_params,«TEXT», result)
label_params=set_value(label_params,«IMAGE_PATH», «line.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 14)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
DELETE_ALL_ITEMS()
DELETE_ALL_LABELS(cTrgt)
CurLogLine=1
Year = "" & (0 + get_value(GET_DATETIME(), «YEAR»))
Month = "" & (0 + get_value(GET_DATETIME(), «MONTH»))
Day = "" & (0 + get_value(GET_DATETIME(), «DAY»))
Date = Text2Date(Year,Month,Day) & ""
LogData(«B», GET_INFO_PARAM(«SERVERTIME»))
for iDay from 1 to 2
Date=Date-1
if substr(Date & "",6,2)=«00»
Date=Date-68
end if
dCandles = Get_Candle_Ex (cSrc, Date, 0)
if dCandles<>""
dCandle=Get_Value (dCandles,«LINES»)
nO=Get_Value (dCandle,«OPEN»)+0
nH=Get_Value (dCandle,«HIGH»)+0
nL=Get_Value (dCandle,«LOW»)+0
nC=Get_Value (dCandle,«CLOSE»)+0
nDP=(nH+nL+nC)/3
nR1=2*nDP-nL
nS1=2*nDP-nH
nR2=nDP+(nR1-nS1)
nS2=nDP-(nR1-nS1)
LogData(«DP»,MyRound(nDP))
LogData(«R1»,MyRound(nR1))
LogData(«R2»,MyRound(nR2))
LogData(«S1»,MyRound(nS1))
LogData(«S2»,MyRound(nS2))
iDay=2
else
iDay=1
end if
end for
LogData(«E», GET_INFO_PARAM(«SERVERTIME»))
END_PROGRAM
PARAMETER Param1;
PARAMETER_TITLE Уровень;
PARAMETER_DESCRIPTION Уровень;
PARAMETER_TYPE STRING (200);
END
PARAMETER Param2;
PARAMETER_TITLE Знач;
PARAMETER_DESCRIPTION Знач;
PARAMETER_TYPE STRING (200);
END
END_PORTFOLIO_EX
Кстати PARAMETER_TYPE NUMERIC(8,4); менял сам, но после запятой вместо чисел, нули.
Как его модифицировать?
правда есть другой исходник Пивотов, но он настраивается исключительно для каждого инструмента, что очень неудобно, если интерестно могу и его приложить.
сча времени мало, могу завтра посмотреть… если забуду в личку напомни
Если смотреть по графику, то он вроде бы как счиает, а в таблице не показывает числа после запятой. Заранее спасибо
может знаешь в чем дело?
Тут пример как в табличку вывести
www.freeman.li/stati/programnoe-obespechenie/rasshirenija-dlja-quik/novyi-indikator-dlja-quik-urovni-pivot.html