PORTFOLIO_EX pivot_sberp; DESCRIPTION pivot_sberp; CLIENTS_LIST ALL_CLIENTS; FIRMS_LIST ALL_FIRMS; PROGRAM ' Настраиваемые параметры ClassCodeList="EQBR" ' код класса инструмента Instrument="SBERP03" ' название инструмента Interval_day=-1' интервал (таймфрейм) на графике Interval=30 DayToFind=30 ' сколько дней назад искать свечи (можно уменьшить, чтоы ускорить работу программы) CandleToFind=2 ' сколько свечей надо найти DELETE_ALL_ITEMS() DELETE_ALL_LABELS ("sberp_day") CandleCount=0 CurYear=get_value(GET_DATETIME(), "YEAR") CurMonth=get_value(GET_DATETIME(), "MONTH") CurDay=get_value(GET_DATETIME(), "DAY") CurHour = GET_VALUE(GET_DATETIME(), "Hour") CurMin = GET_VALUE(GET_DATETIME(), "Min") CurMin = Interval*Floor(CurMin/Interval) ' округляем минуты до "интервальных" for i from 1 to DayToFind TextData=fTextData(CurYear,CurMonth,CurDay) &"" TextTime=fTextTime(CurHour,CurMin) & "" if (CandleCount<CandleToFind) ' если нашли сколько нам надо свечей - гоняем пустой цикл Candle=GET_CANDLE(ClassCodeList,Instrument, "", Interval_day & "", "PRICE", TextData, "") Open=GET_VALUE (Candle, "Open")+0 if (Open>0) CandleCount=CandleCount+1 if (CandleCount>1) H=GET_VALUE (Candle, "High")+0 L=GET_VALUE (Candle, "Low")+0 C=GET_VALUE (Candle, "Close")+0 output=CREATE_MAP() output=SET_VALUE(output,"Date",TextData) output=SET_VALUE(output,"Time",TextTime) output=SET_VALUE(output,"Open",Open) output=SET_VALUE(output,"High",H) output=SET_VALUE(output,"Low",L) output=SET_VALUE(output,"Close",C) P = (H + L + C) / 3 R1 = 0+apply_scale(((2*P) - L),4) R2 = 0+apply_scale ((P + H - L),4) R3 = 0+apply_scale((H + 2*(P - L)),4) S1 = 0+apply_scale(((2*P) - H),4) S2 = 0+apply_scale((P - H + L),4) S3 = 0+apply_scale((L - 2*(H - P)),4) label_params=create_map() label_params=set_value(label_params,"TEXT", "R3 = "&R3) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 70) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Сопротивление 3") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "R2 = "&R2) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 71) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Сопротивление 2") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "R1 = "&R1) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 72) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Сопротивление 1") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "Pivot = "&P) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 73) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Pivot") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "S1 = "&S1) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 74) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Поддержка 1") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "S2 = "&S2) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 75) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Поддержка 2") id=ADD_LABEL("sberp_day", label_params) label_params=create_map() label_params=set_value(label_params,"TEXT", "S3 = "&S3) 'label_params=set_value(label_params,"IMAGE_PATH", "image.bmp") label_params=set_value(label_params,"ALIGNMENT", "RIGHT") label_params=set_value(label_params,"YVALUE", 76) label_params=set_value(label_params,"DATE", 20110525) label_params=set_value(label_params,"TIME", "") label_params=set_value(label_params,"R", 255) label_params=set_value(label_params,"G", 255) label_params=set_value(label_params,"B", 255) label_params=set_value(label_params,"TRANSPARENCY", 0) label_params=set_value(label_params,"FONT_FACE_NAME", "MS Sans Serif") label_params=set_value(label_params,"FONT_HEIGHT", 8) label_params=set_value(label_params,"HINT", "Поддержка 3") id=ADD_LABEL("sberp_day", label_params) ADD_ITEM(CandleCount,output) WRITELN(OutFile, TextData & "," & TextTime & "," & Open & "," & H & "," & L & "," & C) end if ' Return end if ' откат на "интервал" назад CurDay=CurDay-1 if curDay<1 CurDay=31 CurMonth=CurMonth-1 if CurMonth<1 CurMonth=12 CurYear=CurYear-1 if CurYear<0 message ("Не найдены котировки до рождества Христова! <img src="http://www.trade-bot.ru/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" class="wp-smiley"> ",1) end if end if end if end if end for ' функция перевода даты в текстовый формат func fTextData(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 fTextTime(Hour,Min,Sec) if (LEN(Hour) < 2) Hour = "0" & Hour end if if (LEN(Min) < 2) Min = "0" & Min end if result = Hour & Min & "00" end func END_PROGRAM PARAMETER Date; PARAMETER_TITLE Дата; PARAMETER_DESCRIPTION Дата; PARAMETER_TYPE STRING(30); END PARAMETER Time; PARAMETER_TITLE Время; PARAMETER_DESCRIPTION Время; PARAMETER_TYPE STRING(30); END PARAMETER Open; PARAMETER_TITLE Open; PARAMETER_DESCRIPTION Open; PARAMETER_TYPE NUMERIC(10,4); END PARAMETER High; PARAMETER_TITLE High; PARAMETER_DESCRIPTION High; PARAMETER_TYPE NUMERIC(10,4); END PARAMETER Low; PARAMETER_TITLE Low; PARAMETER_DESCRIPTION Low; PARAMETER_TYPE NUMERIC(10,4); END PARAMETER Close; PARAMETER_TITLE Close; PARAMETER_DESCRIPTION Close; PARAMETER_TYPE NUMERIC(10,4); END END_PORTFOLIO_EX